設定
身元を隠す
ServerSignature Off ServerTokens ProductOnly
Options の Indexes は削除。
Cross-site tracing attack 対策
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F] </IfModule>
SSLProtocol の SSLv2 と 暗号スペックの 40bit と 56bit を禁止
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP:-eNULL
ciphers は、「openssl ciphers -v 'ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP:-eNULL'」で確認可能
その後
Trace メソッドは、下記でも拒否する事が可能
TraceEnable Off
mod_rewrite をインストールする必要がない。
Apache 1.3.34 と 2.0.55 以降からの対応となる為、それ以前では、下記のように対応する
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_METHOD} ^TRACE RewriteRule .* - [F] </IfModule>
TRACK メソッドは IIS のみ対応が必要であり、Apache には関係がない。(RFC-2616 参照の事)
確認方法
$ telnet d.hatena.ne.jp 80 Trying 221.186.129.146... Connected to d.hatena.ne.jp. Escape character is '^]'. OPTIONS / HTTP/1.0 HTTP/1.1 200 OK Date: Tue, 04 Jul 2006 04:01:41 GMT Server: Apache/2.0.40 (Red Hat Linux) Allow: GET,HEAD,POST,OPTIONS,TRACE Content-Length: 0 Connection: close Content-Type: text/html Connection closed by foreign host.
この例では、TRACE が有効になってる(w;
追記(2007/02/06)
Basic 認証を使わないのであれば、TRACE は有効にして問題ない。
TRACE の話がメインではないが、TRACE に関して
高木浩光@自宅の日記 - 暗黙的に形成する事実標準の話と回避策の話を混同してはいけない, 駄目な技術文書の見分け方 その1の2
こちらが非常に詳しい(経緯付きで解りやすい)。