何も設定せずに、Apacheをインストールして、Webサーバを公開している状態だと、
HTTPヘッダ内に、自分が使っているサーバ情報(ApacheのバージョンやOSの種類など)が外部に公開されています。
しかし、こういった情報が公開されていると、
脆弱性をつかれる要因になりかねません。
今回は、上記のサーバ情報に加えて、PHPのバージョンの非表示方法も紹介します。
ちなみに、実施環境はCentos7.1 Apache2.4.6 PHP 7.0
HTTP SERVER (OS・Webサーバのバージョン等)
httpd.confを以下の記載に変更します。(なければ追記)
1 |
ServerTokens Prod |
X-Powered-By (PHPのバージョン等)
yumで入れた場合は、以下のディレクトリになりますが、
php.iniのパスは、ご自身の環境に読み替えてください。
1 |
vi /etc/php.ini |
そして、以下の通りexpose_phpをOffにしましょう。
1 |
expose_php = Off |
あとはApache再起動で反映完了です。
1 2 |
apachectl configtest apachectl graceful |
HTTPのヘッダを見てみると
Server: Apache
となっており、ApacheのバージョンやOSの情報が消えています。
また、X-Powered-By: PHP/x.x.xと表示されていた部分が消えています。