Добавляем сайт в HSTS preload list.

Приход на рынок Let’s Encrypt и повальный переход на https сопровождается большим количеством заявок по настройке сервера и сайта для работы в рамках защищённого соединения. Не самый очевидный момент в ходе такой настройки — это HSTS preloading, который клиенты время от времени просят подсветить зелёным (т. е. корректно настроить) на тестах ssllabs.

HSTS preload list — это листинг сайтов, которые по умолчанию в браузере будут открываться сразу только по HTTPS, даже если пользователь попытается обратиться к домену по http. Листинг используется большинством современных браузеров. Сервис проверки ssllabs.com проверяет этот параметр отдельно.

Для того что бы в этот листинг попасть, необходимо сделать следующее…

1. Установить на сервер валидный ssl сертификат. Подойдёт как бесплатный от Let’s Encrypt, так и любой платный. Кроме, пожалуй, startssl.com — многими браузерами сертификаты этой компании на сегодняшний день не считаются валидными.

2. Подготовить сайт на основном и www домене к корректной работе по https, подготовить к работе по https поддомены сайта, если таковые имеются. Убедиться (это важно!) что все поддомены и основной домен по https работают корректно.

3. Настроить на сайте редирект с http на https.

4. Прописать HSTS заголовок в конфиге веб-сервера.

— Для Nginx строку можно добавить в секцию server конкретного виртуального хоста, либо если на сервере работает только один домен в секцию http общего конфига:

add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; ";

— для Apache в основном конфиге и виртуалхосте необходимо прописать следующее:

LoadModule headers_module modules/mod_headers.so

<VirtualHost 123.123.123.12:443>
 Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains;"
</VirtualHost>

Проверить вступили ли изменения в силу можно, например, CURL’ом:

$ curl -s -D- https://sysadmin.pm | grep Strict
Strict-Transport-Security: max-age=63072000; includeSubdomains;

5. Перейти на hstspreload.org и отправить URL в соответствующую форму.

Хотелось бы ещё раз обратить внимание читателя на то, что ещё до подачи заявки нужно убедиться в корректной доступности и работоспособности сайта по https. Включение в HSTS preload list сайта, который в настройке работы по https имеет ошибки, может привести к проблемам с доступом к ресурсу. Если вы только что установили ssl сертификат и только приступили к настройке, имеет смысл повременить с добавлением сайта в листинг.

Спустя некоторое время на этом же ресурсе можно будет проверить статус сайта. Положительный ответ выглядит так:

А нужный параметр на ssllabs так же будет подсвечен зелёным:

4 thoughts on “Добавляем сайт в HSTS preload list.

  1. Очень грамотно расписанная инструкция, ничего лишнего. Спасибо!

    1. главная проблема инструкций не в избыточности, а в недостатке.

  2. Спасибо! Отправлю заказчику. Пусть читает, если у него возникнут вопросы 🙂

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *