Virtual Hosts + SSL (was: Re: Httpd - restart nicht moeglich - geloest)

From: Oliver Fromme <olli(at)secnetix.de>
Date: Sat, 12 Jul 2003 15:48:56 +0200 (CEST)

Hannes Widmer <h.widmer(at)cybernet.ch> wrote:
> P.S. Wenn ich das kurz fragen koennt ohne nen neuen thread aufzumachen:
>
> Stimmt das, dass man pro IP auf einem Server nur 1 SSL host auf :443
> haben kann?... Kann es doch dicht sein, oder?... Ich habe einige Sites
> die https brauchen.

Jein.

Das Problem ist, daß bei »name-based virtual hosts« (also
wenn Du nur eine IP-Adresse hast) der Client dem Server ja
irgendwie mitteilen muß, auf welchen der virtuellen Server
er nun zugreifen will. Das passiert durch den »Host:«-
Header im HTTP-Protokoll, siehe RFC2616.

Wenn Du nun aber SSL verwendest, muß zuerst einmal die SSL-
Verbindung komplett aufgebaut werden, bevor überhaupt HTTP
gesprochen werden kann. Zum Aufbau der SSL-Verbindung ge-
hört auch der Austausch und die Überprüfung von Zertifika-
ten. Im Serverzertifikat steht der Name des Servers drin,
für den es ausgestellt wurde und für den es gültig ist.
Das Problem ist nur, daß zu diesem Zeitpunkt ja noch gar
nicht bekannt ist, auf welchen der virtuellen Server zuge-
griffen werden soll. Welches Zertifikat soll also der Ser-
ver dem Client aushändigen? Henne-und-Ei-Problem.

Wie sich das Problem lösen läßt, kommt auf die Umstände und
Anforderungen an.

Die sauberste Lösung ist natürlich, sich von seinem ISP
weitere IP-Adresse zuteilen zu lassen.

Eine weitere Möglichkeit hatte Bernd schon erwähnt: Schal-
te einen normalen Webserver (ohne SSL) davor, der dann je
nach virtual-host einen Redirect auf einen anderen Port
macht. Dort kann dann der virtual-host bereits beim SSL-
Verbindungsaufbau anhand der Portnummer identifiziert wer-
den, d.h. er ist nicht mehr name-based. Das hat halt nur
den kleinen Schönheitsfehler, daß eine nicht-standard-Port-
nummer in der URL-Zeile erscheint.

Falls es Dir nur allein auf die Verschlüsselung ankommt,
nicht aber auf Identifizierung und Authentisierung des Web-
servers, dann kannst Du die ganze Sache auch einfach igno-
rieren und dasselbe Zertifikat für alle virtuellen Hosts
verwenden. Wenn jemand drauf zugreift, poppt bei ihm ein
Warnfenster auf, aber für begrenzte Anwendungsfälle mag das
akzeptabel sein. Für einen Web-Shop o.ä. käme das natür-
lich nicht in Frage, oder für irgendeinen Server, bei dem
sicherheitsrelevante Daten eingegeben werden müssen.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
Passwords are like underwear.  You don't share them,
you don't hang them on your monitor or under your keyboard,
you don't email them, or put them on a web site,
and you must change them very often.
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sat 12 Jul 2003 - 15:49:00 CEST

search this site