Безопасное внедрение HSTS

Начинайте с небольшого срока и проверяйте каждый этап.
Поэтапное внедрение HSTS

Начните с короткого срока и увеличивайте его только после проверки

Сначала должны работать сертификат, канонический HTTPS и постоянный редирект с HTTP. Самый безопасный вариант — попросить хостинг включить HSTS без preload и без поддоменов.

HSTS внедряется поэтапно с резервной копией, увеличением срока, проверкой поддоменов и возможностью отката
Короткий срок позволяет быстро отменить ошибочную политику до её длительного закрепления.

Сообщение техподдержке

Добрый день!
На example.com работают HTTPS и редирект с HTTP.
Включите один Strict-Transport-Security.
Начните с небольшого max-age без preload
и includeSubDomains. После проверки увеличьте срок.
Поддомены без согласования не включайте.

Безопасная последовательность

  1. Установите max-age=300 и проверьте основной сайт.
  2. Увеличьте срок до недели, затем до месяца, наблюдая за работой.
  3. После успешного испытания установите длительный срок, например год.
  4. Добавляйте includeSubDomains только после проверки каждого поддомена.
  5. Не включайте preload автоматически; оцените последствия отдельно.
  6. После каждого этапа проверяйте один заголовок на всех основных HTTPS-ответах.

Технические примеры

Apache / .htaccess

Header always set Strict-Transport-Security \
"max-age=300"

Nginx

add_header Strict-Transport-Security \
"max-age=300" always;

Один заголовок, одно место настройки

Не добавляйте HSTS одновременно в CDN, панели, Nginx и .htaccess. Дубликаты могут создать конфликт. Заголовок отправляется только по HTTPS.

Когда допустим preload

Только после длительной проверки основного сайта и всех поддоменов. Для заявки требуются как минимум max-age=31536000, includeSubDomains и preload, но директива сама по себе ещё не добавляет домен в список. Удаление может занять месяцы.

После настройки выполните независимую проверку HSTS.