fragen stichworte

Was passiert, wenn ein Browser SNI nicht unterstützt?

Eine scheinbar einfache Frage, aber trotzdem gültig.

Was genau passiert, wenn ein Browser, der SNI nicht unterstützt, versucht, eine Site aufzurufen, die für das Erzwingen von SSL über SNI konfiguriert ist.

Vielen Dank

antworten

Es wird wahrscheinlich eine Verbindung zum standardmäßigen virtuellen SSL-Host hergestellt. Mit anderen Worten, dieselbe Site, die Sie sehen würden, wenn Sie eine Verbindung mit der IP-Adresse herstellen: https://1.2.3.4/

Die Website kann nicht geladen werden, das ist sicher. Aus diesem Grund werden bald keine großen Sites zu SNI-gehosteten HTTPS-Sites wechseln. IE6 und IE7 in XP scheinen die größten alten Browser zu sein, die SNI nicht unterstützen.

Wenn Sie einen Browser erwerben können, der nicht SNI unterstützt, können Sie unter https://alice.sni.velox.ch/

sehen, was passiert

Es scheint auch wichtig zu sein, welche Serversoftware Sie verwenden. Mit Apache erhalten Browser ohne SNI-Unterstützung nur die erste konfigurierte Website (und möglicherweise eine Warnung wegen fehlenden Hostnamens).

Das hängt davon ab, wie Ihr Webserver beim Empfang einer HTTPS-Anfrage ohne SNI reagiert. (Wenn Sie es testen möchten, können Sie einen Browser ohne SNI mit openssl simulieren. Grundkenntnisse des HTTP-Protokolls sind erforderlich.)

Bei IIS 10 passiert Folgendes:

  • Wenn eine "Standard-SSL-Site" (eine an Port 443 ohne Hostnamen gebundene Site) konfiguriert ist, sieht der Nicht-SNI-Client Folgendes:

    • das Zertifikat der Standard (falschen) SSL-Site (in der Regel eine Zertifikatswarnung, es sei denn, Sie haben Ihr Standard-SSL-Site-Zertifikat für SANs für konfiguriert alle Websites, die unter Ihrer IP-Adresse gehostet werden) und
    • der Inhalt der angeforderten (korrekten) Website (nachdem der Benutzer die Zertifikatswarnung abgewiesen hat).

    Das ergibt durchaus Sinn:

    1. Der SSL-Handshake findet statt, bevor die HTTP-Anfrage übertragen werden kann. Ohne die SNI-Unterstützung durch den Browser hat der Server keine andere Wahl, als das Standard-SSL-Standortzertifikat zurückzugeben.
    2. Nachdem die SSL-Verbindung hergestellt wurde (mit dem "falschen" Zertifikat), empfängt der Server die HTTP-Anfrage, liest den angeforderten Host-Namen über den Header Host: und gibt den korrekten Inhalt zurück.
  • Wenn keine "Standard-SSL-Site" konfiguriert ist, wird die Verbindung geschlossen.

(Quelle: Ich habe es gerade mit einer alten Windows XP IE8 virtuellen Maschine getestet.)

Ich habe es gerade mit IE 4.0 auf Windows NT 4 Workstation getestet. Meine Website, die unter http://www.nosupportlinuxhosting.com/ gehostet wird, lädt perfekt. Ich bin mir nicht sicher, ob ihr Hosting die obigen Kriterien erfüllt, aber ihre "Limitierungs" -Seite deutet darauf hin, dass dies der Fall ist. Ich bin ein bisschen überrascht die Seite geladen.