Нужен ли SSL-сертификат с подстановочными знаками для включения в список предварительной загрузки HSTS?

9

Я хочу добавить свой личный сайт в список предварительной загрузки Chrome HSTS .

Сайт там говорит:

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

  • Иметь действующий сертификат.
  • Перенаправить весь HTTP-трафик на HTTPS - т.е. быть только HTTPS.
  • Обслуживать все субдомены по HTTPS.
  • Обслуживание заголовка HSTS на базовом домене:
    • Срок действия должен быть не менее восемнадцати недель (10886400 секунд). Токен includeSubdomains должен быть указан. Токен предварительной загрузки должен быть указан. Если вы обслуживаете перенаправление, у этого перенаправления должен быть заголовок HSTS, а не страница, на которую он перенаправляет.

Означает ли это, что мой сертификат должен быть действительным для всех поддоменов или только для того, чтобы они были доступны / обслуживались по HTTPS? (У меня есть сертификат для sub.example.com, но не рут.)

Могу ли я обратиться к списку предварительной загрузки HSTS с субдоменом, например sub.example.com?

Кевин Берк
источник

Ответы:

5

Все субдомены должны использовать HTTPS?

Технически, чтобы быть включенным, только корневой домен должен использовать HTTPS, но как только вы включите его, любые сайты в корневом домене должны будут использовать HTTPS, в противном случае подключение не будет выполнено, поэтому практически вы захотите, чтобы все субдомены использовали HTTPS.

Могу ли я применить к списку предварительной загрузки HSTS субдомен, например, sub.example.com?

Нет, если вы попытаетесь проверить поддомен, вы получите следующее предупреждение

example.jrtapsell.co.ukэто поддомен. Пожалуйста, предварительно загрузите jrtapsell.co.ukвместо этого. (Из-за размера списка предварительной загрузки и поведения файлов cookie по поддоменам мы принимаем только автоматические представления списка предварительной загрузки целых зарегистрированных доменов.)

Этот способ проверяется с помощью общедоступного списка суффиксов, например, такого: https://publicsuffix.org/list/

Нужно ли использовать подстановочный сертификат для подачи заявки на список предварительной загрузки?

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

jrtapsell
источник
3

Хотя я лично не пробовал, прочитав стандарт HSTS ( RFC 6797 ), я понимаю / понимаю следующее:

  • Если родительский домен является HSTS-совместимым, то он не должен, но может принудительно применять политику для поддоменов, чтобы также быть HSTS-совместимым, выполнив директиву includeSubDomains в заголовке HTTP STS.

  • Если родительский домен не совместим с HSTS, он не помешает поддомену быть совместимым с HSTS. Субдомен должен иметь возможность полностью работать с HSTS при условии, что он выдает соответствующие заголовки HTTP и работает правильно по адресу https://subdomain.example.com/ .

richhallstoke
источник
3

Для включения в список предварительной загрузки HSTS необязательно иметь подстановочный SSL-сертификат .

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

Джейк Адли
источник
1
Хотя я думаю, что это правда, есть ли у вас какие-либо ссылки, чтобы поддержать это?
Эндрю Лотт
1

Необходимо включить все субдомены в качестве SSL, чтобы попасть в список предварительной загрузки, который можно найти здесь https://hstspreload.appspot.com/

  1. Иметь действующий сертификат.
  2. Перенаправить весь HTTP-трафик на HTTPS - т.е. быть только HTTPS.
  3. Обслуживать все субдомены по HTTPS.
  4. Обслуживание заголовка HSTS на базовом домене:
    • Срок действия должен быть не менее восемнадцати недель (10886400 секунд).
    • Токен includeSubdomains должен быть указан.
    • Токен предварительной загрузки должен быть указан.
    • Если вы обслуживаете перенаправление, у этого перенаправления должен быть заголовок HSTS, а не страница, на которую он перенаправляет.

Означает ли это, что вам нужен подстановочный знак? Нет. Вы можете получить отдельные сертификаты SSL для каждого субдомена. Это, вероятно, будет самый дешевый маршрут. Вы можете выбрать подстановочный знак, но пока у вас нет 5+ поддоменов, которые стоит защищать, это не стоит финансово. В любом случае, все поддомены должны быть в режиме HTTPS, если вы хотите быть предварительно загружены.

Используя эту мысль, если вы используете субдомен в качестве корня, вам придется защищать субдомен субдомена таким же образом :) Или, конечно, и в обратном направлении вы не можете объявить HSTS на субабоненте без защиты TLD корень.

dhaupin
источник
Таким образом, чтобы было ясно, я не мог отправить sub.example.com, если example.com не проверял с SSL.
Кевин Берк
@KevinBurke Это правильно, брат. Это как отношения между родителями и детьми, выходящие из ДВУ. Я не уверен, что sub.sub.example будет требовать TLD SSL, хотя (мне никогда не приходилось HSTS подпрограммы на подпрограмме). Я предполагаю, что так будет, поскольку это политика, основанная на полномочиях / области действия корневого домена.
дхаупин
@KevinBurke Примечания: Также убедитесь, что ваш кеш HSTS составляет 180+ дней для прохождения Quelys / PCI и что любой приобретаемый вами SSL является RSA2 (56). Если вы когда-нибудь решите не загружать подпрограммы, установите кэш 0 на неделю или 2, чтобы очистить клиенты перед удалением флага предварительной загрузки.
Дхаупин