・HTTP TRACEメソッドを無効にする
なんだそりゃって感じだが、このTRACEメソッドが有効だと、
いろいろと漏れたらまずい情報が抜き出される恐れがある。…らしい。
具体的には、クロスサイトスクリプティング(XSS)とTRACEメソッドを組み合わせると、
Basic認証とかの情報を抜き出すことが可能なのだ。…らしい。
TRACEメソッドというのはHTTPメソッドの8桀、
・GET
・POST
・HEAD
・PUT
・DELETE
・OPTIONS
・TRACE
・CONNECT
の一つなのだ!…らしい。
GETとPOST以外初めて知ったぜ!
TRACEメソッドは送られてきたHTTPリクエストをそのまま返してしまうらしく、
XSSと組みわせて使われると危険なのだそうな。
まずは、TRACEメソッドが有効か確認してみる。
※自分で打つ文字は黒、打ち込まない文字はグレー
$ telnet localhost 80
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
TRACE / HTTP/1.0
HOST: TRACE_TEST
(return二回)
HTTP/1.1 405 Method Not Allowed
Date: Fri, 11 Mar 2016 04:12:47 GMT
Server: Apache
Allow:
Content-Length: 223
Connection: close
Content-Type: text/html; charset=iso-8859-1
405 Method Not Allowed
Method Not Allowed
The requested method TRACE is not allowed for the URL /. Connection closed by foreign host.
するとこんな感じでエラーが出る…エラー?
どうやら、最近は初期設定で無効になっているようだ。
試しに、/etc/apache2/の中にある設定も見てみる。
$ cd /etc/apache2/conf-available/
$ sudo vim security.conf
下記の記述があるところで、
# Allow TRACE method
#
# Set to “extended” to also reflect the request body (only for testing and
# diagnostic purposes).
#
# Set to one of: On | Off | extended
TraceEnable Off
#TraceEnable On
となっていたら設定の必要はなし。
実のところ今となってはそんなに怖くない…らしい。
大多数はブラウザ側で規制されているからだ。…らしい。
実はそんなに怖くないTRACEメソッド
参考:http://blog.tokumaru.org/2013/01/TRACE-method-is-not-so-dangerous-in-fact.html