В приложении ASP.NET Core 2.2 мы включили HSTS, используя app.UseHsts();
, который добавляет HSTS с max-age
из 30 дней в заголовок ответа.
В скрипаче
Strict-Transport-Security: max-age=2592000
Затем в Chrome, если я перехожу к 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: subdomain.example.com //our domain name here
dynamic_upgrade_mode: FORCE_HTTPS
dynamic_sts_include_subdomains: false
dynamic_sts_observed: 1572023505.777819
dynamic_sts_expiry: 1574615505.777818
Вопросы
- Какова единица измерения
dynamic_sts_observed
иdynamic_sts_expiry
. Не похоже, что это секунды. Как рассчитывается значение? - Если пользователь продолжает посещать сайт каждый день, значение постоянно обновляется? Другими словами, это скользящая экспирация?
- Что происходит после истечения срока?
- Что произойдет, если пользователь уже посещал сайт и его браузер уже кэшировал HSTS в течение 30 дней. Но через пару дней мы изменили значение с 30 дней на 90 дней. Когда браузер пользователя получит обновленное значение? По истечении срока или при следующем посещении?
- URL-адрес, который пользователь просматривает, уже является субдоменом, например
https://subdomain.example.com
. Сертификат SSL, который мы используем, является сертификатом с подстановочными знаками.*.example.com
. Итак, нужно ли включать в конфигурацию HSTS субдомен? нравитсяStrict-Transport-Security: max-age=2592000, includeSubDomain