セキュリティを気にしたApacheの設定(バージョン非表示)

Apacheで少なくても気にしてほしいセキュリティ対策につきまして記載いたします。

ヘッダー情報やエラーページ情報からApacheやphpのバージョン等が特定されてしまい、そのバージョンのセキュリティホールをついた攻撃を受ける可能性があります。そのバージョン情報を第三者から特定できないように対策して下さい。

まず現状のサーバ情報をコマンドから確認を行います。

> telnet (サーバホスト名) 80

HEAD / HTTP/1.0[Enter]
HTTP/1.1 200 OK
Date: Sun, 13 Jul 2008 07:39:25 GMT
Server: Apache/2.0.59
X-Powered-By: PHP/4.4.8
Connection: close
Content-Type: text/html; charset=Shift_JIS

※[Enter]はエンターキーを押すことです。

上記はApacheのバージョン、PHPのバージョンが表示されています。そこで上記のバージョン情報を消すためには以下の設定を行います。

php.iniファイル(phpの設定ファイル)の設定を以下のように変更します。

expose_php=On →  expose_php=Off

httpd.confファイル(Apacheの設定ファイル)の設定を以下のように変更します。

ServerTokens OS →  ServerTokens ProductOnly

またエラーページが表示されるとApacheのバージョンが表示されてしまうので以下のように追加します。

ServerSignature Off

以上でApacheを再起動して再度telnetコマンドで確認を行ってください。以下のようにApache,phpのバージョン情報は表示されなくなりました。 

> telnet (サーバホスト名) 80

HEAD / HTTP/1.0[Enter]
HTTP/1.1 200 OK
Date: Sun, 13 Jul 2008 07:39:25 GMT
Server: Apache

Connection: close
Content-Type: text/html; charset=Shift_JIS

[Apache] [php] [セキュリティ] [設定]

投稿日:08年07月13日 16:30:54

トラックバックURL

コメントする

名前

メールアドレス

URL

コメント (HTMLは使えません)