FreeBSD

Скрыть версию 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

Оставить комментарий