Skip to main content
idego
DevOps

Jak zabezpieczyć serwer Nginx w kilku prostych krokach

Autor: Idego Group

Jak zabezpieczyć serwer Nginx w kilku prostych krokach

W 2004 roku Igor Sysoyev stworzył NGINX – wydajny serwer webowy napisany w C, który obecnie obsługuje ponad jedną trzecią wszystkich stron internetowych na świecie. Poza podstawową obsługą stron, NGINX pełni funkcję odwrotnego proxy, load balancera, proxy pocztowego i pamięci podręcznej HTTP. Biorąc pod uwagę jego powszechne zastosowanie i rolę jako punktu wejścia między klientami a aplikacjami, wdrożenie solidnych środków bezpieczeństwa jest niezbędne.

Ukrywanie informacji o serwerze przed potencjalnymi atakującymi jest ważne. Administratorzy powinni wyłączyć ujawnianie tokenów serwera za pomocą server_tokens off, aby zapobiec wyciekom informacji o wersji. Podobnie dyrektywa proxy_hide_header X-Powered-By usuwa nagłówki identyfikacyjne technologii, które mogłyby ujawnić systemy backendowe.

Krytyczna podatność pojawia się, gdy rozmiary buforów NGINX i serwerów upstream różnią się. Atakujący wysyłający nadmiernie duże nagłówki może wywołać błędy backendu ujawniające wrażliwe dane, takie jak wersje serwerów i adresy IP. Ustawienie large_client_header_buffers powinno być kalibrowane na mniejszą wartość niż limity backendu, aby zapobiec takim ujawnieniom informacji.

Zaawansowani administratorzy mogą wdrożyć łatki IP Personality, aby zmodyfikować zachowanie stosu TCP/IP, sprawiając, że systemy wyglądają jak inne systemy operacyjne. Wymaga to patchowania jądra i konfiguracji iptables, skutecznie oszukując narzędzia do rekonesansu.

Wzmocnij szyfrowanie za pomocą kilku dyrektyw konfiguracyjnych: generuj silne parametry Diffie-Hellman przy użyciu openssl, wyłącz przestarzałe protokoły SSLv3, preferuj szyfry serwera nad preferencjami klienta i włącz OCSP stapling dla walidacji certyfikatów.

NAXSI to moduł WAF dostarczany przez firmę trzecią, który sprawdza ruch HTTP i blokuje żądania pasujące do znanych wzorców ataków. Montuj partycje z restrykcyjnymi opcjami, aby zapobiec eskalacji uprawnień. Wdrażaj środowiska chroot, aby ograniczyć dostęp procesów NGINX wyłącznie do niezbędnych plików i bibliotek, ograniczając potencjalne naruszenia.

Złożoność hartowania bezpieczeństwa zależy od oceny ryzyka organizacji i krytyczności usług. Regularne aktualizacje systemu operacyjnego stanowią jedną z najważniejszych praktyk bezpieczeństwa obok wielowarstwowych strategii obronnych.

Powiązane artykuły