Kiedyś przeczytałem artykuł, w którym powiedziano, że możesz ukryć fakt używania nginx na serwerze. Aby to zrobić, musisz edytować kod źródłowy modułu ngx_http_header_filter_module i zmienić linie
static char ngx_http_server_string [] = "Serwer: nginx" CRLF; static char ngx_http_server_full_string [] = "Serwer:" NGINX_VER CRLF;
Ale aby odbudować nginx ze źródła, musisz mieć trochę wiedzy.
Istnieje jednak prostsza metoda, która nie wymaga żadnych specjalnych działań, takich jak edycja kodów źródłowych i rekompilacja.
Aby to zrobić, musimy zainstalować pakiet nginx-extras z repozytorium Debiana. Ten pakiet zawiera moduł HttpHeadersMore .
# aptitude install nginx-extras
Jeśli masz już zainstalowany nginx-full, aptitude zaproponuje usunięcie tego pakietu, ponieważ nie można go używać z dodatkami.
Po zainstalowaniu pakietu otwórz plik /etc/nginx/nginx.conf iw sekcji http wpisz wiersz:
more_set_headers "Serwer: Apache";
W tym samym miejscu nie zapominamy o tym (na wszelki wypadek, jeśli wcześniej tego nie robiłeś):
server_tokens off;
I ponownie uruchom nginx. Zamiast Apache możesz zastąpić coś swoim własnym. Lub ukryj się jako kolejny serwer internetowy. Przestrzeń dla fantasy, ogólnie. :)
Właściwie to pytanie brzmi: dlaczego mielibyśmy to wszystko robić? Maskowanie nginxa pod innym serwerem komplikujemy pracę hakerów. W końcu muszą zrozumieć, nad czym pracuje strona, aby dowiedzieć się, jak wykorzystać luki w zabezpieczeniach serwera. Wywołując serwer w inny sposób, dajemy atakującemu wyjątkową okazję do nieskończenie długiego wybierania luki, na przykład do IIS zamiast nginx. :)
z jakiegoś powodu nie zadziałało, dodatki zostały dostarczone, wszedłem do linii, ale 404 nadal pisze, że serwer jest na NGINX
W tym przypadku mówimy o nagłówkach podanych przez serwer. Możesz sprawdzić w konsoli: curl -I http://site.ru . Naturalnie strony błędów powinny tworzyć własne.
Tak, działa. Dziękuję