Hsts: как настроить с помощью let’s encrypt

Автор: SKGROUPS Проверено редакцией Время чтения: 5 мин SEO продвижение

HSTS: Как настроить с помощью Lets Encrypt

HSTS (HTTP Strict Transport Security) – это механизм политики безопасности веб-браузера, который помогает защитить веб-сайты от атак типа «man-in-the-middle» (MITM). Он заставляет браузеры подключаться к сайту только через HTTPS, даже если пользователь перешел по HTTP-ссылке. В этой статье мы рассмотрим, как настроить HSTS, используя бесплатные SSL/TLS сертификаты от Lets Encrypt.

Краткий ответ

Зачем нужен HSTS?

Без HSTS браузер сначала пытается подключиться к сайту через HTTP, а затем, получив редирект на HTTPS, переключается на защищенное соединение. В течение этого короткого промежутка времени, когда используется HTTP, злоумышленник может перехватить трафик и подменить данные. HSTS устраняет эту уязвимость, сообщая браузеру, что к сайту можно подключаться только через HTTPS.

  • Защита от MITM-атак: Предотвращает перехват трафика при первом подключении.
  • Улучшение безопасности пользователей: Гарантирует, что пользователи всегда подключаются к сайту через защищенное соединение.
  • Повышение доверия к сайту: Демонстрирует заботу о безопасности пользователей.

Предварительные требования

Прежде чем приступить к настройке HSTS, убедитесь, что у вас есть:

  • SSL/TLS сертификат: Необходимо, чтобы ваш сайт работал через HTTPS. Lets Encrypt – отличный бесплатный вариант.
  • Доступ к конфигурации веб-сервера: Вам потребуется доступ к файлам конфигурации вашего веб-сервера (например, Apache или Nginx).
  • Полный контроль над доменом: Вы должны иметь возможность добавлять записи в DNS вашего домена.

Настройка HSTS с помощью Lets Encrypt

Lets Encrypt сам по себе не настраивает HSTS. Он предоставляет SSL/TLS сертификаты, необходимые для работы HTTPS, что является основой для HSTS. Настройка HSTS выполняется на уровне веб-сервера.

Настройка HSTS в Apache

Откройте файл конфигурации вашего сайта в Apache (обычно находится в /etc/apache2/sites-available/). Добавьте или измените следующие строки внутри блока <VirtualHost *:443>:


Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

Разъяснение параметров:

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

После внесения изменений перезапустите Apache:


sudo systemctl restart apache2

Настройка HSTS в Nginx

Откройте файл конфигурации вашего сайта в Nginx (обычно находится в /etc/nginx/sites-available/). Добавьте или измените следующие строки внутри блока server { ... }, который обрабатывает HTTPS:


add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

Разъяснение параметров: Параметры аналогичны Apache.

После внесения изменений перезапустите Nginx:


sudo systemctl restart nginx

Предварительная загрузка HSTS (HSTS Preload)

Предварительная загрузка HSTS – это возможность добавить ваш сайт в список, встроенный в браузеры. Это обеспечивает защиту от MITM-атак даже при первом посещении сайта, так как браузер уже знает, что к нему можно подключаться только через HTTPS.

Как подать заявку на предварительную загрузку HSTS

  1. Убедитесь, что ваш сайт правильно настроен: Проверьте, что HSTS работает корректно и что ваш сайт доступен только через HTTPS.
  2. Перейдите на сайт: https://hstspreload.org/
  3. Вставьте URL вашего сайта: Укажите URL вашего сайта и всех его поддоменов.
  4. Подтвердите, что вы понимаете риски: Внимательно прочитайте предупреждения и подтвердите, что вы понимаете, что неправильная настройка HSTS может привести к недоступности сайта.
  5. Отправьте заявку: Отправьте заявку на рассмотрение.

Рассмотрение заявки может занять некоторое время. После одобрения ваш сайт будет включен в список предварительной загрузки HSTS в следующих версиях браузеров.

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

После настройки HSTS важно проверить, что она работает корректно. Вы можете использовать следующие инструменты:

  • SecurityHeaders.com: Этот инструмент анализирует заголовки HTTP вашего сайта и показывает, правильно ли настроен HSTS.
  • Браузерные инструменты разработчика: Откройте инструменты разработчика в вашем браузере (обычно нажатием клавиши F12) и перейдите на вкладку «Network». Проверьте, что все запросы к вашему сайту выполняются через HTTPS.

Настройка HSTS с помощью Lets Encrypt – это простой и эффективный способ повысить безопасность вашего веб-сайта. Следуя инструкциям, описанным в этой статье, вы сможете защитить своих пользователей от MITM-атак и улучшить доверие к вашему сайту. Не забывайте регулярно проверять настройки HSTS и обновлять их при необходимости.

Количество символов: 6457