DANFA

Nginx: Strict-Transport-Security

Заголовок Strict-Transport-Security (HSTS) — это механизм безопасности, который позволяет веб-сайтам объявить браузерам, что они должны взаимодействовать только через HTTPS. Это помогает предотвратить атаки, такие как downgrade-атаки, когда злоумышленник пытается заставить пользователя использовать небезопасное HTTP-соединение.

Как работает HSTS


Когда браузер получает заголовок HSTS от сервера, он запоминает, что этот сайт должен всегда открываться через HTTPS. В течение указанного времени (например, 1 год) браузер будет автоматически перенаправлять все запросы к этому сайту на HTTPS, даже если пользователь вводит HTTP-адрес.

Формат заголовка HSTS:
Strict-Transport-Security: max-age=<seconds>; includeSubDomains; preload;

  • max-age: Указывает, как долго браузер должен помнить, что сайт доступен только по HTTPS (в секундах).
  • includeSubDomains: Указывает, что HSTS применяется ко всем поддоменам сайта.
  • preload: Указывает, что сайт участвует в программе preload HSTS, что позволяет браузерам заранее знать, что сайт всегда должен использовать HTTPS.

Пример использования:
server {
    listen 443 ssl;
    server_name example.com;

    # SSL-контекст
    ssl_certificate /path/to/certificate.crt;
    ssl_certificate_key /path/to/private.key;

    # Добавляем заголовок HSTS
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";

    # Остальные настройки сервера
    ...
}

Рекомендации по использованию HSTS


  1. Включите HTTPS: Убедитесь, что ваш сайт доступен по HTTPS и что у вас есть правильно настроенный SSL-сертификат.
  2. Настройте перенаправление: Настройте перенаправление всех HTTP-запросов на HTTPS, чтобы пользователи всегда использовали безопасное соединение.
  3. Используйте includeSubDomains: Если у вас есть поддомены, обязательно включите этот параметр, чтобы HSTS применялся ко всем поддоменам.
  4. Рассмотрите preload: Если вы уверены, что ваш сайт всегда будет использовать HTTPS, рассмотрите возможность добавления его в список preload HSTS. Это позволит браузерам заранее знать, что сайт всегда должен использовать HTTPS.

Заголовок Strict-Transport-Security — это важный инструмент для повышения безопасности вашего сайта. Он помогает предотвратить атаки, направленные на снижение уровня безопасности, и обеспечивает, что пользователи всегда будут использовать безопасное соединение.
Автор:  15.10.2025 11:10:07 am