Ukrywanie wersji oprogramowania używanego na serwerze jest dobrą praktyką, aby zmylić potencjalnych hakerów. W końcu, znając wersję, na przykład serwer internetowy, możesz spróbować wykorzystać lukę, która jest istotna dla tej wersji.
A jeśli haker nie wie, która wersja oprogramowania jest używana na serwerze, wybór tej luki staje się nieco trudniejszy. Ta strona przedstawia parametry niektórych aplikacji, które pozwalają ukryć wersję, a nawet fakt korzystania z samej usługi.
Treść artykułu:
- NGINX 1 NGINX
- Apache 2 apache
- Postfix 3 postfiksy
- PHP 4 PHP
- MySQL 5 mysql
- Lighttpd 6 Lighttpd
- Примечания 7 notatek
Nginx
Aby ukryć wersję używanego serwera nginx, dodaj następujący wiersz do pliku konfiguracyjnego /etc/nginx/nginx.conf :
server_tokens off;
Możesz także zmienić nagłówek wysłany przez serwer.
Apache
Aby ukryć wersję Apache, otwórz plik /etc/apache2/conf.d/security.conf i ustaw tam parametr:
ServerTokens Prod
Postfix
Domyślnie postfix nie wyświetla swojej wersji w odpowiedziach podczas łączenia. Ale pokazuje, że jest używany dokładnie i zainstalowany system operacyjny na serwerze (Debian, w naszym przypadku :). Może być ukryty.
Otwórz plik /etc/postfix/main.cf , usuń z parametru smtpd_banner (Debian / GNU).
smtpd_banner = $ myhostname ESMTP $ mail_name (Debian / GNU)
Następnie wpisujemy parametr:
mail_name = MailServer
Po ponownym uruchomieniu Postfixa, gdy połączą się z serwerem, klienci zobaczą coś takiego.
root @ localhost: ~ # telnet localhost 25 Próbuję :: 1 ... Próbuję 127.0.0.1 ... Połączony z localhost. Escape to "^]". 220 example.com ESMTP MailServer
I w literach będzie wyświetlany taki nagłówek:
Otrzymano: przez example.com (MailServer, od userid 1001)
Php
Serwer sieciowy może przesłać wersję php używaną w nagłówkach.
X-Powered-By: PHP / 5.6.19-0 + deb8u1
Parametr odpowiada za ukrycie:
expose_php = Off
Możesz zainstalować go na kilka sposobów:
- Edytuj plik /etc/php5/*/php.ini
- W pliku puli php-fpm:
php_admin_value[expose_php] = "Off"
- W pliku konfiguracyjnym apache wirtualnego hosta:
php_admin_value expose_php Off
Mysql
Ogólnie rzecz biorąc, w odniesieniu do MySQL, nie ma sensu ukrywać wersji. Powinieneś jednak ograniczyć dostęp do niego z zewnątrz, jeśli nie potrzebujesz zewnętrznych połączeń (dla których powinieneś zezwolić na dostęp tylko z określonego IP). Dlatego w pliku konfiguracyjnym /etc/mysql/my.cnf zmieniamy parametr:
bind-address = 127.0.0.1
Lighttpd
Tutaj także nic skomplikowanego. Za ukrycie wersji (i faktu użycia) odpowiedzialny jest server.tag. Możesz podać coś zupełnie innego:
server.tag = "FrontPage"
Uwagi
Należy pamiętać, że po zmianie plików konfiguracyjnych każda usługa powinna zostać uruchomiona ponownie. ;)
Przestrzegaj też zasady "Nie czatuj".