← Wszystkie testy
BezpieczeństwoTypowa waga: Niski

Skaner wycieków w nagłówkach

Wykrywa nagłówki takie jak X-Powered-By czy Server, które zdradzają atakującym Twój stack technologiczny i jego wersję.

Co sprawdza

Ten skaner szuka nagłówków odpowiedzi, takich jak X-Powered-By czy Server, które zdradzają, jakiej technologii i wersji używa twoja strona. Sygnalizuje, gdy serwer za dużo ujawnia o swoim wnętrzu. To informacja, która nic nie daje odwiedzającemu, a bardzo wiele atakującemu.

Dlaczego to ważne

Znajomość twojego frameworka i jego dokładnej wersji pozwala atakującemu wyszukać znane podatności właśnie dla tej wersji. Oszczędza mu to pracy zwiadowczej i czyni twoją stronę łatwiejszym celem. Sama w sobie nie jest to poważna luka, ale dokłada niepotrzebnego ryzyka.

Jak to naprawić

Skonfiguruj serwer lub framework tak, aby usuwał lub ukrywał te informacyjne nagłówki z odpowiedzi. Wiele platform oferuje jednolinijkową opcję wyłączenia nagłówka technologii. To szybka zmiana, która zmniejsza ilość ujawnianych informacji.

Jak działa ta kontrola

Scanaris odczytuje nagłówki głównej odpowiedzi Twojej strony i patrzy na dwa konkretne. Jeśli istnieje X-Powered-By z jakąkolwiek wartością (na przykład Express, PHP/8.2.12 lub Next.js), otwiera ustalenie o niskiej wadze. Jeśli istnieje Server i jego wartość zawiera numer wersji (coś jak nginx/1.18.0 lub Apache/2.4.57), otwiera kolejne. Samo Server: nginx lub Server: cloudflare nie jest oznaczane: powiedzenie, jakiego serwera używasz, nie jest problemem; powiedzenie, której dokładnie wersji, już tak.

Dlaczego to ważne

Żaden z tych nagłówków niczego nie daje użytkownikowi ani przeglądarce. Istnieją z przyzwyczajenia. To, co robią, to oszczędzanie pracy temu, kto szuka podatności: mając PHP/7.4.3 lub Apache/2.4.49 w odpowiedzi, atakujący nie musi niczego zgadywać, idzie prosto do listy znanych błędów tej wersji i próbuje tych z publicznym exploitem. To ustalenie o niskiej wadze, bo samo w sobie nie otwiera żadnych drzwi; ale należy do najłatwiejszych do zamknięcia, a masowe skanery filtrują cele dokładnie po tych nagłówkach.

Jak je usunąć w zależności od stacku

  • Express: app.disable('x-powered-by') przy tworzeniu aplikacji albo użyj helmet(), który usuwa go razem z innymi wzmocnieniami.
  • Next.js: domyślnie wysyła X-Powered-By: Next.js. W next.config.js: poweredByHeader: false.
  • PHP: w php.ini, expose_php = Off. Na hostingu współdzielonym zwykle da się to zmienić w panelu albo przez .user.ini.
  • ASP.NET: w web.config, w sekcji customHeaders, <remove name="X-Powered-By" />, a w IIS wyłącz też nagłówek X-AspNet-Version przez enableVersionHeader="false".
  • nginx: server_tokens off; w bloku http. Nadal mówi „nginx", ale bez wersji.
  • Apache: ServerTokens Prod i ServerSignature Off w głównej konfiguracji. Przy Prod nagłówek to po prostu Apache.
  • Vercel, Netlify, Cloudflare Pages: nie wysyłają wersji w Server. Jeśli widzisz tam X-Powered-By, pochodzi z Twojego frameworka (Next.js lub Express), nie z platformy.

Jeśli masz przed sobą proxy lub CDN (Cloudflare, load balancer), sprawdź publiczną odpowiedź: czasem proxy podmienia nagłówek Server i problem znika sam, ale X-Powered-By zwykle przechodzi nietknięty.

Sprawdź, czy naprawione

curl -sI https://twojadomena.pl | grep -iE "^(server|x-powered-by):"

Idealnie X-Powered-By nie pojawia się wcale, a Server, jeśli się pojawia, nie ma numeru. Sprawdź też ścieżkę API albo stronę błędu (adres, który nie istnieje): błędy bywają generowane w innej warstwie, która dodaje nagłówek z powrotem.

Często zadawane pytania

Ukrycie wersji nie naprawia podatności. Po co to robić?

Żeby nie być na pierwszej stronie wyników u tego, kto szuka ofiar. Masz rację, że prawdziwym rozwiązaniem jest aktualizacja: ukrycie wersji to uzupełnienie, nie zamiennik. Obie rzeczy razem zajmują pięć minut.

Mój hosting nie pozwala mi ruszać konfiguracji serwera.

W takim razie usuń przynajmniej X-Powered-By z kodu albo z .htaccess (Header unset X-Powered-By) i poproś hosting o ukrycie wersji. Pozostałe nagłówki bezpieczeństwa, te, które powinieneś mieć, sprawdza kontrola nagłówki bezpieczeństwa.

Dlaczego „Server: cloudflare" nie jest oznaczane?

Bo nie ujawnia nic użytecznego: ani wersji, ani konkretnego oprogramowania za nim. Szukamy tu informacji, która skraca drogę do exploita. Które nagłówki warto mieć, a które są tylko szumem, wyjaśnia nagłówki HTTP wyjaśnione dla ludzi.

Sprawdź to na swojej stronie

Przeskanuj swoją stronę za darmo i zobacz, czy ten i 44 inne testy przechodzą, z promptem naprawczym dla każdego problemu.

Przeskanuj moją stronę za darmo

Powiązane testy