Скрыть версию Apache, PHP, ProFTPD
После установки вэб-сервера Apache обнаружил, что он готов рассказать всю поднаготную о себе всему интернету. Это конечно не критично, но все-таки неприятно.
HTTP/1.1 200 OK
Date: Sun, 14 Aug 2011 18:17:13 GMT
Server: Apache/2.2.19 (FreeBSD) mod_ssl/2.2.19 OpenSSL/1.0.0d DAV/2 PHP/5.2.17 with Suhosin-Patch
X-Powered-By: PHP/5.2.17
Set-Cookie: SESS8eb77e830827d2cfa7a52b67efae6681=3ed9aa6754d5696c0e425f7a0502be0e;
expires=Tue, 06-Sep-2011 21:50:33 GMT;
path=/;
domain=blablabla.ru
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Last-Modified: Sun, 14 Aug 2011 18:17:13 GMT
Cache-Control: store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Transfer-Encoding: chunked Content-Type:
text/html; charset=utf-8
Здесь есть все, номер версии, модели и патчи, операционная система, ну совсем некрасиво с точки зрения безопасности.
Исправляется это очень просто, редактируем файл httpd.conf:
ee /usr/local/etc/httpd.conf
и добавляем:
ServerTokens Prod
ServerSignature Off
При этом не забыв проверить, что выключено дополнение (перед строкой стоит знак#) -
#Include etc/apache22/extra/httpd-default.conf
Возможные значения директив:
Значение директивы | Значение заголовка Server |
ServerTokens Prod | Server: Apache |
ServerTokens Major | Server: Apache/2 |
ServerTokens Minor | Server: Apache/2.2 |
ServerTokens Os | Server: Apache/2.2.19 (FreeBSD) |
ServerTokens Full | Server: Apache/2.2.19 (FreeBSD) mod_ssl/2.2.19OpenSSL/1.0.0d DAV/2 PHP/5.2.17 with Suhosin-Patch |
Для сокрытия версии PHP, редактируем файл php.ini
ee /usr/local/etc/php.ini
Ищем строку expose_php и меняем ее на:
expose_php=Off
И не забываем перезапустить Апач:
/usr/local/etc/rc.d/apache22 restart
В итоге ответ от сервера имеет вид:
HTTP/1.1 200 OK
Date: Mon, 15 Aug 2011 10:21:12 GMT
Server: Apache
Set-Cookie: SESS8eb77e830827d2cfa7a52b67efae6681=ca83064a0e9e083018be5e9e6aad992b;
expires=Wed, 07-Sep-2011 13:54:32 GMT; path=/;
domain=.blablabla.ru
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Last-Modified: Mon, 15 Aug 2011 10:21:12 GMT
Cache-Control: store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Transfer-Encoding: chunked
Content-Type: text/html; charset=utf-8
Этого мы и добивались.
Теперь, что касется ProFTPD, редактируем конфиг:
ee /usr/local/etc/proftpd.conf
и включаем опцию:
ServerIdent Off
На этом пожалуй и все. Удачи!