Maskowanie tożsamości serwera
Jedną z technik, która często pomaga spowolnić i dezorientować atakujących, jest zmiana tożsamości serwera WWW. Serwery sieciowe zazwyczaj wysyłają swoją tożsamość przy każdej odpowiedzi HTTP w nagłówku serwera. Apache jest tu szczególnie pomocny, domyślnie nie tylko wysyła swoją nazwę i pełną wersję, ale pozwala również modułom serwera na dołączanie ich wersji.
Aby zmienić tożsamość serwera WWW Apache, musisz przejść do kodu źródłowego, znaleźć gdzie na stałe zapisana jest nazwa „Apache”, zmienić go i ponownie skompilować serwer. Ten sam efekt można uzyskać za pomocą
Dyrektywa SecServerSignature:
SecServerSignature "Microsoft-IIS/5.0"
Należy zauważyć, że chociaż działa to całkiem dobrze, wykwalifikowani napastnicy (i narzędzia) mogą użyć innych technik do „odcisku palca” serwera WWW. Na przykład pliki domyślne, komunikat o błędzie, kolejność wychodzących nagłówków, sposób, w jaki serwer odpowiada na określone żądania itp. - mogą ujawnić prawdziwą tożsamość. W przyszłych wydaniach mod_security zajmę się dalszym ulepszaniem obsługi maskowania tożsamości.
Jeśli zmienisz podpis Apache, ale denerwuje Cię dziwny komunikat w dzienniku błędów (niektóre moduły są nadal widoczne - wpływa to tylko na dziennik błędów, ale z zewnątrz nadal działa zgodnie z oczekiwaniami):
[Fri Jun 11 04:02:28 2004] [notice]
Microsoft-IIS/5.0 mod_ssl/2.8.12
OpenSSL/0.9.6b \ configured --
resuming normal operations
Następnie powinieneś ponownie ustawić kolejność ładowania modułów, aby pozwolić mod_security na ostatnie działanie, dokładnie tak, jak wyjaśniono dla chrootowania.
Uwaga
Aby ta dyrektywa działała, musisz pozostawić / ustawić ServerTokens na Full.
Gdy dyrektywa SecServerSignature zostanie użyta do zmiany podpisu serwera publicznego, ModSecurity rozpocznie zapisywanie prawdziwego podpisu w dzienniku błędów, aby umożliwić identyfikację serwera WWW i używanych modułów.
Jeśli ustawisz
ServerTokens
„Prod
”, możesz zmniejszyć nagłówek do „Server: Apache
”. Pełna lista opcji znajduje się w dokumentacji:Dokumentacja dla Apache 2.2
Dokumentacja dla Apache 2.4
Uwaga: ustawienia są takie same w obu wersjach, jednak dokumentacja 2.4 dodaje tę notatkę:
Jeśli chcesz całkowicie usunąć słowo „Apache”, musisz zmodyfikować źródło.
źródło