Допустим, что при вызове команды:
wget -S --spider http://example.com
В ответе видим следующее:
HTTP/1.1 200 OK Date: Wed, 19 Nov 2014 08:47:22 GMT Server: Apache/2.2.15 (CentOS) DAV/2 PHP/5.4.30 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips X-Powered-By: PHP/5.4.30
Задача: убрать информацию о версиях да и самих программах.
Как сделать:
в httpd.conf должно быть так:
ServerTokens ProductOnly ServerSignature Off
Перезапускаем apache, проверяем:
HTTP/1.1 200 OK Date: Wed, 19 Nov 2014 09:01:21 GMT Server: Apache X-Powered-By: PHP/5.4.30
Убираем X-Powered-By: PHP/5.4.30
В php.ini выключаем:
expose_php = off
А если вы хотите убрать и Server: Apache, то быстрый вариант такой:
Для CentOS:
установить Epel репозитарий, после чего:
# yum -y install mod_security
отредактировать файл /etc/httpd/conf.d/mod_security.conf , добавив, например, так (в контекст <IfModule mod_security2.c>):
ServerTokens Full SecServerSignature "MyServer"
Перезапускаем apache
Итоговый ответ:
HTTP/1.1 200 OK Date: Wed, 19 Nov 2014 10:04:52 GMT Server: MyServer
Примечание:
замеченно, что для версии apache 2.4.6-18 и mod_security 2.7.3-5 на CentOS 7 нужно директиву apache ServerTokens установить в значение Full