Nagłówki bezpieczeństwa: CSP, HSTS i inne
Nagłówki bezpieczeństwa — kilka linii, które serwer dodaje do każdej odpowiedzi. Odwiedzający ich nie widzi, a przeglądarka na ich podstawie rozumie, co można robić na twojej stronie, a czego nie. Ustawia się je na serwerze i zazwyczaj nie wymagają zmiany kodu strony.
Analogia dla właściciela strony
To instrukcja dla ochroniarza przy wejściu. Bez niej pozwala na wszystko: każdy skrypt z każdej domeny, osadzenie twojej strony w obcej witrynie, próby odgadnięcia typu pliku. Z instrukcją pojawia się lista: tych wpuszczać, tych nie, te drzwi trzymać zamknięte. Dziury w kodzie nagłówki nie naprawiają, ale uniemożliwiają ich wykorzystanie.
Co robi każdy nagłówek
| Nagłówek | Co daje | Poważność |
|---|---|---|
| Strict-Transport-Security | Przeglądarka łączy się z tobą tylko przez HTTPS i nie wraca do otwartego połączenia | Średnia |
| Content-Security-Policy | Określa, skąd można ładować skrypty. Główna ochrona przed XSS | Średnia |
| X-Frame-Options | Zabrania osadzania twoich stron w ramce na obcej stronie (clickjacking) | Niska |
| X-Content-Type-Options | Zabrania „odgadywania” typu pliku — w przeciwnym razie załadowany plik może zostać wykonany jako skrypt | Niska |
| Referrer-Policy | Ogranicza, jaki adres jest wysyłany do zewnętrznych witryn podczas przejścia | Info |
| Permissions-Policy | Wyłącza niepotrzebne możliwości przeglądarki: kamerę, mikrofon, geolokalizację | Info |
Obok sprawdzane są flagi cookie — Secure, HttpOnly i SameSite: one zabezpieczają przed przechwyceniem sesji.
Jak to się ma do biznesu i SEO
Same nagłówki nie podnoszą pozycji — to nie jest czynnik rankingowy. Działają na innym froncie: HSTS eliminuje ryzyko otwartego połączenia, a CSP nie pozwala obcemu skryptowi dodać na strony ukrytych linków i przekierowań. Takie iniekcje prowadzą do spadku pozycji i oznaczenia „strona może być szkodliwa” w przeglądarce.
Jak to wygląda w raporcie Security Shield
Sprawdzanie nagłówków odbywa się w każdym trybie, w tym szybkim darmowym. Każdy brakujący nagłówek staje się osobnym znaleziskiem z własną poważnością, klasą CWE i kategorią OWASP; z nich powstaje ocena od A+ do F. Brak CSP i HSTS ma większą wagę niż brak Referrer-Policy. Dla tej grupy działa auto-korekta: serwis zbiera gotowy fragment konfiguracji — .htaccess lub blok dla nginx.
Od czego zacząć
- Dodaj
X-Content-Type-Options: nosniffiReferrer-Policy: strict-origin-when-cross-origin— one prawie nigdy nic nie łamią. - Zamknij osadzanie:
X-Frame-Options: SAMEORIGIN— ale sprawdź, czy sam nie osadzasz swoich stron w obcych domenach. - Upewnij się, że cały HTTP jest przekierowywany na HTTPS, a dopiero potem włącz HSTS.
- CSP zostaw na koniec i zacznij od trybu raportów
Content-Security-Policy-Report-Only.
W trybie Report-Only polityka nic nie blokuje, a tylko informuje, co by zablokowała. Daj jej pracować przez tydzień na ruchu produkcyjnym, przeanalizuj raporty, dodaj potrzebne domeny — a dopiero potem przełącz na nagłówek produkcyjny. W przeciwnym razie ryzykujesz wyłączenie widgetów, analityki i płatności.
Jak uniknąć powtórzenia
Nagłówki żyją w konfiguracji serwera, a ta ginie przy przenoszeniu, zmianie hostingu lub podłączeniu CDN. Przechowuj fragment konfiguracji w repozytorium razem z projektem i powtarzaj skan po zmianach infrastruktury — jak działa serwis, opisano w artykule o Security Shield. O dostępie do panelu — bezpieczeństwo konta.