https deaktivieren, für kunden ohne ssl.

  • Es gibt imho auch bei SNI Möglichkeiten das zu ändern.


    Dann würde ich Dir vorschlagen, Sascha Kersken zu kontaktieren und ihm dies mitzuteilen. Als Apache-Guru wird er sicher frohlocken ;) Vielleicht wird er das dann auch in der nächsten Auflage zu Apache2.4 erwähnen...


    Außerdem war das auch die Frage hier im Thread, ob das nun normal ist oder nicht.


    Die hat Klaus Keppler auch schon mit einem Ja beantwortet ...

  • Aaaalso... noch mal ganz langsam:
    bei HTTPS (SSL) baut der Browser eine TCP-Verbindung zum Server auf. Noch bevor der Browser dem Server sagen kann, welche Domain (zB. "www.kunde1.de") abgerufen werden soll, wird die Verschlüsselung aktiviert - der sogenannte "SSL Handshake" findet statt. Dabei übermittelt der Server dem Browser sein SSL-Zertifikat, damit der Browser das prüfen kann. Nun steht in dem Zertifikat naturgemäß ein Domainname (für den das Zertifikat ausgestellt wurde). Falls das nicht mit dem Domainnamen übereinstimmt, den der Benutzer in den Browser eingegeben hat, kommt eine hübsche Warnmeldung im Browser. Das ist völlig normal und absolut beabsichtigt, da der Server ja noch nicht wissen kann, welche Domain der Besucher überhaupt abrufen will.


    Abhilfe soll da nun das SNI-Verfahren schaffen (Server Name Indication). Dabei überträgt der Browser während des SSL-Handshakes vorab die Info, welche Domain nun abgerufen werden soll. Falls der Server für die gewünschte Domain zufällig ein passendes SSL-Zertifikat konfiguriert hat, dann sendet er dieses zurück - im Browser erscheint keine Fehlermeldung. Alles prima.
    Hauptproblem: dieses Verfahren funktioniert nicht unter Windows XP mit dem Internet Explorer. Da noch in vielen Firmennetzen WinXP mit IE8 (*grusel*) zum Einsatz kommt, muss jeder selbst entscheiden, ob er es sich erlauben kann/will, diese Benutzergruppe quasi auszusperren.


    Eine weitere Alternative ist ein Multi-Domain-Zertifikat. Dabei werden einfach alle Domainnamen, die auf der selben IP laufen und bei denen SSL aktiviert sein soll, zusammen in ein Zertifikat gepackt. Das funktioniert dann auch mit IE unter XP. Nachteil hier: jeder Besucher, der einen Blick in das übermittelte SSL-Zertifikat wirft, sieht zwangsweise auch alle anderen Domainnamen, die hier mit SSL laufen (Information Leakage!).


    Nun zurück zum Thema: wenn der Browser eine SSL-Verbindung aufbaut, weiß der Server nur im Falle von SNI, auf welche Domain zugegriffen werden soll und ob es dafür ggf. ein Zertifikat gibt. Bei wem Apache also noch kein SNI beherrscht, der kann das o.g. Verhalten definitiv nicht "abschalten". Man könnte theoretisch eine Default-SSL-Site konfigurieren, die dann irgendwohin umleitet oder eine Fehlermeldung wirft - das ist aber ohnehin erst mal mit einer Browser-Fehlermeldung usw. verbunden.
    Wenn SNI unterstützt wird, kann man mit der Apache-Option SSLStrictSNIVHostCheck regeln, was bei "unbekannten" Zugriffen passieren soll. Da einzurichten ist ziemlich einfach - hier ein Beispiel für Debian:
    - Datei /etc/apache2/conf.d/sni.conf anlegen, und dort "SSLStrictSNIVHostCheck on" eintragen
    - Apache neu starten


    Im professionellen Shared Hosting kommt nach wie vor kein SNI zum Einsatz, da es eben noch zu viele "legitime" Besucher gibt, die man damit ausschließen würde. Die sauberste Lösung für Kunden ohne SSL ist es tatsächlich, diese auf eine eigene IP-Gruppe zu legen, bei der kein SSL aktiviert ist (dann ist ein HTTPS-Zugriff schlichtweg nicht möglich).


    So - ich hoffe, damit alle Fragen geklärt zu haben. :)


    Viele Grüße


    -Klaus Keppler

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!