2.7.1.1.10. Настройка HSTS

HSTS (HTTP Strict Transport Security) — механизм принудительного перехода с протокола HTTP на HTTPS. Технология появилась в 2012 году и на сегодняшний день поддерживается всеми браузерами. Данная политика указывает браузеру принудительно изменять все адреса домена с протокола HTTP на HTTPS при помощи заголовка Strict-Transport-Security, описано в стандарте RFC 6797. Важно учитывать, что политика HSTS помещается в кеш на указанный срок и в это время вернуться на протокол HTTP не выйдет, кроме ручной очистки политик безопасности браузера.

Важные моменты:

  • Политика HSTS применяется только после первого входа на сайт. При первом посещении браузер ещё не знает о заголовке и запрос может выполняться по HTTP.
  • Не все браузеры поддерживают данную технологию. Если поддержки нет, то она будет проигнорирована. Поддержка реализована во всех браузерах на базе Chromium (Chrome, Opera и другие) и в Firefox.
  • Политика HSTS сохраняется для определённых доменов на период, указанный в передаваемом заголовке. До момента истечения этого периода невозможно перейти на протокол HTTP без ручной очистки кеша.
  • Не следует сразу же указывать большой период в max-age. Начните со значения 900 для проверки работоспособности сайта и если всё будет в порядке, можно будет его увеличить.
  • Добавление заголовка HSTS в .htaccess возможно только при использовании веб-сервера Apache. LiteSpeed и PHP-FPM будут игнорировать правило в .htaccess.
  • Для получения рейтинга «A+» в тесте SSL Labs период кеширования должен быть не менее 180 дней (15 552 000 секунд).
  1. Откройте раздел «Защита сайта» и переключитесь на вкладку «Основные настройки».
  2. В поле «Заголовок Strict-Transport-Security» укажите период кеширования политики в браузерах и сохраните изменения.
  3. (Если заголовок должен действовать для всех поддоменов) Включите «Добавлять атрибут includeSubDomains для заголовка Strict-Transport-Security».
  4. Проверьте работу заголовка на geekflare.com.
  1. Добавьте в файл .htaccess в каталоге сайта такую строку:
    Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS
    • max-age — период кеширования политики в браузерах в секундах.
    • includeSubDomains — применять политику ко всем поддоменам.
    • preload — включение политики для домена в поддерживаемых браузерах (обеспечивает изменение протокола HTTP на HTTPS до загрузки сайта).
  2. Проверьте работу заголовка на geekflare.com.
Содержание

    (2)