TLS Audit

Пошаговая настройка HSTS в Nginx: max-age, includeSubDomains, preload, проверка HTTPS и безопасный порядок внедрения.

Вернуться к проверке

Что делает HSTS

  • Strict-Transport-Security сообщает браузеру, что после первого успешного HTTPS-посещения к сайту нужно обращаться только по HTTPS.
  • Это снижает риск случайного перехода на HTTP и части downgrade-сценариев.
  • HSTS не заменяет корректный сертификат, TLS 1.2/1.3 и безопасные cipher suites: это дополнительный слой защиты.

Безопасный порядок включения

  • Сначала убедитесь, что основной домен и все важные страницы без ошибок работают по HTTPS.
  • Начните с короткого тестового срока: add_header Strict-Transport-Security "max-age=300" always;
  • Проверьте сайт из нового браузерного сеанса, интеграции и все нужные редиректы.
  • После успешной проверки увеличьте срок до года: max-age=31536000.
  • Только затем оценивайте необходимость includeSubDomains и preload.

Когда не стоит добавлять includeSubDomains

  • Если хотя бы один используемый поддомен пока доступен только по HTTP.
  • Если есть старые внутренние сервисы, тестовые поддомены или внешние подрядчики, которыми вы не управляете.
  • Если не проверены API, почтовые панели и другие сервисы на поддоменах.

Минимальный пример Nginx

  • Для теста: add_header Strict-Transport-Security max-age=300 always;.
  • Для production после проверки: add_header Strict-Transport-Security "max-age=31536000" always;
  • Для полностью готовых поддоменов: add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
  • После изменения выполните nginx -t, затем reload и повторную HTTPS-проверку.

Проверьте HSTS после настройки

TLS Audit покажет, есть ли Strict-Transport-Security, какой max-age установлен и как это влияет на HTTPS-конфигурацию.

Проверить HSTS