После установки вэб-сервера Apache обнаружил, что он готов рассказать всю поднаготную о себе всему интернету. Вот так примерно выглядит ответ по умолчанию:
ADVERTISEMENT
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