Poradniki
Jak naprawić nagłówki bezpieczeństwa (CSP, HSTS)
Brak nagłówków bezpieczeństwa naraża aplikacje webowe na ataki cross-site scripting (XSS), clickjacking, wymuszenie obniżenia protokołu oraz przechwytywanie sesji.
Wdróż Strict-Transport-Security z rocznym okresem ważności i preload, skonfiguruj restrykcyjną Content-Security-Policy, dodaj X-Content-Type-Options: nosniff oraz frame-ancestors 'none'.
Diagnostyka brakujących nagłówków odpowiedzi
Przed modyfikacją konfiguracji serwera sprawdź bieżące nagłówki odpowiedzi HTTP za pomocą curl -IL lub dedykowanego skanera. Ustal, na którym poziomie następuje terminacja TLS i generowanie nagłówków: na serwerze głównym (Nginx, Apache), proxy czy w sieci CDN. Upewnij się, że pośredniczące bramy nie usuwają nagłówków ochronnych.
Bezpieczna konfiguracja Strict-Transport-Security (HSTS)
Nagłówek HSTS wymusza na przeglądarkach wyłączne korzystanie z bezpiecznego protokołu HTTPS, zapobiegając atakom typu man-in-the-middle. Rozpocznij testy od wartości max-age=86400 (jeden dzień). Po upewnieniu się, że wszystkie subdomeny i zasoby działają poprawnie, wprowadź konfigurację produkcyjną: max-age=31536000; includeSubDomains; preload. Nigdy nie ustawiaj max-age=0 na produkcji.
Projektowanie skutecznej Content Security Policy (CSP)
CSP precyzyjnie definiuje, z jakich źródeł skrypty i zasoby mogą być uruchamiane w przeglądarce. W pierwszym kroku zastosuj nagłówek Content-Security-Policy-Report-Only z dyrektywą report-to, aby monitorować incydenty bez zakłócania działania strony. Zdefiniuj default-src 'self', script-src 'self' z wartościami nonce lub hashami zamiast 'unsafe-inline', wyłącz wtyczki przez object-src 'none' i wskaż frame-ancestors 'none'.
Ochrona przed clickjackingiem, MIME sniffingiem i wyciekiem referrera
Uniemożliw osadzenie serwisu w ukrytych ramkach iframe dzięki frame-ancestors 'none' w CSP oraz nagłówkowi X-Frame-Options: DENY dla starszych przeglądarek. Zablokuj niebezpieczne odgadywanie typów plików za pomocą X-Content-Type-Options: nosniff oraz chroń parametry adresów URL przy linkach zewnętrznych dzięki Referrer-Policy: strict-origin-when-cross-origin.
Wdrożenie na serwerze i weryfikacja poprawności
W Nginx reguły dodaje się w bloku server HTTPS dyrektywą add_header z parametrem always (np. add_header X-Content-Type-Options "nosniff" always;), co gwarantuje ich obecność także przy kodach błędów 4xx i 5xx. W Apache skorzystaj z modułu mod_headers i Header always set. Zweryfikuj konfigurację poleceniem nginx -t i przeładuj serwer.
Nagłówki bezpieczeństwa: HTTPS, CSP, ochrona ramek, MIME, referrer i izolacja przeglądarki.
Uruchom bezpłatny audyt →