По умолчанию, если схема (http или https) явно не указана, используется http.
Поэтому перенаправление необходимо, чтобы перенаправить его на предпочтительную версию https, поскольку большинство посетителей, которые вводят URL-адрес, не будут включать схему и поэтому перейдут на версию http.
HTTP Strict-Transport-Security (HSTS) – это метод безопасности, гарантирующий, что вы всегда будете оставаться на https. На самом деле это не предназначено для того, чтобы избавиться от необходимости перенаправления. В частности, HSTS работает, отправляя вашему веб-браузеру сообщение (используя заголовок ответа HTTP), чтобы сказать: «Пожалуйста, используйте только https для этого сайта в течение следующего периода времени X». Это сообщение следует отправлять только при посещении сайта через https. Поэтому, если вы не перенаправляете в первую очередь, многие посетители могут даже не знать, что у вас https-сайт, и поэтому не получат инструкцию HSTS.
HSTS в основном используется как способ изменить веб-сайт по умолчанию на https и предотвратить атаки «человек посередине» (MITM), которые могут попытаться удержать вас на http: например. если вы подключитесь к сети Wi-Fi хакера и зайдете на веб-сайт вашего банка, они не смогут перехватить это соединение, если оно осуществляется через https, но смогут, если это будет сделано через http, поэтому злоумышленники перехватят HTTP-запрос и остановят происходит перенаправление, чтобы держать вас на http и перехватывать все сообщения в ваш банк и из него.
Вы можете «предварительно загрузить» инструкцию HSTS в код веб-браузера, что обеспечивает еще большую безопасность, поскольку вам не нужно сначала посещать сайт через https, чтобы получить инструкцию HSTS. Следует оговориться, что от этого в принципе нет пути назад, и это следует учитывать только в том случае, если вы действительно понимаете HSTS. Есть много-много-много запросов на удаление сайтов из списка предварительной загрузки что занимает минимум 3 месяца для Chrome (без гарантий для других браузеров) и делает ваш сайт полностью недоступным в течение этого времени, если вы не используете https. Так что здесь есть реальная опасность! В частности, если часть вашего сайта обслуживается через https (например, www.example.com), а часть — нет (например, intranet.example.com). Это также опасность HSTS, но еще более опасная с предварительной загрузкой.
Еще один момент, который следует отметить, заключается в том, что многие веб-агенты не будут использовать HSTS и особенно списки предварительной загрузки (например, сканеры поисковых систем, старые браузеры и т. д.). Итак, снова HSTS следует использовать поверх перенаправления, а не вместо него.
HSTS — отличная мера безопасности, и ее следует использовать на всех сайтах (после того, как они полностью перестанут использовать http), но, как и большинство мер безопасности, имеет свои риски. Поэтому убедитесь, что вы понимаете это, прежде чем развертывать его. Я ненавижу сайты и учебные пособия, которые говорят включить его, не объясняя это и риски. Теоретически сайт, использующий HSTS, может больше не нуждаться в перенаправлении, но на практике это все равно потребуется для первого посещения и агентов, которые не понимают или не реализуют HSTS.
Обобщить:
- Всегда используйте редиректы.
- Настоятельно рассмотрите HSTS, но сначала прочитайте об этом и начните с низкого максимального возраста, без включения поддоменов и предварительной загрузки - пока вы действительно не поймете, что они означают.
- если вы используете сайт с высоким уровнем риска, рассмотрите возможность включения вашего сайта в список предварительной загрузки HSTS в качестве высокого уровня безопасности, но опять же помните о рисках здесь. Делайте это только в том случае, если вы действительно понимаете HSTS и чувствуете, что вам нужен этот уровень безопасности.
person
Barry Pollard
schedule
18.03.2017