Для большей безопасности нужно скрыть всевозможную информацию о программном обеспечении, которое работает на сервере. Любой подбирающий эксплоиты к известным версиям ПО будет искать именно нужную версию подходящую под существующие дыры. Эту задачу можно усложнить скрыв такую информацию на своем сервере.К примеру нам необходимо убрать версию Apache и Nginx выдаваемую в заголовках и убрать надпись, которая показывает присутствие PHP.
Рассмотрим пример:
[root@artkiev.com]# curl -I artkiev.com
HTTP/1.1 200 OK
Server: nginx/1.2.4
или
Server: Apache/2.2.22
Date: Sun, 01 Jun 2014 17:51:20 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
X-Powered-By: PHP/5.3.14
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=48ve1esnjsbhn2v7np3pcn4; path=/
Скрываем версию Apache
В httpd.conf вносим:
ServerTokens ProductOnly
ServerSignature Off
Скрываем версию nginx
В nginx.conf вносим:
server_tokens off
Скрываем информацию о PHP
В php.ini вносим:
expose_php = Off
После этого перезапускаем Apache и nginx и смотрим результат:
[root@artkiev.com]# curl -I artkiev.com
HTTP/1.1 200 OK
Server: nginx
или
Server: Apache
Date: Sun, 01 Jun 2014 17:59:41 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=48ve1esnjsbhn2v7np3pcn4; path=/