Запутать потенциального взломщика скрывая версию используемого ПО на сервере — это хорошая практика. Поскольку зная версию, к примеру, web-сервера, злоумышленники могут воспользоваться актуальной уязвимостью этой версии.
Если хакер не владеетинформацией о версии программного обеспечения используемого на сервере, подбор уязвимости становится немного сложнее. На этой странице приведены примеры конфигурационных файлов сервера, которые отвечают за скрытие версии.
NGINX
Чтобы скрыть версию используемого сервера nginx, нужно добавить в конфигурационный файл
/etc/nginx/nginx.conf
Код: [Посмотреть]
server_tokens off;
Apache
Для скрытия версии Apache открываем
/etc/apache2/conf.d/security.conf
Код: [Посмотреть]
ServerTokens Prod
По-умолчанию, postfix не отображает свою версию в ответах при подключении. Но отображает, что используется именно он и установленную ОС на сервере (Debian, в нашем случае. Это можно скрыть.
Открываем
/etc/postfix/main.cf
Код: [Посмотреть]
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
Код: [Посмотреть]
mail_name = MailServer
root@localhost:~# telnet localhost 25
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 example.com ESMTP MailServer
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 example.com ESMTP MailServer
Received: by example.com (MailServer, from userid 1001)
Веб-сервер может в заголовках передавать используемую версию php.
X-Powered-By: PHP/5.6.19-0+deb8u1
Код: [Посмотреть]
expose_php = Off
- Отредактировать /etc/php5/*/php.ini
- В файле пула php-fpm: php_admin_value[expose_php] = "Off"
- В конфигурационном файле виртуального хоста apache: php_admin_value expose_php Off
MySQL
Что касается MySQL то здесь нет смысла скрывать версию. Однако стоит ограничить доступ к серверу извне, если Вам не нужны внешние подключения (для которых следует разрешить доступ только с конкретных IP). Поэтому в конфигурационном файле
/etc/mysql/my.cnf
Код: [Посмотреть]
bind-address = 127.0.0.1
За скрытие версии (и факта использования) отвечает параметр server.tag.
Можно указать вообще что-то другое:
Код: [Посмотреть]
server.tag = "FrontPage"
Следует помнить, что после изменений конфигурационных файлов на сервере каждый сервис следует перезапускать.