HSTS

Kasia Bielawska
>
Kasia Bielawska

HTTP Strict Transport Security

HSTS to mechanizm bezpieczeństwa sieciowego (nagłówek odpowiedzi serwera), który wymusza na przeglądarkach internetowych nawiązywanie połączeń z daną witryną wyłącznie za pomocą bezpiecznego protokołu HTTPS. W przeciwieństwie do zwykłego przekierowania 301, HSTS sprawia, że przeglądarka „zapamiętuje” ten wymóg i nawet jeśli użytkownik wpisze ręcznie adres zaczynający się od http://, zostanie on automatycznie zamieniony na bezpieczny jeszcze przed wysłaniem zapytania do sieci.

Wdrożenie HSTS to kluczowy krok po tym, jak zainstalujesz na swojej stronie certyfikat ssl. To rozwiązanie eliminuje ryzyko ataków typu „SSL Stripping”, w których haker próbuje wymusić na przeglądarce przejście na niezabezpieczoną wersję witryny.

Jak działa HSTS?

Mechanizm HSTS zaczyna działać wtedy, gdy użytkownik odwiedzi stronę przez bezpieczne połączenie HTTPS, a serwer odeśle odpowiedni nagłówek. Od tego momentu przeglądarka zapamiętuje regułę i przy kolejnych próbach wejścia na stronę sama zamienia połączenie HTTP na HTTPS. Dodatkowo nie pozwala łatwo pominąć błędów związanych z nieprawidłowym certyfikatem.

Przykładowy nagłówek wygląda tak:

Strict-Transport-Security: max-age=31536000; includeSubDomains

To oznacza, że przeglądarka ma przez określony czas pamiętać, że domena ma działać wyłącznie po HTTPS. Dyrektywa includeSubDomains rozszerza tę zasadę także na subdomeny. HSTS jest standardem, który buduje zaufanie zarówno w oczach użytkowników, jak i algorytmów wyszukiwarek.

Dlaczego sama „kłódka” to za mało?

Zwykłe przekierowanie z HTTP na HTTPS odbywa się na poziomie serwera. Oznacza to, że to pierwsze zapytanie („Hej, czy masz stronę przykład.pl?”) leci otwartym tekstem. To właśnie ten krótki moment jest najsłabszym ogniwem, które HSTS eliminuje. Jeśli Twój projekt to wymagający hosting wordpress, HSTS zapewni, że sesje Twoich użytkowników (i ich dane logowania) nigdy nie wyciekną przez przypadkowe połączenie niezaszyfrowane.

Na co uważać przy wdrażaniu HSTS?

Najczęstszy błąd polega na włączeniu HSTS zbyt wcześnie. Jeśli część strony, subdomena albo zasób nadal działa tylko po HTTP, użytkownicy mogą napotkać problemy. Właśnie dlatego HSTS powinno się wdrażać dopiero po pełnym uporządkowaniu konfiguracji HTTPS i certyfikatów.