apacheとphpのバージョン隠匿 2009 年 6 月 21 日

稼働中のサーバーでエラーが出てるよと報告を受けたので、
ファイヤーフォックスのLive http headersプラグインで確認したところ、apacheとphp のバージョンが表示されてるじゃ〜あ〜りませんか。
サーバ構築時の最低限設定しなければいけないことなのに、漏れていてショック。。

PHP
Server: Apache/2.2.3 (CentOS)
X-Powered-By: PHP/5.2.9

まずはApacheのバージョン番号を隠匿するため、
/etc/httpd/conf/httpd.confを修正

PHP
vim /etc/httpd/conf/httpd.conf
ServerSignature On
↓
ServerSignature Off

次にphpのバージョン隠匿。
php.iniがどこにあるかを確認
1.バージョンを確認

PHP
HEAD http://localhost | grep ^X
X-Powered-By: PHP/5.2.9

2.php.iniの場所を確認(※編集前にバックアップを必ず取ろう)

PHP
php -i | grep php.ini
Configuration File (php.ini) Path => /usr/local/php
cp /usr/local/php/php.ini /usr/local/php/php.ini_bk20090621

3.バージョン隠匿設定

PHP
vim /usr/local/php/php.ini
expose_php = On
↓
expose_php = Off

4.再起動&確認

PHP
/etc/rc.d/init.d/httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

HEAD http://localhost | grep ^X
←何も表示されない

参考URL
http://blog.hansode.org/archives/51839891.html

関連する記事:

Leave a Reply