Nginx - jak skrýt signature hlavičky
Problém
Posílat do světa informace o tom, jaké konkrétní verze používá náš webserver není nejlepší nápad. Existují databáze zranitelností, kde lze dohledat, jak využít zranitelnost v konkrétní verzi určitého software. Internetem se prohání roboti, kteří tyto databáze zpracovávají, skenují webové stránky a snaží se najít zranitelnosti, aby je zneužili ke kompromitaci serveru.
Pokud webserver v HTTP hlavičkách posílá např:
Server: nginx/1.18.0
X-Powered-By: PHP/7.3.19-1~deb10u1
Dalo by se to v případě starší a zranitelné verze přirovnat k obrázku:
- obrázek jsem si půjčil z medium.com
Co s tím? Přestat tyto informace sdělovat!
Jak na to?
Nejjednoduší je upravit konfigurační soubor /etc/nginx/nginx.conf
.
#...
http {
#...
server {
#...
# vypneme informace ve verzi nginx v hlavičce Server
server_tokens off;
# odstraníme hlavičku X-Powered-By, kde se vypisuje verze PHP
proxy_hide_header X-Powered-By;
fastcgi_hide_header X-Powered-By;
}
}
Po uložení souboru nezapomene nginx restartovat. Po restartu bychom měli vidět v hlavičkách pouze:
Server: nginx
Naprostým základem nadále zůstává používat aktuální a záplatovaný software.
Pokud chcete pouze skrýt to, že používáte zastaralou verzi PHP, tak na toto zapomeňte a raději aktualizujte!