Skip to main content

Як приховати версію серверних додатків



Приховувати версію використовуваного програмного забезпечення на сервері - хороша практика, що дозволяє заплутати потенційних зломщиків. Адже знаючи версію, наприклад, web-сервера, можна спробувати скористатися актуальною для цієї версії вразливістю.

А якщо хакер не знає, яка версія ПЗ використовується на сервері, підбір уразливості стає трішки складніше. На цій сторінці представлені параметри деяких додатків, що дозволяють приховати версію і навіть факт використання самого сервісу.



Зміст статті:

NGINX

Щоб приховати версію використовуваного сервера nginx, потрібно додати в конфігураційний файл /etc/nginx/nginx.conf рядок:

  server_tokens off; 

Також можна змінити заголовок , який надсилав сервером.

Apache

Щоб приховати версії Apache відкриваємо файл /etc/apache2/conf.d/security.conf і прописуємо там параметр:


  ServerTokens Prod 

Postfix

За замовчуванням, postfix не відображує свою версію у відповідях при підключенні. Але відображає, що використовується саме він і встановлену ОС на сервері (Debian, в нашому випадку :). Це можна приховати.

Відкриваємо файл /etc/postfix/main.cf, з параметра smtpd_banner видаляємо (Debian / GNU).

  smtpd_banner = $ myhostname ESMTP $ mail_name (Debian / GNU) 

Потім прописуємо параметр:


  mail_name = MailServer 

Після перезапуску Postfix при підключенні до сервера клієнти будуть бачити щось на зразок цього.

  root @ localhost: ~ # telnet localhost 25
 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 1 001) 

PHP

Веб-сервер може в заголовках передавати використовувану версію php.

X-Powered-By: PHP / 5.6.19-0 + deb8u1

За її приховування відповідає параметр:

  expose_php = Off 

Встановити його можна кількома шляхами:

  1. Відредагувати файл /etc/php5/*/php.ini
  2. У файлі пулу php-fpm: php_admin_value[expose_php] = "Off"
  3. У файлі конфігурації віртуального хоста apache: php_admin_value expose_php Off

MySQL

Взагалі, щодо MySQL немає сенсу приховувати версію. Але слід обмежити доступ до нього ззовні, якщо вам не потрібні зовнішні підключення (для яких слід дозволити доступ тільки з конкретних IP). Тому в файлі конфігурації /etc/mysql/my.cnf змінюємо параметр:

  bind-address = 127.0.0.1 

Lighttpd

Тут теж нічого складного немає. За приховування версії (і факту використання) відповідає параметр server.tag. Можна вказати взагалі щось інше:

  server.tag = "FrontPage" 

Примітки

Слід пам'ятати, що після змін конфігураційних файлів кожен сервіс слід перезапускати. ;)

А також дотримуватися правила «Не базікай».



Як ви оціните статтю?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (Поки оцінок немає)
Завантаження ...

Додати коментар

Ваш e-mail не буде опублікований.