Обсудим ваш проект?
Комплексный интернет-маркетинг
17 лет опыта | 90+ специалистов
Отправить заявку

Технология HSTS: что это такое?

Обновлено: 26 января 2021
Время на прочтение:
Просмотров: 12461
Дарья Иванова
редактор
Станислав Мозгель
руководитель отдела веб-разработки
Редполитика
Мы прилагаем все усилия, чтобы наши обзоры были максимально честными, точными и объективными. Если вы посещаете ссылки в нашем контенте, мы можем получить комиссионное вознаграждение от ваших покупок, однако это не влияет на нашу редакционную политику и мы не станем рекомендовать продукты или сервисы, в которых не уверены.

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


Что такое HSTS?

Несколько лет назад вебмастера повально стали устанавливать на свои ресурсы SSL-сертификаты, призванные повысить уровень сохранности пользовательских данных. Однако, если разбираться в технологии, то для максимальной безопасности ее может быть недостаточно. Все дело в том, что пользователь, вводя в строке браузера адрес домена, предварительно попадает на незащищенную версию сайта, а уже после перенаправляется на версию с протоколом HTTPS. Этот принцип работы сервера позволяет злоумышленникам получать доступ к данным пользователей различными способами. Решить эту проблему позволяет технология HSTS.

Суть ее работы заключается в том, что браузеру передается защищенный заголовок HTTP Strict Transport Security, и происходить это может даже в первое посещение пользователем ресурса (если домен добавлен в Preload List). Благодаря этому заголовку, браузеру указывается необходимость включения защищенного соединения HTTPS, т.е. доступна становится исключительно данная версия соединения, а незащищенный HTTP перестает обслуживаться. Другими словами, перехватить запрос браузера в момент редиректа с HTTP на HTTPS уже не получится.

Нет времени разбираться?
Комплексное продвижение в онлайне
Разрабатываем стратегии продвижения бизнеса в онлайне с пошаговым планом действий, и обеспечиваем его реализацию. Проектируем, реализуем, поддерживаем и развиваем сайты, приводим на сайт целевой трафик (реклама, SEO, email-рассылки), расширяем присутствие компании на сторонних площадках, настраиваем аналитику и проводим постклик анализ.
Ваш сайт:

Интересный момент, если активирован механизм HSTS, то в случае присутствия на сайте страниц, работающих по незащищенному протоколу, доступ к ним автоматически будет закрыт. Та же ситуация возникнет, если закончился срок действия SSL-сертификата.

Как внедрить HSTS?

При первом посещении сайта, пользователь получает незащищенное соединение даже при использовании HSTS. Чтобы добиться максимального эффекта от внедрения этого механизма, необходимо добавить домен в специальный Preload List – список сайтов, созданный Google. Данный листинг поддерживается большинством браузеров, а для проверки наличия сайта в этом списке можно воспользоваться одним из специализированных сервисов (например, ssllabs.com). В Preload List перечислены домены, использующие механизм HSTS-заголовка с выставленным максимальным сроком действия и флагом preload.

Но перед добавлением домена в листинг, надо понимать, что после, сайт перестанет быть доступным по протоколу HTTP в принципе – будет возможно лишь соединение по HTTPS. Поэтому, нужно быть уверенным, что планируется постоянное использование SSL-сертификата, при этом не забывая его вовремя продлять.

Установка сертификата

Первым шагом на пути активации технологии HSTS, будет корректная установка SSL-сертификата. Данную услугу предоставляют большинство ведущих хостинг-провайдеров. Акцентировать внимание на принципах выбора сертификата не будем, скажем лишь о том, что, как правило, они приобретаются на один год, далее продляются (или перевыпускаются).

После установке важно проверить работу настроек – должно происходить автоматическое перенаправления с протокола HTTP на HTTPS, если все в порядке, идем дальше.

Настройка HSTS

Здесь есть два варианта: активация механизма посредством возможностей личного кабинета хостинг-провайдера. В этом случае, все довольно-таки просто. И второй – ручная настройка сервера, поговорим об этом ниже.

Предварительно требуется выбрать вариант заголовка:

  • Strict-Transport-Security: max-age=<expire-time> – определяет время действия HSTS для указанного домена.
  • Strict-Transport-Security: max-age=<expire-time>; includeSubDomains – также определяет время действия, но действие распространяется не только на домен, но и на его поддомены.
  • Strict-Transport-Security: max-age=<expire-time>; preload – помимо определения сроков действия HSTS, указывает браузеру пользователя о том, что данный домен состоит в списке листинга Preload List.
