Czy potrzebuję wieloznacznego certyfikatu SSL do włączenia na listę wstępnego ładowania HSTS?

9

Chciałbym przesłać moją osobistą witrynę na listę wstępnego ładowania Chrome HSTS .

Witryna mówi:

Aby zostać uwzględnionym na liście wstępnego ładowania HSTS, witryna musi:

  • Posiadaj ważny certyfikat.
  • Przekieruj cały ruch HTTP na HTTPS - tzn. Bądź tylko HTTPS.
  • Podaj wszystkie subdomeny przez HTTPS.
  • Podaj nagłówek HSTS w domenie podstawowej:
    • Termin ważności musi wynosić co najmniej osiemnaście tygodni (10886400 sekund). Token includeSubdomains musi zostać określony. Token wstępnego ładowania musi zostać określony. Jeśli podajesz przekierowanie, przekierowanie to musi mieć nagłówek HSTS, a nie stronę, na którą przekierowuje.

Czy to oznacza, że ​​mój certyfikat musi być ważny dla wszystkich subdomen, czy tylko, że są one dostępne / obsługiwane przez HTTPS? (Mam certyfikat dla sub.example.com, ale nie root.)

Czy mogę ubiegać się o listę wstępnego ładowania HSTS z poddomeną, na przykład sub.example.com?

Kevin Burke
źródło

Odpowiedzi:

5

Czy wszystkie subdomeny muszą korzystać z HTTPS?

Technicznie, aby zostać uwzględnionym, tylko domena główna musi korzystać z HTTPS, ale po włączeniu do niej wszystkie witryny w domenie głównej muszą używać HTTPS, w przeciwnym razie połączenie się nie powiedzie, więc praktycznie chcesz, aby wszystkie subdomeny używały HTTPS.

Czy mogę ubiegać się o listę wstępnego ładowania HSTS z poddomeną, taką jak sub.example.com?

Nie, jeśli spróbujesz przetestować poddomenę, zobaczysz następujące ostrzeżenie

example.jrtapsell.co.ukjest poddomeną. jrtapsell.co.ukZamiast tego proszę wstępnie załadować . (Ze względu na rozmiar listy wstępnego ładowania i zachowanie plików cookie w subdomenach akceptujemy tylko automatyczne przesyłanie list wstępnie załadowanych całych zarejestrowanych domen).

Sprawdza się to za pomocą publicznej listy sufiksów, takiej jak ta: https://publicsuffix.org/list/

Czy muszę używać certyfikatu wieloznacznego, aby ubiegać się o listę wstępnego ładowania?

Nie, o ile konfiguracja SSL jest poprawna, wówczas można złożyć wniosek, typ certyfikatu nie ma znaczenia.

jrtapsell
źródło
3

Chociaż nie próbowałem tego osobiście, po przeczytaniu standardu HSTS ( RFC 6797 ) interpretuję / rozumiem następujące kwestie :

  • Jeśli domena nadrzędna jest zgodna z HSTS, nie musi, ale może egzekwować zasady, aby poddomeny były również zgodne z HSTS, wydając dyrektywę includeSubDomains w nagłówku HTTP STS.

  • Jeśli domena nadrzędna nie jest zgodna z HSTS, nie powstrzyma subdomeny przed zgodnością z HSTS. Subdomena powinna być w stanie w pełni współpracować z HSTS, pod warunkiem, że wystawia odpowiednie nagłówki HTTP i działa poprawnie na https://subdomain.example.com/ .

richhallstoke
źródło
3

Nie jest obowiązkowe posiadanie wieloznacznego certyfikatu SSL do włączenia na listę wstępnego ładowania HSTS.

Jeśli masz jedną domenę, możesz użyć dowolnego certyfikatu SSL z walidacją domeny do włączenia na listę wstępnego ładowania HSTS zamiast używać certyfikatu SSL Wildcard.

Jake Adley
źródło
1
Chociaż myślę, że to prawda, czy masz jakieś odniesienia, aby to zrobić?
Andrew Lott,
1

Konieczne jest dołączenie wszystkich subdomen jako SSL, aby uzyskać dostęp do listy wstępnego ładowania, jak tutaj: https://hstspreload.appspot.com/

  1. Posiadaj ważny certyfikat.
  2. Przekieruj cały ruch HTTP na HTTPS - tzn. Bądź tylko HTTPS.
  3. Podaj wszystkie subdomeny przez HTTPS.
  4. Podaj nagłówek HSTS w domenie podstawowej:
    • Termin ważności musi wynosić co najmniej osiemnaście tygodni (10886400 sekund).
    • Token includeSubdomains musi zostać określony.
    • Token wstępnego ładowania musi zostać określony.
    • Jeśli podajesz przekierowanie, przekierowanie to musi mieć nagłówek HSTS, a nie stronę, na którą przekierowuje.

Czy to oznacza, że ​​potrzebujesz wieloznacznika? Nie. Możesz uzyskać indywidualne certyfikaty SSL dla każdej subdomeny. To byłaby prawdopodobnie najtańsza trasa. Możesz wybrać symbol wieloznaczny, ale dopóki nie będziesz mieć ponad 5 subdomen wartych ochrony, nie jest to opłacalne finansowo. Tak czy inaczej, wszystkie poddomeny muszą być w trybie HTTPS, jeśli chcesz być wstępnie załadowane.

Korzystając z tej myśli, jeśli użyjesz subdomeny jako katalogu głównego, będziesz musiał chronić subdomenę subdomeny w ten sam sposób :) Lub oczywiście również wstecz, nie możesz zadeklarować HSTS na subie bez ochrony TLD korzeń.

dhaupin
źródło
Tak więc, dla jasności, nie mogę przesłać sub.example.com, jeśli example.com nie sprawdził poprawności za pomocą SSL.
Kevin Burke
@KevinBurke To jest poprawny bulion. To jak relacja rodzic-dziecko bulgocząca z TLD. Nie jestem pewien, czy subprzykład wymagałby TLD SSL (nigdy nie musiałem HSTS sub na sub). Zakładam, że tak, ponieważ jest to polityka oparta na autorytecie / zakresie domeny „root”.
dhaupin
@KevinBurke Uwagi: Upewnij się także, że pamięć podręczna HSTS ma ponad 180 dni na przesłanie Quelys / PCI oraz że wszelkie zamawiane SSL to RSA2 (56). Jeśli kiedykolwiek zdecydujesz się nie ładować wstępnie subskrypcji, ustaw pamięć podręczną 0 na tydzień lub 2, aby wyczyścić klientów przed usunięciem flagi wstępnego ładowania.
dhaupin