たった2行でできるWebサーバ防御の「心理戦」:セキュリティ対策の「ある視点」(1)(2/3 ページ)
高い壁を作るだけがセキュリティ対策ではない。攻撃者の心理を考え、彼らに選ばれないシステム作りも大きな効果が望めるのではないだろうか。本連載では視点を変え、攻撃者に選ばれないためにできる、ほんのちょっとした対策を取り上げる。(編集部)
まずは“対策”
対策(1)HTTPリプライヘッダの抑制方法
Apacheの設定ファイル(/usr/local/apache/conf/httpd.confなど)をエディタで開き、「ServerTokens」と書かれた行を探し、変更を加える。もし設定ファイル内に当該行が存在しない場合は、新たに追加する。この部分はデフォルトでは以下のようになっている。
ServerTokens Full
この状態では、すべての情報をHTTPリプライヘッダに含ませてしまうことになるのでオプションである「Full」と書かれている部分を
ServerTokens ProductOnly
と変更し、Apacheを再起動することで、以下のようにHTTPリプライヘッダには最小限の情報しか表示されないようになる。
C:\>nc www.target-example.jp 80 Webサーバへ接続
HEAD / HTTP/1.0 HEADリクエストを送信
HTTP/1.1 200 OK サーバの応答(HTTPリプライヘッダ)
Date: Fri, 29 Jun 2007 18:18:18 GMT
Server: Apache Serverフィールド
Last-Modified: Thu, 27 Jul 2006 09:44:28 GMT
ETag: "xxxxx-xxx-xxxxxxxx"
Accept-Ranges: bytes
Content-Length: 1737
Connection: close
Content-Type: text/html
また、ServerTokensでは「Full」「ProductOnly」以外にも設定可能なオプションがある。設定オプションとその効果については以下のとおりである。
([]内の文字列は省略可能)
- Prod[uctOnly]
「Server:Apache」とApacheであるということのみを表示 - Min[imal]
「Server:Apache/1.3.37」のようにApacheのバージョンまでを表示 - OS
「Server:Apache/1.3.37(Unix)」のようにApacheのバージョン情報に加えOS情報まで表示 - Full(デフォルト)
「Server:Apache/1.3.37(Unix) PHP/4.3.9」のようにApacheのバージョン、OS情報に加え、モジュール情報を表示
対策(2)エラーページのフッタの抑制方法
こちらの抑制についても、対策(1)同様、Apacheの設定ファイル(/usr/local/apache/conf/httpd.confなど)に変更を加えることで対策を行う。
設定ファイルをエディタで開き、「ServerSignature」と書かれた行を探し変更を加える。設定ファイル内に当該行が存在しない場合は、新たに追加する。デフォルトでは以下のようになっている。
ServerSignature On
この状態では、先ほど紹介したようにフッタ内にバナー情報が含まれることとなる。
よって、ServerSignatureのオプションである「On」を変更し以下のようにする。
ServerSignature Off
そして、Apacheを再起動することで、フッタ内からバナー情報が削除される。
Copyright © ITmedia, Inc. All Rights Reserved.