HSTS это что такое и почему Ваша организация должна его использовать?
Здравствуйте, уважаемые друзья и гости блога atready.ru! HSTS это что такое? Давайте сейчас о нем узнаем?! Поехали …
Стандарт HTTPS-only – это способ для веб-сайтов гарантировать, что веб-браузеры всегда подключаются с использованием безопасного HTTPS-соединения – мы исследуем, что это такое, как это работает, а также преимущества (и риски) внедрения этой системы.
Если Вы просыпаетесь среди ночи с животрепещущими вопросами вроде «HSTS это что такое?» и «почему больше организаций не используют строгую транспортную безопасность http?» тогда Вам, вероятно, следует раз (или два) выпить успокоительное и выполнить некоторые методы релаксации, прежде чем лечь спать.
Но если строгая транспортная безопасность HTTP действительно вызывает интерес, и Вы хотите узнать, как веб-сайт использует HSTS, чтобы сделать соединения более безопасными для пользователей, мы будем рады внести ясность.
HSTS это что такое и как он связан с HTTPS?
Строгая транспортная безопасность HTTP – это политика веб-безопасности, которую веб-сайты могут использовать для направления веб-клиентов (браузеров), чтобы сделать веб-соединения более безопасными для пользователей. Некоторые называют это SSL HSTS. Или, как любит говорить один из моих восхитительных коллег, это «модный HTTPS».
Идея HSTS заключается в том, что он заставляет браузеры всегда загружать данный веб-сайт, используя безопасное соединение с протоколом передачи гипертекста (HTTPS).
Прежде чем мы продолжим, давайте кратко освежим в памяти HTTPS: HTTPS-соединение – это безопасное зашифрованное соединение между двумя сторонами – обычно между веб-клиентом (браузером) и веб-сервером (веб-сайтом), к которому они подключаются. Для облегчения соединения HTTPS необходимо установить сертификат SSL/TLS на сервере веб-сайта. Если этот сертификат является сертификатом организации (OV) или сертификатом расширенной проверки (EV), он одновременно гарантирует, что пользователь подключается к серверу законной организации, а также защищает целостность самого соединения.
А теперь вернемся к HSTS…
Таким образом, когда HSTS включен, это означает, что даже если веб-пользователь вводит «http://» в URL-адресе веб-сайта, браузер будет подключаться к сайту, используя протокол «https://» вместо незащищенного HTTP. Включение строгой транспортной безопасности HTTP похоже на то, как Ваши родители в детстве говорили Вам, что всегда нужно идти домой ночью по безопасной, хорошо освещенной, многолюдной улице, вместо того, чтобы идти по тенистым переулкам или малоизвестным проселочным дорогам.
В сценарии ходьбы Вы, вероятно, избежите серийных убийц и жутких парней, скрывающихся в тени. В сценарии HTTPS Ваши пользователи получат безопасное соединение. В любом случае, это беспроигрышный вариант.
Что такое HSTS: как он работает?
Давайте рассмотрим следующий пример с той же страницы Mozilla MDN, чтобы немного лучше понять, как HSTS применяется в реальном мире:
Вы входите в бесплатную точку доступа Wi-Fi в аэропорту и начинаете просматривать веб-страницы, посещая свою службу онлайн-банкинга, чтобы проверить свой баланс и оплатить пару счетов. К сожалению, используемая Вами точка доступа на самом деле является ноутбуком хакера, и они перехватывают Ваш исходный HTTP-запрос и перенаправляют Вас на клон сайта Вашего банка, а не на настоящий. Теперь Ваши личные данные доступны хакеру.
Строгая безопасность транспорта решает эту проблему; до тех пор, пока Вы заходили на веб-сайт своего банка один раз с помощью HTTPS, а на веб-сайте банка используется строгая транспортная безопасность, Ваш браузер будет автоматически использовать только HTTPS, что не позволяет хакерам выполнять такого рода действия посредника как атака.
Более технический способ работы HSTS заключается в том, что он использует заголовок HTTP для передачи определенных параметров безопасности клиентам веб-сайтов, поддерживающих HTTPS. По сути, политика предписывает браузеру включить HSTS для этого конкретного домена (и, в идеале, его поддоменов) и запомнить эту конкретную информацию в течение заданного периода времени.
Что такое HSTS: как использовать его на Вашем сайте
Хотите знать, в каких браузерах будет работать HSTS? Некоторые из основных браузеров (как для настольных, так и для мобильных устройств) уже имеют версии своего программного обеспечения, поддерживающие HSTS, в том числе:
- Google Chrome
- Apple Safari
- Mozilla Firefox
- Microsoft’s Internet Explorer and Edge
- Opera
Синтаксис для этого типа политики будет выглядеть примерно так, как этот пример информации заголовка из Mozilla MDN:
Strict-Transport-Security: max-age=<expire-time>
Вы можете написать инструкции для определенного количества секунд, на которое будет включен HSTS. Итак, чтобы установить HSTS на один год (365), Вы можете использовать следующий заголовок:
Strict-Transport-Security: max-age=31536000;
И, если Вы хотите убедиться, что политика предписывает браузеру всегда загружать поддомены через HTTPS, Вы можете указать это с помощью этого правила:
Strict-Transport-Security: max-age=31536000; includesSubDomains
Проблемы, связанные с тем, как веб-сайт использует HSTS
Хорошо, все это, очевидно, здорово и может способствовать более безопасной сети для пользователей. Но было бы упущением, если бы мы не включили хотя бы одно предостережение: HSTS не на 100% без риска. Существует небольшая вероятность того, что хакер сможет воспользоваться этим начальным подключением, когда пользователь впервые загружает веб-сайт с поддержкой HSTS.
Видите ли, за ту долю секунды до того, как клиент пользователя загрузит это сообщение заголовка, хакер с нужными инструментами и ноу-хау может понизить уровень зашифрованного соединения. Это позволило бы им либо направить их на фишинговый веб-сайт, либо напрямую украсть данные.
Но, опять же, это исключительно маленькое окно. Но если этого беспокойства достаточно, чтобы отказаться от идеи использования строгой транспортной безопасности HTTP, просто подождите немного. Есть способ помешать хакерам использовать это окно в своих интересах, известный как предварительная загрузка HSTS.
Что такое предварительная загрузка HSTS и почему она полезна для Вашей организации
Хотя это не является обязательным требованием, включение HSTS может быть полезным для предприятий и организаций, которые ценят конфиденциальность и безопасность данных своих клиентов. HSTS особенно полезен для веб-сайтов, на которых клиенты часто заходят в систему, что может быть заманчивой целью для атаки типа “злоумышленник внутри“. И предварительная загрузка HSTS – отличный способ добиться этого, а также снизить риски, связанные с инициализацией первого подключения к веб-сайту с поддержкой HSTS.
Список предварительной загрузки HSTS – это список доменов, которые веб-браузеры должны всегда обслуживать через зашифрованное соединение HTTPS. Все основные браузеры, такие как Chrome, Firefox и Safari, либо извлекают из списка предварительной загрузки Google HSTS, либо имеют свои собственные на основе этого списка.
Согласно проекту Google Chromium, в списке предварительной загрузки HSTS уже есть несколько известных имен:
- Stripe
- LastPass
- Simple
Черт возьми, даже правительство США наконец решило официально встать на подножку предзагрузки HSTS! (И мы уверены, что нам не нужно рассказывать Вам, какой грандиозный рывок где-то предпринял какой-то администратор!) В июне 2020 года Управление общих служб США (GSA) объявило о своем намерении использовать предварительную загрузку HSTS для всех новых Домены .gov, начинающиеся с 1 сентября 2020 года. Их (конечная) цель – установить HTTPS-соединения для всех веб-сайтов .gov, но это произойдет через несколько лет, прежде чем это может произойти в связи с переносом существующих веб-сайтов .gov.
Таким образом, в случае доменов верхнего уровня (TLD) .gov это означает, что всякий раз, когда пользователь пытается подключиться к веб-сайту .gov в этом списке через браузер, поддерживающий HSTS, он сможет загрузить сайт только через HTTPS.
Если Вы хотите, чтобы Ваш домен был включен в список предварительной загрузки HSTS, Вы можете использовать этот заголовок:
Strict-Transport-Security: max-age=31536000; includesSubDomains; preload
Заключительные мысли о том, HSTS это что такое и использование предварительной загрузки HSTS
Использование HTTPS-соединения для Вашего веб-сайта необходимо как с точки зрения обеспечения безопасности данных Ваших клиентов (и Ваших собственных данных), так и с точки зрения обеспечения того, чтобы Ваш сайт выглядел законным в глазах поисковых алгоритмов Google. Мы говорим это потому, что Google в значительной степени сделал HTTPS обязательным, посчитав его одним из факторов ранжирования несколько лет назад.
Итак, хотя использование предварительной загрузки HSTS и HSTS не является обязательным (если только Вы не отвечаете за новые домены .gov, начиная с 1 сентября), легко понять, почему это можно считать общей разумной практикой, когда безопасность веб-сайта обеспокоен.
- Это простой, но эффективный процесс, который обеспечивает большую безопасность Ваших пользователей в отношении их личных и/или финансовых данных.
- Это помогает Вашему сайту завоевать большее доверие в глазах Ваших пользователей.
- Включение HSTS помогает обеспечить соблюдение правил конфиденциальности и безопасности данных, требующих использования HTTPS.
Мы надеемся, что эта статья ответила на Ваши вопросы о том, «HSTS это что такое?» или «что такое строгая транспортная безопасность HTTP». Конечно, если у Вас все еще есть вопросы о том, HSTS это что такое, не забудьте оставить комментарий ниже. Всем удачи и благополучия! До новых встреч!