先日Apacheの脆弱性チェックで指摘された設定を無効化した際に、設定変更が本当に適用されているのか確認する方法が分からなかったので調べました。 なんか、まぁ、今更なヤツですがここにもメモしておこうと思います。
TRACE TRACKメソッドの無効化
まず設定変更ですが vi などのテキストエディタでApacheの設定ファイル(例:/etc/httpd/conf/httpd.conf )を編集して下記の設定(TraceEnable)を無効(off)にします。有効(on)の場合は無効(off)に、設定が存在しない場合は、設定ファイルに下記を追記します。
TraceEnable off
次にApacheを再起動して設定変更を反映します。
> service httpd restart
これで設定が反映されました。
ここまでは手順書に書いてあったんだけどね…^^;
無効化の確認方法
さて、ここからが今回の本題。
以下の手順でTRACE TRACKメソッドが無効化したことを確認します。
まず必要に応じてtelnetをインストールします。(※未インストールの場合のみ)
以下のコマンドで設定変更したApacheへ接続して無効化を確認します。
-------------------------------
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
-------------------------------
ここで入力待ち状態になるので以下のように入力します。
-------------------------------
OPTIONS / HTTP/1.1(Enterキー)
host: localhost(Enterキー)
(Enterキー)
-------------------------------
※各行を入力したら(Enterキー)を押して改行することに注意してください!
私はこの無知により15分くらいハマりました。
続いて下記のように表示されます。
-------------------------------
HTTP/1.1 200 OK
Date: Mon, 22 Aug 2016 18:48:12 GMT
Allow: GET, HEAD, POST, PUT, DELETE, OPTIONS ← ココに TRACE がない!
Content-Length: 0
Connection: close
Content-Type: text/plain; charset=UTF-8
Connection closed by foreign host.
-------------------------------
上記の許可メソッド一覧(Allow:の部分)に TRACE メソッドが表示されません。
これで設定変更が適用されたことが確認できました。
<参考URL>
http://www.rem-system.com/apache-security01/#http_TRACE
http://www.tohoho-web.com/lng/199909/99090233.htm
http://d.hatena.ne.jp/end0tknr/20131127/1385518307