Привлекли 35.000.000 людей на 185 сайтов
Мы точно знаем, как увеличить онлайн–продажи
Применяем лучшие практики digital–продвижения как из вашей тематики, так и из смежных областей бизнеса. Именно это сделает вас на голову выше конкурентов и принесёт лиды и продажи.
Ваш сайт:

Директивы заголовка:

  • max-age – присутствует в любом варианте заголовка и является обязательной. Указывает браузеру пользователя срок хранения типа соединения в секундах. Обычно задается срок хранения 31536000 и 63072000 (1 и 2 года, соответственно). Также можно выставить значение 0, в этом случае браузер будет сбрасывать информацию о соединении при каждом визите пользователя.
  • Includesubdomains – если домен содержит поддомены, то в заголовке задается данная директива. Чтобы обеспечить высокий уровень безопасности соединения, рекомендуется указать ссылку каждого поддомена на основной.
  • Preload – директива показывает, что сайт поддерживает предварительную загрузку HSTS и добавлен в листинг Preload List.

Пример заголовка:

Strict-Transport-Security: "max-age=31536000;” preload

Данный заголовок передает браузеру следующую информацию: срок действия заголовка составляет 1 год (31536000 – секунды), домен добавлен в базу листинга. Если в течении этого срока на сайте перестает действовать SSL-сертификат, то браузер будет автоматически разрывать соединение.

Настройка в Apache

Если сервер работает на Apache, то для активации HSTS необходимо добавить в его файл конфигурации следующие параметры:

 

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

В этом случае, срок действия выставлен 1 год, сам заголовок будет обновляться при каждом посещении ресурса. При этом, для перенаправления на страницы, работающие по протоколу HTTPS, следует добавить параметр (domain.com – ваш домен):

<VirtualHost *:80>
  [...]
  ServerName domain.com
  Redirect permanent / https://domain.com/
</VirtualHost>

Настройка для Ngnx

Аналогичным образом, внеся дополнительные параметры в конфигурационный файл, который, как правило, располагается по пути «/etc/nginx/conf.d». Параметры представляют собой прописанный заголовок из вариантов, перечисленных выше.

Ngnx позволяет использовать на одном сервере исключительно вариант с защищенным или незащищенным соединением. Одновременная поддержка работы этих протоколов не поддерживается.

Добавление в Preload List

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

Итак, алгоритм действий:

  1. Установить валидный SSL-сертификат на сервер.
  2. Должно корректно работать перенаправление с HTTP на HTTPS, все редиректы необходимо проверить. Помните, если какая-либо страница не доступна по HTTPS, после добавления в листинг, она будет недоступна в принципе.
  3. Настроить сервер на передачу заголовка Strict Transport Security.
  4. На сайте https://hstspreload.org ознакомиться с информаций, а добавление происходит в специальной форме.

Проверка HSTS

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

  1. На стороне Apache с помощью CURL (где domain.com – имя проверяемого домена):

          $ curl -s -D- https://domain.com | grep Strict Strict-Transport-Security: max-age=31536000; includeSubdomains;
  2. С помощью сервисов:

Актуальность использования HSTS

Предварительная загрузка заголовка, безусловно, значительно повышает безопасность сайта (а точнее пользовательских данных), но требуется ли это для среднестатистических ресурсов? Скорее всего нет. Однако, данное решение будет оправданным, если на сайте производятся какие-либо транзакции, передается личная информация пользователей и прочее.

Если было решено включить HSTS на сайт, то рекомендуется вначале устанавливать минимально возможный срок действия заголовка (max-age), это позволит оперативно исправлять ошибки (речь про недоступность страниц по HTTPS) с минимальными последствиями.

Если говорить со стороны SEO-продвижения, то наличие HSTS на сайте может положительно повлиять на ранжирование сайта. Достигается это косвенным путем благодаря тому, что сокращается скорость загрузки страниц – серверу не требуется совершать перенаправления с HTTP на HTTPS, сразу загружается второй вариант протокола.

Методология выбора
Кто мы
Директ Лайн
Крупнейшее региональное интернет-агентство России. ТОП-10 в рейтинге Рунета.
1200 +
проектов
90
экспертов
17лет
на рынке
Наша методология
Статьи в блоге Директ Лайн — это всегда оригинальный, проверенный и объективный контент. Все обзоры и рейтинги честно отражают наше мнение и опыт взаимодействия с каждым инструментом.
Содержание
Комментарии

Комплекс услуг для вашего бизнеса

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

Читайте также

Бесплатный аудит SEO
и рекламного трафика
Покажем точки роста вашего проекта,
если по нему уже ведутся работы