Введение в HSTS
HSTS расшифровывается как HTTP Strict-Transport-Security, что является механизмом политики веб-безопасности. HSTS впервые был включён в ThoughtWorks Technology Radar в 2015 году, а в последнем выпуске Technology Radar в 2016 году он сразу перешёл от стадии «Испытаний» к фазе «Принятие», что означает, что ThoughtWorks активно выступает за активное внедрение этой меры защиты в отрасли, и ThoughtWorks применяет её в собственных проектах. Ядром HSTS является HTTP-заголовок ответа. Именно он сообщает браузеру, что текущее доменное имя доступно только через HTTPS в течение следующего периода, и если браузер обнаружит, что текущее соединение небезопасно, он принудительно отклонит последующие запросы пользователя.
Сайт с политикой HSTS гарантирует, что браузер всегда подключён к версии сайта с HTTPS-шифрованием, исключая необходимость вручную вводить зашифрованный адрес в строку URL и снижает риск захвата сессии.
HTTPS (SSL и TLS) обеспечивает безопасное общение пользователей и сайтов, что затрудняет злоумышленникам перехват, модификацию и выдачу себя за них. Когда пользовательВведите доменное имя или http:// ссылку вручную, на сайтеПервый запрос не зашифрован, используя простой http. Самые защищённые сайты сразу же отправляют перенаправление, направляющее пользователя на https-соединение, однако,Злоумышленник «человек посередине» может атаковать, чтобы перехватить первоначальный HTTP-запрос и таким образом контролировать последующий ответ пользователя。
Принципы HSTS
HSTS в основном управляет операциями браузера, отправляя заголовки ответов с сервера: Когда клиент делает запрос через HTTPS, сервер включает поле Strict-Transport-Security в заголовок ответа HTTP, который он возвращает. После того как браузер получает такую информацию,Любой запрос на сайт в течение определённого периода времени инициируется через HTTPSбез перенаправления на HTTPS сервером, инициированным HTTP.
Формат заголовка ответа HSTS
Описание параметра:
max-age (за секунды): Используется для того, чтобы браузер сообщил, что сайт должен быть доступен через протокол HTTPS в течение определённого времени. То есть, для HTTP-адреса этого сайта браузер должен заменить его локально на HTTPS перед отправкой запроса. includeSubDomains (необязательно): Если этот параметр указан, он означает, что все поддомены сайта также должны быть доступны через протокол HTTPS. предзагрузка: Список доменных имён, использующих HTTPS, встроенный в браузер.
Список предзагрузки HSTS
Хотя HSTS — хорошее решение для атак с деградацией HTTPS, для HSTSПервый HTTP-запрос до того, как он вступит в силу, всё ещёЭтого невозможно избежатьУгнали。 Для решения этой проблемы производители браузеров предложили решение HSTS Preload List. (опущено)
Конфигурация IIS
Перед настройкой посетите сайт, как показано ниже:
Чтобы реализовать это в IIS7+, достаточно добавить требование CustomHeader для HSTS в web.config, который настроен следующим образом:
После внесения изменений посетите сайт, как показано ниже:
Конфигурация Nginx
Если сайт использует обратный прокси nginx, вы также можете настраивать nginx напрямую для его реализации, следующим образом:
Правила Chrome View
Чтобы увидеть актуальные правила HSTS, используйте Google Chrome для вводаchrome://net-internals/#hstsВходите в машину, как показано на рисунке ниже:
ссылка
Строгая транспортная безопасность HTTP:Вход по гиперссылке виден.
(Конец)
|