it-swarm.com.de

Was genau bedeutet "jedes SSL-Zertifikat erfordert eine dedizierte IP"?

Ich habe etwas über SSL-Zertifikate gelesen und insbesondere gelesen, dass ein SSL-Zertifikat "eine dedizierte IP-Adresse erfordert". Nun, ich bin mir nicht sicher, was dies bedeutet. Bedeutet das, dass für das Zertifikat eine dedizierte IP-Adresse erforderlich ist, die von der für die normale HTTP-Kommunikation verwendeten IP-Adresse getrennt ist, oder dass die IP-Adresse nicht mit anderen SSL-Zertifikaten gemeinsam genutzt werden kann?

Zur Verdeutlichung habe ich ein VPS mit einer dedizierten IP-Adresse. Der VPS hostet mehrere verschiedene Sites, einschließlich mehrerer Subdomains der Hauptsite, aber nur für die Hauptsite und die Subdomains ist SSL erforderlich. Kann ich einfach ein SSL-Zertifikat für * .example.com mit meiner aktuellen IP-Adresse erwerben oder muss ich ein solches Zertifikat erwerben, das von den anderen Websites des VPS getrennt ist? Oder was noch schlimmer ist: Muss ich einen haben, der vom gesamten HTTP-Verkehr auf dem Server getrennt ist? Beachten Sie, dass keine der anderen Websites SSL benötigt.

Vielen Dank für jede Klarstellung zum Thema.


Edit: Einige Quellen für meine Sorgen:

http://symbiosis.bytemark.co.uk/docs/symbiosis.html#ch-ssl-hosting

Ist zur Installation des SSL-Zertifikats eine dedizierte IP-Adresse erforderlich?

23
Hubro
  1. Es gibt kein "SSL-Zertifikat". Der Begriff ist irreführend. X.509-Zertifikate können zu unterschiedlichen Zwecken (wie durch die Eigenschaften "Schlüsselverwendung" und "Erweiterte Schlüsselverwendung" definiert) ausgestellt werden, insbesondere zum Sichern von SSL/TLS-Sitzungen.

  2. Zertifikate erfordern nichts in Bezug auf Sockets, Adressen und Ports, da Zertifikate reine Daten sind. 

  3. Beim Sichern einer Verbindung mit TLS verwenden Sie das Zertifikat normalerweise zum Authentifizieren des Servers (und manchmal auch des Clients). Es gibt einen Server pro IP/Port. In der Regel ist es für den Server kein Problem, das zu verwendende Zertifikat auszuwählen. 

    HTTPS ist die Ausnahme - mehrere unterschiedliche Domänennamen können sich auf eine IP beziehen und der Client (normalerweise ein Browser) stellt für unterschiedliche Domänennamen eine Verbindung zum selben Server her. Der Domänenname wird in der Anforderung an den Server übergeben, der after TLS-Handshake geht.

    Hier entsteht das Problem - der Webserver weiß nicht, welches Zertifikat vorzulegen ist. Zu diesem Zweck wurde eine neue Erweiterung zu TLS hinzugefügt, die als SNI (Server Name Indication) bezeichnet wird. Es wird jedoch nicht von allen Clients unterstützt. Im Allgemeinen ist es daher eine gute Idee, einen dedizierten Server pro IP/Port pro Domäne zu haben. Mit anderen Worten, jede Domäne, zu der der Client über HTTPS eine Verbindung herstellen kann, sollte über eine eigene IP-Adresse (oder einen anderen Port) verfügen, was jedoch nicht üblich ist. 

Für SSL-Zertifikate ist keine dedizierte IP-Adresse erforderlich. SSL-Zertifikate speichern einen sogenannten Common Name . Der Browser interpretiert diesen gebräuchlichen Namen als den DNS-Namen des Servers, mit dem er spricht. Wenn der allgemeine Name nicht mit dem DNS-Namen des Servers übereinstimmt, mit dem der Browser spricht, gibt der Browser eine Warnung aus.

Sie können ein sogenanntes Wildcard-Zertifikat erhalten, das für alle Hosts innerhalb einer bestimmten Domäne zulässig ist.

5
Oswald

... im Anschluss an die Antwort von @ Eugene mit weiteren Informationen zum Kompatibilitätsproblem ...

Laut diese Seite von namecheap.com funktioniert SNI nicht auf:

  • Windows XP + jede Version von Internet Explorer (6,7,8,9)
  • Internet Explorer 6 oder früher
  • Safari unter Windows XP
  • BlackBerry Browser
  • Windows Mobile bis 6.5
  • Nokia Browser für Symbian mindestens auf Series60
  • Opera Mobile für Symbian mindestens auf Series60

Die Website ist weiterhin über HTTPS verfügbar, es wird jedoch ein Fehler aufgrund einer nicht übereinstimmenden Zertifizierung angezeigt.

Wenn wir also in das Jahr 2016 eintreten, wage ich es, meinen Hals rauszustecken und zu sagen: "Wenn Sie sowieso eine moderne Website erstellen (die alte nicht unterstützt) Browser), und wenn das Projekt so klein ist, dass es sich keine dedizierte IP-Adresse leisten kann, können Sie sich wahrscheinlich auf SNI verlassen. " Natürlich gibt es Tausende von Experten, die dem nicht zustimmen würden, aber wir sprechen davon, dass wir praktisch und nicht perfekt sind.

3
JoshuaDavid

Der Name des SSL-Zertifikats muss mit dem Domänennamen übereinstimmen. Sie haben keine Anforderungen an die IP-Adresse, es sei denn, dies ist eine Einschränkung des Zertifikatsanbieters oder der http-Serversoftware.

Edit: Ein Blick ins Internet scheint das Gerücht verbreitet zu haben, da das Apache-Plug-In für SSL keine Mechanismen für die Verwendung verschiedener Zertifikate (zumindest im Jahr 2002) zur Verfügung hat. In einem solchen Szenario müssen Sie zwei verschiedene Apache-Webserver auf den zwei verschiedenen IP-Adressen ausführen.

Auf jeden Fall sollten Sie in Ihrer Konfiguration keine Probleme haben, nur eine IP-Adresse zu verwenden, da Sie nicht zwei verschiedene Zertifikate verwenden müssen (weil Sie ein Platzhalterzertifikat verwenden möchten).

Ich würde sowieso versuchen, den Webserver mit einem selbstsignierten Zertifikat zu konfigurieren, bevor ich Geld für eine zweite IP oder ein zweites Zertifikat ausgeben kann.

Edit 2: Referenz Apache-Dokumentation:

http://httpd.Apache.org/docs/2.2/vhosts/name-based.html

Es scheint, als würde es jetzt (Apache> = 2.2.12) unterstützt

0
pqnet