it-swarm.com.de

Benötige ich ein separates SSL-Zertifikat für eine DNS-Umleitung?

Ich implementiere eine mandantenfähige Anwendung, in der meine Anwendung die technische Dokumentation für das Produkt eines Mandanten hostet und bereitstellt.

Der Ansatz, den ich in Betracht gezogen habe, war: Ich hoste die Dokumentation unter docs.<tenant>.mycompany.com Und fordere meinen Mandanten auf, einen CNAME-DNS-Eintrag einzurichten, der docs.tenantcompany.com Auf docs.<tenant>.mycompany.com Zeigt.

Ich möchte, dass die Site mit dem Zertifikat meines Mandanten SSL-fähig ist. Ich wollte verstehen, ob mein Mandantenunternehmen über ein Wildcard-SSL-Zertifikat verfügt, ob es mit diesem Setup funktioniert oder ob für docs.tenantcompany.com Ein neues SSL-Zertifikat erworben werden muss.

18
codematix

Der Zertifikatsname muss mit dem übereinstimmen, was der Benutzer im Browser eingegeben hat, nicht mit dem 'endgültigen' DNS-Eintrag. Wenn der Benutzer docs.tenantcompany.com dann muss Ihr SSL-Zertifikat dies abdecken.

Wenn docs.tenantcompany.com ist ein CNAME für foo.example.com, das Zertifikat muss nicht abdecken foo.example.com, gerade docs.tenantcompany.com.

40
Jason Martin

Jasons Antwort ist richtig. Aber nur um die Begriffe hier ein wenig zu verdeutlichen, ist "DNS-Umleitung" eine Fehlbezeichnung. DNS verfügt über CNAME-Einträge (a.k.a. Aliase), bei denen es sich um einen Namen handelt, der auf einen anderen Namen verweist. Aber es ist keine Weiterleitung. Die Übersetzung von Name zu Name in IP erfolgt im Hintergrund und Ihr Browser kümmert sich nur um den ursprünglichen Namen.

Das einzige, was Weiterleitungen ausführt, sind Webserver, auf denen der Server Ihrem Browser ausdrücklich anweist, woanders hinzugehen. Wenn Ihr Webserver war tatsächlich eine Umleitung zum anderen Namen durchführt, benötigen Sie würden tatsächlich Zertifikate für beide Namen, da Ihr Browser letztendlich eine separate Verbindung zu beiden Namen herstellen würde.

26
Ryan Bolger

Ich wollte verstehen, ob mein Mandantenunternehmen über ein Wildcard-SSL-Zertifikat verfügt. Funktioniert es mit diesem Setup oder muss ein neues SSL-Zertifikat für docs.tenantcompany.com Erworben werden?

Kurze Antwort: Nein. Wenn Ihr Mandantenunternehmen einen Platzhalter im Namen *.tenantcompany.com Hat, reicht dies aus, um ihn auf Ihrem Server zu installieren Zugriffe über diesen Namen. Ob Sie dies tun möchten oder nicht, ist eine andere Geschichte.

Ein Zertifikat im Namen docs.<tenant>.mycompany.com (Z. B. ein direktes Zertifikat oder ein Platzhalter *.<tenant>.mycompany.com) Ist nutzlos, wenn der Zugriff immer über den Namen docs.tenantcompany.com Erfolgt wird.


Längere Antwort

Angenommen, Sie navigieren in einem vernünftigen Browser zu https://docs.tenantcompany.com. Der Browser führt TLS über das HTTP-Protokoll aus. Es geht speziell um zwei Dinge; Das:

  • das DNS-Subsystem des Browsers und des Betriebssystems gibt die IP-Adresse eines geeigneten Hosts zurück, auf dem ein Webserver an einem geeigneten Port an einer anderen Stelle im lokalen Netzwerk oder Internet ausgeführt wird. Für (gesicherten) HTTPS-Verkehr lautet der Standardport 443, Sofern die URL nichts anderes überschreibt.

  • Wenn der TLS-Handshake zwischen dem Browser und dem Remote-Server stattfindet, legt der Server ein vertrauenswürdiges Zertifikat vor, mit dem er einen TLS-Dienst an der angeforderten Adresse (docs.tenantcompany.com) Bereitstellen kann.

DNS

Der Browser sieht DNS als Black Box. Es ruft eine geeignete DNS-Bibliothek auf, um eine Zuordnung von einem freundlichen vollqualifizierten Domänennamen (FQDN) zu einer geeigneten IP-Adresse (v4 oder v6) anzufordern. Es ist egal, wie diese IP-Adresse abgerufen wird. Wenn zwischen dem ursprünglichen Eintrag und einem 20 CNAME Aliase im DNS vorhanden sind A oder AAAA Eintrag, der DNS-Resolver folgt ihnen, bis eine IP-Adresse erhalten wird.

TLS

Wenn der Browser den TLS-Handshake ausführt, muss er überprüfen, ob der Server, mit dem er kommuniziert, berechtigt ist, einen sicheren Website-Dienst auf dem angeforderten FQDN bereitzustellen: docs.tenantcompany.com.

Denken Sie daran: Der Browser kümmert sich nicht um docs.<tenant>.mycompany.com - der DNS-Resolver hat jegliches Wissen über die Indirektion über einen CNAME -Datensatz abstrahiert.

Unsere Methode, den Server zu autorisieren, sichere Sitzungen unter docs.tenantcompany.com Bereitzustellen, besteht in einem SSL-Zertifikat, das von einer Behörde signiert wird, für die zuvor eine Vertrauenswürdigkeit im Stammzertifikatspeicher des Browsers hergestellt wurde. Dies ist nicht immer die stärkste Form der Authentifizierung von Server zu Client - im zentralisierten CA-Modell können viele Fehler auftreten -, aber es ist die beste, die wir derzeit haben.

Hier gibt es zwei weitere Einschränkungen:

Schlüsselfreigabe

Viele kommerzielle Anbieter von SSL-Zertifikaten signieren nur eine einzige Signaturanforderung, wodurch das Platzhalterzertifikat effektiv an einen einzelnen privaten Schlüssel gebunden wird. Das Mandantenunternehmen kann es schwierig sein, dies außerhalb seiner Organisation zu teilen, da jeder, der über den privaten Schlüssel verfügt, offensichtlich die Kommunikation mit den anderen gesicherten Systemen des Mandantenunternehmens beeinträchtigen kann.

Einige Anbieter signieren mehrere Zertifikatsignierungsanforderungen unter demselben Zertifikat, sodass ein einzelnes Platzhalterzertifikat auf mehreren Servern und Systemen installiert werden kann, ohne den privaten Schlüssel zwischen ihnen zu teilen.

Maskieren

Wenn das Mandantenunternehmen Ihnen eine Kopie seines Platzhalterzertifikats zur Verfügung stellt (entweder durch Freigabe des privaten Schlüssels oder durch Signieren Ihres eigenen CSR), können Sie sich als <anydomain>.tenantcompany.com Maskieren und einen wichtigen Schutz aufheben, der die Integrität der Server gewährleistet identifiziert im tenantcompany.com DNS-Namespace. Dies könnte aus rechtlicher/haftungsrechtlicher Sicht eine schlechte Position für Sie und das Mieterunternehmen sein.

9