HSTS понимание
Я заинтересован в механизме HSTS и хочу уточнить следующий момент:
Например, есть сайт https://example.com/ существует. Я использую http://chrome//net-internals/, чтобы проверить, включен ли там HSTS. И это показывает следующую информацию:
static_sts_domain:
static_upgrade_mode: UNKNOWN
static_sts_include_subdomains:
static_sts_observed:
static_pkp_domain:
static_pkp_include_subdomains:
static_pkp_observed:
static_spki_hashes:
dynamic_sts_domain: example.com
dynamic_upgrade_mode: FORCE_HTTPS
dynamic_sts_include_subdomains: true
dynamic_sts_observed: 1524145911.957196
dynamic_sts_expiry: 1555681911.957194
dynamic_pkp_domain:
dynamic_pkp_include_subdomains:
dynamic_pkp_observed:
dynamic_pkp_expiry:
dynamic_spki_hashes:
Так что я ожидаю и думаю, что там включен HSTS. Но в то же время нет Strict-Transport-Security
заголовок в ответе. Почему chrome отображает такую информацию и включен ли HSTS для этого сайта?
1 ответ
Но в то же время в ответе нет заголовка Strict-Transport-Security.
Должно быть, это было в какой-то момент, потому что динамическая запись была добавлена в ваш экземпляр Chrome.
Также помните, что HSTS можно отправлять на любой ресурс, а не только на основной документ. Так что, если вы отправляете его на ресурс логотипа, то это установит его для всего домена.
Вы можете очистить его, используя тот же chrome://net-internals/#hsts
страницу и посмотреть, вернется ли она после просмотра? Если так, то что-то все еще отправляет, если нет, то, возможно, сайт, используемый для рекламы HSTS, но больше не делает.
Он был активен в течение одного года:
(1555681911.957194 - 1524145911.957196) / 365 / 24 / 60 = 1 year
И из моих грубых расчетов, пытающихся конвертировать эти метки даты, похоже, что последний раз это было установлено 20 апреля 2018 года.
Если сайт действительно прекратил использовать HSTS по какой-либо причине, может быть лучше вместо этого объявить заголовок 0, так что по крайней мере те посетители, которые посещают через HTTPS, теперь удалят политику:
Strict-Transport-Security: max-age=0; includeSubDomains
Любой, кто не посещает через HTTPS, не будет очищен, пока не истечет срок его действия.
HSTS представляет собой строгую транспортную безопасность HTTP. В тот момент, когда у вас есть поддержка HSTS, он не позволяет изначально размещать сайт в HTTP до использования перенаправления 301. Это означает, что у программистов нет времени проскользнуть и использовать его с HTTP и не дать сайту накапливать HTTPS. HSTS позволяет сайту складываться только по протоколу HTTPS, обеспечивая дополнительный уровень безопасности для вашего сайта. Этот уровень безопасности сообщает программе, что у сайта есть гарантия HTTPS и нет веских причин для попытки доступа к сайту по HTTP. Это закроет маленькое окно, которое программисты получили во время переадресации 301. См. Шаги ниже:
Чтобы получить подробное представление о протоколах гипертекста и поддержке HSTS, нажмите здесь.