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

関連記事の目次

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください