GUARDIANWALL、WEBGUARDIAN の管理サーバ、検査サーバに対して
不正なURLでアクセスされると、
OS 上に存在するユーザー名を確認できてしまう場合がある注意事項が確認されました。
詳細につきましては、以下をご参照いただけますようお願いいたします。
1 内容
Internet Explorer 等のウェブブラウザーで、
不正な URL (ウェブサーバ上に存在しないディレクトリパス) にアクセスした場合、
通常は「HTTP404(未検出)」のエラー応答が表示されます。
しかし、以下【URL例】のように「/~<ユーザー名>/」を URL 末尾に付与したアドレスにて管理サーバ、
検査サーバにアクセスすると、そのユーザーが当該サーバのOS上に存在する場合に
「HTTP403(アクセス不可)」と表示されることがあります。
このため、URL 末尾の「/~<ユーザー名>/」を任意の文字列に変更してアクセスすることにより、
OS に登録されているユーザーの有無を確認できてしまう問題があります。
※「ユーザー」とは、/etc/passwd ファイルに記載のユーザーや、
参照先として設定しているデータベース (NIS、LDAP等) に登録されているユーザーです。
【URL例】
- http://<管理サーバIPアドレス>:8080/~root/
- http://<管理サーバIPアドレス>:8080/~grdndb/
- http://<検査サーバIPアドレス>:8080/~root/
- http://<管理サーバIPアドレス>:8800/~root/
- http://<管理サーバIPアドレス>:8800/~grdndb/
※ポート番号8080は、管理画面および管理サーバ・検査サーバ間の HTTP 通信に使用されます。
ポート番号8800は、WEBGUARDIAN V3.4 以降のプロキシー独自認証機能、
GUARDIANWALL V7.4 の一時保留メール管理画面ログイン機能に使用されます。
これらのポート番号は設定により変更が可能です。
【画面表示例】
(a) http://<管理サーバIPアドレス>:8080/~grdndb/ にアクセスした場合の画面表示
→“HTTP403(アクセス不可)”から、管理サーバ上にユーザーアカウント「grdndb」が存在することが確認できます。
(b) http://<管理サーバIPアドレス>:8080/~testuser/ にアクセスした場合の画面表示
→“HTTP404(未検出)”から、管理サーバ上にユーザーアカウント「testuser」が存在しないことが確認できます。
なお、該当ユーザーのホームディレクトリの権限設定などの条件によっては、
指定ユーザーが存在する場合でも「HTTP403(アクセス不可)」と表示されないケースもございます。
<原因>
GUARDIANWALL、WEBGUARDIAN のウェブサーバは、Apache を使用して構成しております。
Apache が提供するユーザーディレクトリの公開機能(モジュール名:mod_userdir)
がデフォルトで有効となっているため、上記の動作となります。
2 回避策
各サーバのコマンドラインから、httpd.conf ファイルにユーザーディレクトリ公開機能を無効とする設定を追加し
Apache のサービスを再起動することで、本脆弱性を抑制することが可能です。
設定ファイルのパスおよび再起動コマンドは、製品バージョンやサーバ種別によって異なります。
<設定ファイル>
(1) |
/opt/MailGuardian/Wall/httpd/conf/httpd.conf
→GUARDIANWALL V5.0 に存在します。
|
(2) |
/opt/Guardian/Admin/httpd/conf/httpd.conf
→GUARDIANWALL V6.0~7.4 および WEBGUARDIAN V3.0~3.6 の管理サーバと検査サーバに存在します。
|
(3) |
/opt/Guardian/Admin/public/conf/httpd.conf
→GUARDIANWALL V7.4 および WEBGUARDIAN V3.4~3.6 の管理サーバに存在します。
|
<追加する設定>
上記の各 httpd.conf ファイルの最後に、以下の3行を追加します。
<IfModule mod_userdir.c>
UserDir disabled
</IfModule>
<Apache のサービス再起動>
設定ファイルの編集を行ったサーバのコマンドラインから、以下を実行します。
上記の設定ファイル (1) を編集した場合
# /opt/MailGuardian/Wall/httpd/bin/apachectl restart
上記の設定ファイル (2) を編集した場合
# /opt/Guardian/Admin/httpd/bin/apachectl restart
上記の設定ファイル (3) を編集した場合
# /opt/Guardian/Admin/public/bin/apachectl restart
本回避策により、OS 上に存在するユーザー名を付与した URL にアクセスした場合でも、
「HTTP404(未検出)」を応答する動作となります。
なお、今後 GUARDIANWALL V7.4、WEBGUARDIAN V3.6 向けに本脆弱性を修正するパッチを提供する予定です。