TLS / SSL: Unterschied zwischen den Versionen
Tgr00 (Diskussion | Beiträge) (→Eigene SSL Zertifikate: "Noch aktuell" entfernt, da der Debian Lenny Apache noch keine SNI Erweiterung kennt (erst ab 2.2.14)) |
|||
Zeile 25: | Zeile 25: | ||
Möchte man, dass eine eigene Domain ohne Fehlermeldungen per SSL erreichbar ist, benötigt man ein eigenes Zertifikat von einer Zertifizierungsstelle, die von den Browsern standardmäßig anerkannt wird. | Möchte man, dass eine eigene Domain ohne Fehlermeldungen per SSL erreichbar ist, benötigt man ein eigenes Zertifikat von einer Zertifizierungsstelle, die von den Browsern standardmäßig anerkannt wird. | ||
Zudem benötigt man in seinem Paket eine eigene IP-Nummer, da dies die Voraussetzung zur Nutzung von ssl-Verschlüsselung ist. Deshalb ist auch nur ein Zertifikat pro Paket möglich. | Zudem benötigt man in seinem Paket eine eigene IP-Nummer, da dies die Voraussetzung zur Nutzung von ssl-Verschlüsselung ist. Deshalb ist auch nur ein Zertifikat pro Paket möglich. Die Einrichtung der IP und des eigenen Zertifikates erfolgt durch die Hostmaster und benötigt die kostenpflichtige Option [http://www.hostsharing.net/produkte/optionen.html HTTPS]. | ||
Zunächst muss man als Paket-Admin einen Private Key erzeugen und dann einen CSR (Certificate Signing Request - mit dem Private Key erzeugte Anforderung für ein Zertifikat). Wie das genau funktioniert, ist meistens von Seiten der Zertifizierungsstelle beschrieben. | |||
Zunächst muss man als Paket-Admin einen | |||
Man kann aber auch ein kleines Skript nutzen, das Michael Hierweck aufgrund von einer Anleitung von Michaels Hönnig zur Erzeugung von Zertifikaten geschrieben hat: | Man kann aber auch ein kleines Skript nutzen, das Michael Hierweck aufgrund von einer Anleitung von Michaels Hönnig zur Erzeugung von Zertifikaten geschrieben hat: |
Version vom 18. Juni 2010, 22:33 Uhr
Einstieg |
Hsadmin |
Pakete |
User |
Domains |
Cron |
Logging |
E-Mail |
WWW
Datenbanken |
Backup & Restore |
Installationsanleitungen |
FAQ |
Bugtracker
Hostsharing besitzt ein SSL-Zertifikat, das von den Mitgliedern für https:// Zugriffe genutzt werden kann (Voreinstellung). Wenn es außerhalb der Paketdomain verwendet wird muss dieses Zertifikat im Browser jedoch explizit akzeptiert werden, da es für die Domain *.hostsharing.net ausgestellt ist. Der Browser meldet dann, dass das Zertifikat nicht zur aufgerufenen Domain passt.
Standardkonfiguration
Neu aufgeschaltete Domains haben standardmäßig für die Verzeichnisse htdocs, subs, cgi und fastcgi getrennte *-ssl Ordner. (Ebenso beim /web Verzeichnis des Paketadmins.) Damit sind SSL-Inhalte sauber und sicher von Nicht-SSL Inhalten getrennt.
Bei Domains, die schon vor der Einführung des SSL Features bestanden, sind die Verzeichnisse doms-ssl, subs-ssl, cgi-ssl und fastcgi-ssl standardmäßig als symbolische Links auf die entsprechenden nicht-ssl Verzeichnisse angelegt worden. Diese Symlinks stellen die Kompatibilität mit der früheren SSL Option her. Damals gab es nur einen Ordner für http und https.
Wer SSL und Nicht-SSL nun sauber trennen möchte oder ganz andere Inhalte anbieten möchte kann die Symlinks löschen und durch Verzeichnisse ersetzen. Im Paketweb ist dabei zu beachten, dass die Rechte neu angelegter Verzeichnisse noch anzupassen sind, wenn die SSL Verzeichnisse nicht für alle User zugänglich sein sollen.
Wer hingegen SSL und Nicht-SSL Seiten innerhalb eines Verzeichnisbaums verwalten möchte, kann umgekehrt die SSL Verzeichnisse löschen und (ggf. auch nur selektiv für einige Unterverzeichnisse) Symlinks auf die Nicht-SSL Verzeichnisse anlegen.
Die Symlinks erlauben es die Seiten sowohl mit als auch ohne SSL abzurufen. Konfigurations- bzw. Administrationsseiten z.B. lassen sich dadurch sehr einfach manuell auch per https:// erreichen.
Möchte man den Zugriff auf bestimmte Seiten nur mit SSL erlauben und automatisch auf SSL umschalten, muss dies noch durch entsprechende .htaccess Dateien für die betroffenen Verzeichnisse konfiguriert werden.
Eigene SSL Zertifikate
Möchte man, dass eine eigene Domain ohne Fehlermeldungen per SSL erreichbar ist, benötigt man ein eigenes Zertifikat von einer Zertifizierungsstelle, die von den Browsern standardmäßig anerkannt wird.
Zudem benötigt man in seinem Paket eine eigene IP-Nummer, da dies die Voraussetzung zur Nutzung von ssl-Verschlüsselung ist. Deshalb ist auch nur ein Zertifikat pro Paket möglich. Die Einrichtung der IP und des eigenen Zertifikates erfolgt durch die Hostmaster und benötigt die kostenpflichtige Option HTTPS.
Zunächst muss man als Paket-Admin einen Private Key erzeugen und dann einen CSR (Certificate Signing Request - mit dem Private Key erzeugte Anforderung für ein Zertifikat). Wie das genau funktioniert, ist meistens von Seiten der Zertifizierungsstelle beschrieben.
Man kann aber auch ein kleines Skript nutzen, das Michael Hierweck aufgrund von einer Anleitung von Michaels Hönnig zur Erzeugung von Zertifikaten geschrieben hat:
#! /bin/sh #Nur Zugriffe für den Owner erlauben umask u=rwx,g=,o= #Zertifikat erzeugen openssl req -new -x509 -keyout ~/etc/cakey.pem -out ~/etc/careq.pem $* openssl rsa <~/etc/cakey.pem >~/etc/https.new cat ~/etc/careq.pem >>~/etc/https.new #Temporäre Dateien löschen rm ~/etc/cakey.pem rm ~/etc/careq.pem #Altes Zertifikat sichern cp ~/etc/https.pem ~/etc/https.old
Es können weitere Parameter angeben werden, z.B. -days 370.
Die Domain oder Wildcard (*.domain.TLD) für die das Zertifikat gilt, wird auf die Frage als Common Name angegeben.
Anschließend wird der Zertifizierungsstelle der csr übermittelt. Die Datei, die man dann von der Zertifizierungsstelle erhält, muss in das Verzeichnis /etc des Paketadmins kopiert werden. Das neue Zertifikat muss dann noch manuell aktiviert werden, d.h. in https.pem umbenannt werden. Damit kann man dies zu einem beliebigen späteren Zeitpunkt tun und das Zertifikat vorher prüfen.
Mit einem eigenen Zertifikat kann man dann mit
RequireSSL on
in der .htaccess Datei für alle Zugriffe https:// fordern.
Per Auftrag an service@ muss um Aktivierung des neuen Zertifikats gebeten werden.