HSTS (HTTP Strict Transport Security)
HSTS (HTTP Strict Transport Security) to polityka bezpieczeństwa przekazywana przez nagłówek HTTP, która nakazuje przeglądarce komunikować się z daną domeną wyłącznie przez szyfrowany protokół HTTPS. Po jej odebraniu przeglądarka automatycznie zamienia każde wywołanie http:// na https:// jeszcze przed wysłaniem żądania, eliminując ryzyko przechwycenia niezaszyfrowanego połączenia. Standard opisano w dokumencie RFC 6797.
Jak działa HSTS?
Serwer wysyła nagłówek Strict-Transport-Security w odpowiedzi HTTPS. Przeglądarka zapamiętuje politykę na czas określony dyrektywą max-age (w sekundach) i przez ten okres nie pozwala na połączenie po HTTP z tą domeną. Najważniejsze dyrektywy to:
- max-age — czas obowiązywania polityki, zwykle rok (31536000 sekund).
- includeSubDomains — rozszerza politykę na wszystkie subdomeny.
- preload — zgłasza domenę na listę wbudowaną w przeglądarki.
HSTS neutralizuje w szczególności atak SSL stripping, w którym napastnik typu man-in-the-middle podmienia bezpieczne odnośniki na wersje HTTP. Ponieważ przeglądarka z zapamiętaną polityką w ogóle nie nawiązuje połączenia niezaszyfrowanego, taki downgrade staje się niemożliwy.
Zastosowanie w praktyce
HSTS jest standardem w bankowości, panelach administracyjnych i sklepach, gdzie ochrona sesji jest krytyczna. Wdraża się go, dodając nagłówek w konfiguracji serwera (Apache, Nginx) lub w pliku .htaccess. Zalecana kolejność: najpierw upewnić się, że cały serwis wraz z subdomenami działa poprawnie po HTTPS z ważnym certyfikatem TLS, potem ustawić krótki max-age i stopniowo go wydłużać, a dopiero na końcu rozważyć zgłoszenie do preload list. HSTS zwykle wdraża się razem z pozostałymi nagłówkami bezpieczeństwa, jak CSP czy X-Frame-Options.
Trzeba mieć świadomość jednej pułapki: polityka zapisana w przeglądarce obowiązuje przez cały okres max-age, więc jeśli certyfikat wygaśnie lub pojawi się problem z HTTPS, użytkownicy nie zobaczą strony po HTTP — dostaną błąd bezpieczeństwa bez możliwości obejścia. Dlatego HSTS włącza się dopiero wtedy, gdy szyfrowane połączenie działa stabilnie, a odnawianie certyfikatów jest w pełni zautomatyzowane.
Powiązane pojęcia
Najczęstsze pytania
Czym jest preload list w kontekście HSTS?
To wbudowana w przeglądarki lista domen, które zawsze mają być ładowane przez HTTPS — nawet przy pierwszej wizycie, zanim przeglądarka odbierze nagłówek. Domenę zgłasza się na hstspreload.org, ale decyzja jest praktycznie nieodwracalna, więc wymaga pewności, że cały serwis i subdomeny działają po HTTPS.
