Это заметка в которой рассматриваются несколько интересных моментов защиты веб-сервера с помощью скрытия версий ПО.
Засекретим версию php
Для этого в файле /usr/local/etc/php.ini выставим параметр expose_php = Off
После этого перезапускаем httpd (Apache)
Запрет вывода версии Apache
Для этого в файле /usr/local/etc/apache22/extra/httpd-default.conf выставим параметр на ServerSignature Off
Или изменяем в конфиге значения:
ServerTokens Prod Server: Apache
ServerTokens Major Server: Apache/2
ServerTokens Minor Server: Apache/2.0
ServerTokens Minimal Server: Apache/2.0.55
ServerTokens Os Server: Apache/2.0.55 (Ubuntu)
ServerTokens Full Server: Apache/2.0.55 (Ubuntu) PHP/5.1.4-1.dotdeb.2 my_mod1/X.Y my_mod2/W.Z
и еще версию
ServerSignature On Apache/2.0.59 (Ubuntu) PHP/4.3.10 Server at 127.0.0.2 Port 80
ServerSignature Off
ServerSignature Email
Apache/2.0.59 (Ubuntu) PHP/4.3.10 Server at 127.0.0.2 Port 80
Скрываем версию nginx
Для этого в файле /usr/local/etc/nginx/nginx.conf перед client_max_body_size добавляем параметр server_tokens off;
Пример:
...
keepalive_timeout 30;
send_timeout 900;
server_tokens off;
server {
listen 80;
server_name _;
...
После этого нужно перезапустить nginx.
Заметка: варианты подключение бинарника php бывают следующих видов:
Как CGI
Action php-script /cgi-bin/php
AddHandler php-script .php
Как модуля Apache:
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php
Делаем выполняемыми только файлы с расширением .php
Для этого в файле /usr/local/etc/apache22/httpd.conf замените значение для AddType application/x-httpd-php, например у Вас так:
AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
сделайте так:
AddType application/x-httpd-php .php
перезапустите Apache, готово.