fragen stichworte

Kann ich Platzhalter mit selbstsignierten SAN-Zertifikaten verwenden?

Wir haben einen Dev-Server, auf den über das Internet zugegriffen werden kann, der aber auf IP beschränkt ist. Sicherheit ist hier nur eine Möglichkeit, die Live-Umgebung zu reproduzieren, anstatt zu versuchen, sicher zu sein. Die Top-Level-Domain, nennen wir sie dev.com, wird nicht verwendet, aber bei den devs ist jeder Standort in einer eigenen Sub-Domain eingerichtet. Nehmen wir also an, es gibt site1.com, site2.com und site3.com, dann hätten die Entwickler george und nico vollständige URLs wie:

  • www.site1.com.george.dev.com
  • www.site2.com.george.dev.com
  • www.site1.com.nico.dev.com
  • etc

Ich dachte ursprünglich, dass ein selbstsigniertes Wildcardzertifikat dies tun würde. Später stellte sich jedoch heraus, dass *.dev.com nur für something.dev.com und nicht für Sub-Sub-Domains gilt. Ich entschied mich dazu, den Anweisungen in dieser Antwort zu folgen. Wenn ich verwende:

DNS.1 = www.site2.com.nico.dev.com
DNS.2 = www.site1.com.george.dev.com

alles funktioniert gut, aber leider gibt es viele Entwickler auf vielen Seiten, so dass hier für DNS.x weit über 100 Einträge vorhanden wären. Ich wollte wissen, ob im [ alternate_names ] -Abschnitt meines openssl.cnf Platzhalterzeichen verwendet werden können. Ich habe folgendes ausprobiert:

DNS.1 = dev.com
DNS.2 = www.site1.com.george.dev.com
DNS.3 = *.*.*.nico.dev.com

Während DNS.2 funktioniert hat, gibt es bei DNS.3 nicht den Fehler NET::ERR_CERT_COMMON_NAME_INVALID in Chrome.

Gibt es eine Möglichkeit, dies zu tun, oder muss ich eine sehr lange Liste von DNS.x -Einträgen erstellen, um alle Websites abzudecken?

Ich habe gehört, dass dies durch die Erstellung meiner eigenen Zertifizierungsstelle möglich ist. Ich habe die großen Anweisungen in dieser Antwort befolgt. Mit meiner eigenen Zertifizierungsstelle habe ich ein Zertifikat mit DNS.1 erstellt, das dem allgemeinen Namen entspricht, und DNS.2 und DNS.3 mit Platzhaltern wie folgt:

DNS.1 = dev.com
DNS.2 = *.dev.com
DNS.3 = *.*.*.*.nico.dev.com

Ich habe dann cacert.pem aus dem ersten Schritt der oben verlinkten Anleitung in Chrome als vertrauenswürdige Stammzertifizierungsstelle importiert und den Browser neu gestartet. Für jede Domänenkonfiguration habe ich SSLCertificateKeyFile und SSLCertificateFile auf serverkey.pem bzw. servercert.pem gesetzt und einige Domänen getestet:

Es sieht also so aus, als ob die erste Wildcard-Ebene in Ordnung war, aber darunter nicht. Dies gilt für Chrome und IE (die Windows-Zertifikate verwenden) und für Firefox (der seinen eigenen verwaltet).

Meine Frage bleibt also, ist die Verwendung von Sub-Sub-Subdomänen (-sub *) auf diese Weise möglich?

antworten

Öffentlich signierte Zertifikate:

Technische Antwort

Ja. Es gibt nichts, was die Erstellung von Platzhalter-Subdomänen-SAN-Zertifikaten mit einer Kombination von Platzhalterstufen und Domänen verhindert. Wenn Sie Ihre eigene interne Zertifizierungsstelle verwalten, können Sie ein SAN-Zertifikat mit einer beliebigen Kombination von Subdomains, Platzhaltern usw. erstellen.

Praktische Antwort basierend auf meinen eigenen Erfahrungen

Nein. oder unwahrscheinlich ... Mir sind keine CAs bekannt, die Ihnen eine davon verkaufen. Ich habe bereits mehrere CAs nach dieser Lösung gefragt und jede der Anfragen hat die Anfrage sofort abgelehnt. Ich vermute, dass sie Angst haben, Geld zu verlieren, wenn sie solche Zertifikate anbieten. Sie bevorzugen einen Platzhalter für jede Zone (Unterdomäne oder nicht) oder ein SAN-Zertifikat mit bis zu n Anzahl von Einträgen. n ist die Nummer, auf die eine bestimmte Zertifizierungsstelle Sie beschränkt. Ich konnte keine Zertifizierungsstelle finden, die ein SAN-Zertifikat mit einer Mischung aus Platzhalter-Subdomäneneinträgen verkauft. Ich würde eine Liste der von mir abgefragten Zertifizierungsstellen bereitstellen, vermute aber, dass dies hier möglicherweise nicht angemessen ist.

[Update]

Selbstsignierte Zertifikate

Ich hatte die Absicht der Frage falsch verstanden. Ich glaube, ein Beispiel für openssl.cnf war erwünscht. Hier ein Beispiel: Sie müssen die DNS-Einträge durch die Platzhalter-Unterdomänennamen ersetzen. Es gibt auch einige Beiträge zu security.stackexchange.com rund um dieses Setup. Ich habe dies nicht getestet, da es sich bei meinen Bedürfnissen um öffentlich zugängliche URLs handelte, und CAs würden dies nicht als Option zulassen.

Sie können nur eine Wildcard-Ebene haben.

*. example.com deckt alles ab.beispiel.com, aber nicht eins.irgendetwas.beispiel.com.

* .subdomain.example.com wird mit anyondomain.example.com umgehen.