Serpstat использует файлы cookie для обеспечения работоспособности сервиса, улучшения навигации, предоставления возможности связаться с командой поддержки, а также маркетинговых активностей Serpstat.

Нажав кнопку "Принять и продолжить", вы соглашаетесь с Политики конфиденциальности

Принять и продолжить

Сообщить об ошибке

Отменить
4376 1
How-to Читать 7 минут 23 апреля 2019

Что такое HSTS и как внедрить технологию на свой сайт

Как настроить HSTS на сайте
АУДИТ САЙТА — СЕРТИФИКАТ HTTPS
Инструкцию одобрил
SEO-специалист в Luxeo
Настройка технологии HSTS имеет смысл при полной уверенности в правильной работе https-протокола на всех страницах ресурса. Пропишите заголовок HTTP Strict Transport Security или подключите функцию HSTS в личном кабинете хостинга, чтобы пользователи автоматически перенаправлялись на безопасное соединение.

Что собой представляет поддержка HSTS

При вводе домена в адресной строке без протокола https либо в формате «site.ru» в браузере сперва выводится незащищенная версия сайта. Даже если на нем установлен SSL-сертификат, перенаправление происходит уже после первого перехода. Этим моментом пользуются мошенники с целью перехвата данных пользователя и перенаправления его на подставную страницу.

HSTS — это алгоритм взаимодействия между браузером и сервером, при котором сайту присваивается статус защищенного на заданный период. Это делается с помощью заголовка HTTP Strict Transport Security. Он выдается при ответе сервера и указывает браузеру на необходимость постоянной автоматической переадресации на версию сайта под протоколом https.

Несмотря на основное предназначение HSTS — защитить соединение, клиент остается уязвим при:

  • переустановке операционной системы;
  • переустановке браузера;
  • первом посещении конкретного сайта;
  • использовании другого браузера;
  • подключении с нового устройства, например, планшета;
  • окончании периода действия HSTS;
  • очистке кэша браузера.

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

Для решения этой проблемы был создан список Preload List от Google. После обращения к сайту браузер проверяет наличие сайта в этом списке и лишь потом соединяет клиента с сервером по безопасному протоколу. Попасть в Preload List можно с помощью онлайн-запроса:
HSTS Preload List Submission
При активной технологии HSTS, если сертификат SSL окажется просроченным либо какие-то страницы ресурса не будут доступны по защищенному соединению — пользователь не получит доступ к ним. Обойти шифрованное соединение через HSTS не удастся ни в одном из браузеров.

Выйти из Preload List сложно. Чтобы это сделать, необходимо подать запрос на этом же ресурсе и ждать ответа. Для Chrome это происходит более трех месяцев, а для других браузеров — еще дольше. В этот период сайт недоступен пользователям. Перед внесением в Preload List определитесь наверняка, собираетесь ли постоянно поддерживать на сайте работу протокола https.

При подключенной технологии в браузере пользователю будут высвечиваться сайты, работающие исключительно по протоколу https. Даже если он введет в адресную строку домен через http, браузер автоматически перенаправит его на версию сайта с https. Механизм HSTS призван уменьшить количество незашифрованных соединений и свести к минимуму риски перехвата данных и кукисов.

Как настроить HSTS для сайта

Некоторые хостинг-провайдеры дают возможность подключить эту опцию через личный кабинет пользователя. В остальных случаях необходимо добавить заголовок с нужными параметрами в настройках сервера. Варианты заголовков:
1
Strict-Transport-Security: max-age=<expire-time> — устанавливает временной промежуток действия HSTS для определенного сайта.
2
Strict-Transport-Security: max-age=<expire-time>; includeSubDomains — задает временной период и указывает, что технология HSTS распространяется на основной домен и его субдомены.
3
Strict-Transport-Security: max-age=<expire-time>; preload — указывает браузеру период действия HSTS и включение сайта в список Preload List.
Самый простой вариант заголовка выглядит так:
add_header Strict-Transport-Security "max-age=31536000;”
Он означает, что заголовок действует сроком на 1 год в секундах. При тестировании технологии лучше устанавливать минимальное значение после параметра «max-age». При возникновении багов за короткий промежуток времени ошибку увидят немногие пользователи. А вы сможете исправить ситуацию и проследить за посещениями вашего сайта при действующем заголовке HSTS.

Рекомендуется перед настройкой HSTS установить ликвидный SSL-сертификат и вручную настроить перенаправления всех страниц. Не стоит надеяться исключительно на автоматическую переадресацию браузера.

