はじめに
Apache では、デフォルトで Trace メソッドが有効になっています。
Web アプリケーションにクロスサイトスクリプティングの脆弱性がある場合に、Web サーバーで Trace メソッドが有効になっていると、クロスサイトトレーシングという脆弱性が発生する可能性があります。
クロスサイトトレーシングの脆弱性があると、暗号化されていない Basic 認証の ID やパスワード、Cookie の情報などが漏洩する可能性があります。
そのため、保険的な対策として、Trace メソッドは無効にすることが推奨されます。
Trace メソッドの動作確認
OWASP ZAP のマニュアルリクエスト機能で、Trace メソッドで Apache にリクエストを送信してみます。
リクエストヘッダーは以下のようになります。
TRACE http://192.168.11.10/ HTTP/1.0 Host: 192.168.11.10 Content-length: 0
レスポンスヘッダーは以下のようになっているので、Trace メソッドが有効なことが分かります。
HTTP/1.1 200 OK Date: Fri, 17 Jan 2014 17:34:40 GMT Server: Apache Connection: close Content-Type: message/http
Trace メソッドを無効にする
Trace メソッドを無効にするには、以下のファイルを編集します。
# vi /etc/httpd/conf/httpd.conf
ファイルの最終行あたりに、以下の内容を追加します。
TraceEnable off
Apache を再起動して設定を有効にします。
# service httpd restart
Trace メソッドの動作再確認
リクエストヘッダーは以下のようになります。
TRACE http://192.168.11.10/ HTTP/1.0 Host: 192.168.11.10 Content-length: 0
レスポンスヘッダーは以下のようになるため、Trace メソッドが無効になっていることが分かります。
HTTP/1.1 405 Method Not Allowed Date: Fri, 17 Jan 2014 18:04:29 GMT Server: Apache X-Frame-Options: DENY Allow: Content-Length: 223 Connection: close Content-Type: text/html; charset=iso-8859-1
コメント