PHPのバージョン情報とApacheの設定

OS、各種サービスのバージョンが分かるとどのような脆弱性があるか推測されてしまうためセキュリティ上できるだけ表示を抑制することが推奨されます。PHPのバージョン情報の表示を抑制する方法を確認しました。

PHPのバージョン情報の表示を抑制する設定方法


 
/etc/php.iniファイル内で下記設定をします。
 
expose_php = Off
 
この設定がOnになっているとPHPのバージョン情報がHTTPのヘッダに含まれてしまいます。
 

動作確認


 
①Apacheの”ServerTokens”の設定が”Full”で”expose_php”がONの場合
 
# telnet localhost 80
GET / HTTP/1.1
 
HTTP/1.1 400 Bad Request
Date: Tue, 17 Dec 2013 03:39:31 GMT
Server: Apache/2.2.15 (CentOS) DAV/2 Phusion_Passenger/4.0.27 PHP/5.3.3

 
上記のように、HTTPのヘッダに”PHP/5.3.3″が表示されています。
 
 
②Apacheの”ServerTokens”の設定が”Full”で”expose_php”がOffの場合
 
# telnet localhost 80
GET / HTTP/1.1
 
HTTP/1.1 400 Bad Request
Date: Tue, 17 Dec 2013 03:40:28 GMT
Server: Apache/2.2.15 (CentOS) DAV/2 Phusion_Passenger/4.0.27

 
上記のように、HTTPのヘッダにPHPのバージョンが表示されなくなりました。
 
③Apacheの設定でPHPの情報を抑制する。 
 
Apacheの”ServerTokens”の設定が”Prod”に設定されていれば下記のように”Apache”とだけ表示させることが出来ます。
 
# telnet localhost 80
GET / HTTP/1.1
 
HTTP/1.1 400 Bad Request
Date: Tue, 17 Dec 2013 03:41:25 GMT
Server: Apache

 

PHPで開発時のみOnにする設定


 
開発終了後にも下記設定がOnのままになっていないか注意します。
 
display_errors = Off
track_errors = Off
html_errors = Off

関連記事の目次

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です