it-swarm-eu.dev

Jaké certifikáty jsou potřebné pro víceúrovňové subdomény?

Pracuji na webu s několika úrovněmi subdomén. Potřebuji je všechny zabezpečit pomocí SSL a snažím se určit správnou strategii certifikátů.

Potřebuji zajistit následující:

  • foo.com
  • www.foo.com
  • Jakákoli kombinace city.state.foo.com. (Jedná se o americké státy.)

Chápu, že zástupný certifikát může pokrývat pouze jednu „úroveň“ subdomény. Podle RFC 2818 :

Názvy mohou obsahovat zástupný znak *, který se považuje za shodný s jakoukoli komponentou jednoho názvu domény nebo fragmentem komponenty. Například * .a.com odpovídá foo.a.com, ale ne bar.foo.a.com. f * .com odpovídá foo.com, ale ne bar.com.

Co si myslím Potřebuji tyto certifikáty:

  • *.foo.com, což bude odpovídat například foo.com, www.foo.com. (I když nejsem jasný, zda *.a.com zápasy a.com sám.)
  • *.ny.foo.com shodovat se new-york.ny.foo.com, buffalo.ny.foo.com atd. Nakonec budu potřebovat 50 takových certifikátů, aby odpovídaly všem státům, jakmile se náš web rozšíří, aby jim všechny sloužily.

Moje otázky jsou:

  • Je toto schéma správné? Pokud uživatel ve výše uvedené situaci navštíví ca.foo.com, získají certifikát pro *.foo.com nebo pro *.ca.foo.com?
  • Jak mohu zajistit, aby uživatelé považovali všechny tyto subdomény za legitimně vlastněné námi? Pokud například uživatel navštíví foo.com, pak mountain-view.ca.foo.com a to jsou různé certifikáty, dostanou varování? Existuje nějaký způsob, jak zajistit, aby jejich prohlížeč sdílel tyto certifikáty stejného vlastníka?
114
Nathan Long

Teoreticky:

  • a * odpovídá přesně jedné úrovni (odtud *.foo.com nemá ne odpovídá foo.com)
  • ale můžete mít několik * v názvu

Pokud tedy všechny implementace SSL věrně následují RFC 2818 , potřebujete pouze tři certifikáty se jmény:

  • foo.com
  • *.foo.com
  • *.*.foo.com

a pokud jsou implementace opravdu dobré v dodržování RFC 2818 a složitosti systému X.509, můžete dokonce použít certifikát single, který obsahuje seznam výše uvedených tří řetězců v jeho rozšíření Subject Alt Name.

Teorie a praxe se dokonale shodují ... teoreticky. Možná budete mít překvapení, co prohlížeče ve skutečnosti dělají. Navrhuji to vyzkoušet; některé příklady certifikátů lze vytvořit pomocí nástroje příkazového řádku OpenSSL (viz například tato stránka , kde je několik pokynů).

76
Tom Leek

RFC 6125 je zcela nový a není implementován všemi, ale snaží se některé z těchto problémů objasnit. Shromažďuje specifikaci identity v RFC 2818 a RFC jiných protokolů. Navrhuji, abyste se drželi RFC 6125, pokud můžete. Příslušné oddíly pro zástupné certifikáty jsou 6.4. a 7.2 (což ve skutečnosti odrazuje od používání zástupných certifikátů).

Z vaší otázky není zřejmé, zda chcete spustit jeden webový server (nebo alespoň být schopen jej spustit vše za jedinou IP adresou), nebo zda máte certifikát na web (a tedy IP adresu) na web, protože SNI není obecně dobře podporováno).

Mohli byste mít jeden certifikát s více alternativními názvy předmětů (SAN). Problém přichází v případě dvou zástupných štítků, které nemusí být jasně specifikovány (*.*.foo.com).

Pokud dvojitý zástupný znak funguje, měl by fungovat certifikát s těmito 3 SAN DNS položkami:

  • foo.com
  • *.foo.com
  • *.*.foo.com

Protože však nemusí fungovat (v závislosti na implementacích klienta, které pravděpodobně nejsou pod vaší kontrolou) a protože můžete uvést seznam 50 stavů, můžete mít 52 SAN DNS položky:

  • foo.com
  • *.foo.com
  • *.ny.foo.com
  • ... (jeden pro každý stát)

Jak mohu zajistit, aby uživatelé považovali všechny tyto subdomény za legitimně vlastněné námi? Pokud například uživatel navštíví foo.com, pak mountain-view.ca.foo.com, a to jsou různé certifikáty, dostane varování? Existuje nějaký způsob, jak zajistit, aby jejich prohlížeč sdílel tyto certifikáty stejného vlastníka?

To je složitá otázka, protože záleží na tom, jak dobře jsou uživatelé s procesem ověřování certifikátu obeznámeni. Mohli byste získat certifikát Extended Validation (i když si myslím, že zástupný certifikát EV pravděpodobně není povolen), což by poskytlo zelený pruh. To by ve většině prohlížečů dalo označení „vlastnictví“. Poté mohou být samotná rozhraní prohlížeče matoucí (např. Firefox, který je spuštěn (neznámý)) v modrém pruhu, což ve skutečnosti nepomáhá. Nakonec mohli uživatelé v rámci vašeho certifikátu zkontrolovat, ke kterým SAN byl certifikát vydán. Pochybuji však, že mnozí to udělají a pochopí, co to znamená.

34
Bruno

http://www.digicert.com/welcome/wildcard-plus.htm říká

Certifikáty DigiCert WildCard ssl jsou navíc jedinečné v tom, že vám umožňují zabezpečit ŽÁDOU subdoménu vaší domény, včetně více úrovní subdomén jedním certifikátem. Například vaše WildCard for * .digicert.com com může obsahovat server1.sub.mail.digicert.com jako alternativní název subjektu.

4
TechNikh

Můžete použít zástupný certifikát nebo použít certifikát s alternativními názvy domén. Osobně používám certifikát od StartSSL, který mi umožňuje mít všechny své domény uvedeny na jediném certifikátu. Mám něco jako 10 zástupných domén a 15 dalších ADN, všechny na stejném certifikátu, abych mohl používat SSL na webech, které jsem hostil na svém serveru.

1
AJ Henderson