Сообщения о небезопасном соединении высвечиваются даже при наличии ссылок с переходами на незащищенные страницы. Поэтому перед подключением к данному механизму важно тщательно проверить все соединения на сайте.

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

В файле конфигурации сервера внесите данные:
<VirtualHost 67.89.123.45:443>
  Header always set Strict-Transport-Security "max-age=31536000; includeSubdomains;"
</VirtualHost>
Указанный срок действия заголовка обновляется при каждом переходе на сайт. В данном случае активный период составляет 1 год.

Для перенаправления пользователей на страницы с защищенным соединением включите команду:
<VirtualHost *:80>
  [...]
  ServerName site.ru
  Redirect permanent / https://site.ru/
</VirtualHost>
Вместо site.ru укажите домен сайта.

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

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

Найдите в панели хостинга файл конфигурации /etc/nginx/conf.d и внесите в него заголовок Strict Transport Security с нужным набором параметров. Используйте только тот сервер, который поддерживает технологию HSTS.

Не допускается применение на одном сервере двух версии одного сайта, с https-протоколом и без него. Настройте все перенаправления страниц с http на https.

Проверить статус сертификата SSL и узнать оценку сайта с точки зрения защищенности соединений можно через сервис SSL Server Test. Оценка «А» означает наличие сертификата безопасности. Оценка «А+» идентифицирует сайты с подключенной технологией HSTS.
Проверка защищенности сайта и поддержки HSTS онлайн в сервисе SSL Server Test

Заключение

Подключать сайт через алгоритм HSTS следует после полной проверки соединений страниц по протоколу https.

Чтобы дать браузеру команду всегда определять конкретный сайт как защищенный, следует добавить заголовок HTTP Strict Transport Security в конфигурационный файл на сервере и перезапустить его. Первый раз рекомендуется устанавливать минимальный срок действия заголовка, чтобы проверить правильность его работы и устранить ошибки.

В дальнейшем важно осуществлять поддержку HSTS на постоянной основе. При окончании срока действия SSL-сертификата или появлении страниц с незащищенным соединением пользователям будет выдаваться ошибка загрузки страниц сайта.

Подключение к списку Preload List фактически является односторонней процедурой, так как выйти из него на деле оказывается очень сложно.
Эта статья — часть модуля «Аудит сайта» в Serpstat
«Аудит сайта» в Serpstat
Аудит всего сайта или отдельной страницы в один клик. Полный список ошибок, отсортированный по критичности, пути их устранения и рекомендации. Любая периодичность проверки и автоматическая рассылка отчетов на почту.
Запустить аудит сайта

Сэкономьте время на изучении Serpstat

Хотите получить персональную демонстрацию сервиса, тестовый период или эффективные кейсы использования Serpstat?

Оставьте заявку и мы свяжемся с вами ;)

Оцените статью по 5-бальной шкале

3.25 из 5 на основе 4 оценок
Нашли ошибку? Выделите её и нажмите Ctrl + Enter, чтобы сообщить нам.

Поделитесь статьей с вашими друзьями

Войти Регистрация

Вы исчерпали лимит запросов.

Или email
Забыли пароль?
Или email
Back To Login

Не волнуйтесь! Напишите свой электронный адрес и мы пришлем вам новый пароль.

Вы уверены?

Awesome!

To complete your registration you need to enter your phone number

Назад

Мы отправили код подтверждения на ваш номер телефона

Your phone Resend code Осталось запросов

Что-то пошло не так.

Свяжитесь с нашей службой поддержки
Или подтвердите регистрацию с помощью Телеграм бота Перейдите по этой ссылке
Выберите один из проектов

Знакомство с сервисом

Ознакомьтесь с основными возможностями Serpstat удобным способом!

Отправьте заявку для ознакомления с сервисом и мы свяжемся с вами в кратчайшие сроки. Наш специалист предложит подходящий вариант, который может включать персональную демонстрацию, пробный период, материалы для обучения и повышения экспертизы, личную консультацию, а также комфортные условия для начала работы с Serpstat.

Имя

Email

Телефон

Будем рады вашему комментарию
Увеличить лимиты

Улучшить тариф

Экспорт недоступен для вашего тарифного плана. Вам необходимо улучшить свой тариф до Lite или выше, чтобы получить доступ к инструменту Подробнее

Зарегистрироваться

Спасибо, мы с вами свяжемся в ближайшее время

Пригласить
Просмотр Редактирование

E-mail
Сообщение
необязательно
E-mail
Сообщение
необязательно

У вас закончились лимиты

Вы достигли лимита на количество созданных проектов и больше не можете создавать новые проекты. Увеличьте лимиты или удалите существующие проекты.

Я хочу больше лимитов