HSTS (HTTP Strict Transport Security) — это заголовок ответа сервера, который сообщает браузеру о необходимости взаимодействия с ресурсом только по протоколу HTTPS. Это исключает возможность перехвата трафика через атаку SSL Stripping, когда злоумышленник пытается понизить версию протокола до незащищенного HTTP.
Как работает
При получении заголовка Strict-Transport-Security браузер запоминает это правило на указанный период, заданный в параметре max-age. В течение этого времени любые попытки пользователя открыть сайт через http:// будут автоматически перенаправлены браузером на https:// на стороне клиента, еще до отправки запроса в сеть.
Механизм применяется на веб-серверах, обрабатывающих персональные данные, платежи или требующих авторизации. Важным этапом является включение домена в HSTS Preload List — встроенный в браузеры список сайтов, для которых HTTPS обязателен даже при самом первом посещении, когда кэшированный заголовок еще отсутствует.
Типовой заголовок выглядит так: Strict-Transport-Security: max-age=31536000; includeSubDomains; preload. Здесь max-age устанавливает срок действия правила на один год (в секундах), а флаг includeSubDomains распространяет защиту на все поддомены текущего ресурса.