Безопасность

Что такое HSTS и как он защищает HTTPS от хакеров?

Что такое HSTS и как он защищает HTTPS от хакеров?

Возможно, вы убедились, что на ваших веб-сайтах включена поддержка SSL, а красивый замок безопасности в вашем браузере зеленый. Тем не менее, вы, возможно, забыли о маленьком специалисте по безопасности HTTP, HTTP Strict Transport Security (HSTS).

Что такое HSTS и как он может помочь обеспечить безопасность вашего сайта?

Что такое HTTPS?

HTTPS опирается на HSTS

Hyper Text Transfer Protocol Secure (HTTPS) — это защищенная версия веб-сайта (HTTP). Шифрование включается с использованием протокола Secure Sockets Layer (SSL) и проверяется сертификатом SSL. При подключении к веб-сайту HTTPS информация, передаваемая между веб-сайтом и пользователем, шифруется.

Это шифрование помогает защитить вас от кражи данных посредством атак типа «человек посередине» (MITM). Добавленный уровень безопасности также немного помогает улучшить репутацию вашего сайта. На самом деле, добавить сертификат SSL так просто, что многие веб-хосты добавят его на ваш сайт по умолчанию бесплатно! Тем не менее, HTTPS все еще имеет некоторые недостатки, которые HSTS может помочь исправить.

Что такое HSTS?

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

Вы можете не знать, что, даже если вы правильно настроили свой SSL-сертификат и включили HTTPS для своего веб-сайта, версия HTTP все еще доступна. Это верно даже в том случае, если вы настроили переадресацию с помощью перманентного перенаправления 301.

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

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

Что такое зачистка SSL?

Хотя HTTPS является огромным улучшением по сравнению с HTTP, он не уязвим для взлома. Разбор SSL — это очень распространенный взлом MITM для веб-сайтов, использующих перенаправление для отправки пользователей с HTTP на HTTPS-версию их веб-сайта.

301 (постоянный) и 302 (временный) перенаправление в основном работает так:

  1. Пользователь вводит google.com в адресную строку своего браузера.
  2. Сначала браузер пытается загрузить http://google.com по умолчанию.
  3. «Google.com» настроен на постоянное перенаправление 301 на https://google.com .
  4. Браузер видит перенаправление и загружает https://google.com .

С разбором SSL хакер может использовать время между этапами 3 и 4, чтобы заблокировать запрос на перенаправление и запретить браузеру загружать защищенную (HTTPS) версию веб-сайта. Поскольку вы затем получаете доступ к незашифрованной версии веб-сайта, любые введенные вами данные могут быть украдены.

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

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

Как включение HSTS останавливает разбор SSL?

Включение HSTS заставляет браузер загружать защищенную версию веб-сайта и игнорирует любые перенаправления и любые другие вызовы для открытия HTTP-соединения. Это закрывает уязвимость перенаправления, существующую при перенаправлении 301 и 302.

У HSTS есть и отрицательная сторона: браузер пользователя должен хотя бы один раз увидеть заголовок HSTS, чтобы использовать его для будущих посещений. Это означает, что им придется хотя бы один раз пройти через процесс HTTP> HTTPS, что сделает их уязвимыми при первом посещении веб-сайта с поддержкой HSTS.

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

Проверка преднагрузки HSTS

Веб-сайты, добавленные в этот список, будут жестко закодированы в будущих версиях обновлений Chrome. Это гарантирует, что все, кто посещает ваши сайты с поддержкой HSTS в обновленных версиях Chrome, будут в безопасности.

Firefox, Opera, Safari и Internet Explorer имеют собственный список предварительной загрузки HSTS, но они основаны на списке Chrome на hstspreload.org .

Как включить HSTS на вашем сайте

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

Включить HSTS довольно просто. Вам просто нужно добавить заголовок к файлу .htaccess на вашем сайте. Нужно добавить заголовок:

Strict-Transport-Security: max-age=31536000; includeSubDomains 

При этом добавляются cookie для доступа к максимальному возрасту на один год ( что такое cookie? ), который включает ваш веб-сайт и любые субдомены. После того, как браузер получил доступ к сайту, он не сможет получить доступ к незащищенной HTTP-версии сайта в течение года. Убедитесь, что все субдомены в этом домене включены в сертификат SSL и имеют включенный HTTPS. Если вы забудете об этом, субдомены не будут доступны после сохранения файла .htaccess.

Веб-сайты, на которых отсутствует опция includeSubDomains, могут подвергать посетителей утечкам конфиденциальности, позволяя поддоменам манипулировать файлами cookie. С включенным includeSubDomains эти атаки, связанные с cookie, будут невозможны.

Примечание. Перед добавлением максимального возраста на один год сначала протестируйте весь веб-сайт с максимальным возрастом в пять минут, используя: max-age = 300;

Google даже рекомендует протестировать свой веб-сайт и его производительность (трафик) с недельным значением и значением в один месяц, а также до достижения максимального возраста, равного двум годам.

 Five minutes: Strict-Transport-Security: max-age=300; includeSubDomains One week: Strict-Transport-Security: max-age=604800; includeSubDomains One month: Strict-Transport-Security: max-age=2592000; includeSubDomains 

Составление списка предварительной загрузки HSTS

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

Чтобы иметь право на получение списка предзагрузки HSTS, используемого Chrome и другими браузерами, ваш веб-сайт должен соответствовать следующим требованиям:

  1. Подать действительный сертификат SSL.
  2. Перенаправьте с HTTP на HTTPS на том же хосте, если вы прослушиваете порт 80.
  3. Обслуживать все субдомены по HTTPS. В частности, вы должны поддерживать HTTPS для www.subdomain, если существует запись DNS для этого субдомена.
  4. Обслуживайте заголовок HSTS в базовом домене для запросов HTTPS:
    • Максимальный возраст должен быть не менее 31536000 секунд (1 год).
    • Директива includeSubDomains должна быть указана.
    • Директива предварительной загрузки должна быть указана.
    • Если вы обслуживаете дополнительную переадресацию с вашего сайта HTTPS, эта переадресация должна все еще иметь заголовок HSTS (а не страницу, на которую он перенаправляет).

Если вы хотите добавить свой веб-сайт в список предварительной загрузки HSTS, обязательно добавьте необходимый тег предварительной загрузки . Параметр «Предварительная загрузка» означает, что вы хотите, чтобы ваш веб-сайт был добавлен в список предварительной загрузки Chrome HSTS. Заголовок ответа в .htaccess должен выглядеть следующим образом:

 Strict-Transport-Security: max-age=63072000; includeSubDomains; preload 

Мы рекомендуем вам добавить свой сайт на hstspreload.org . Требования довольно легко удовлетворить, и это поможет защитить посетителей вашего сайта и потенциально улучшить рейтинг вашего сайта в поисковых системах.

Похожие посты
Безопасность

Лучшие 36 сочетаний клавиш для Microsoft Edge и IE 11

Безопасность

Управляйте браузером Firefox с помощью команд «О программе»

Безопасность

Microsoft Security Essentials Бесплатное антивирусное программное обеспечение

Безопасность

Avira Rescue System v16