TLS / SSL

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen


Hostsharing besitzt ein SSL-Zertifikat, das auch von Mitgliedern genutzt werden kann.

Bei aufgeschalteten Domains sind standardmäßig die Verzeichnisse doms-ssl, subs-ssl, cgi-ssl und fastcgi-ssl als symbolische Links auf die entsprechenden nicht-ssl Verzeichnisse angelegt. Damit kann auf die Domain auch über https:// Verbindungen zugegriffen werden. Als Zertifikat wird standardmäßig das Wildcard-Zertifikat von Hostsharing verwendet. Im Browser muss man daher akzeptieren, dass das Zertifikat nicht zur eigenen Domain passt.

Eigene Konfigurations- bzw. Administrationsseiten sind also ohne weiteres abgesichert per https:// erreichbar. Es empfiehlt sich sogar den Zugriff auf solche Loginseiten in der .htaccess immer auf https:// umzuleiten. Zum Beispiel mit:

RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^administrator$	https://www.example.com/admin$1 [R]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^administrator/$	https://www.example.com/admin/$1 [R]


Eigene SSL Zertifikate

Möchte man, dass eine Domain ohne Fehlermeldungen per SSL erreichbar ist, benötigt man ein Zertifikat 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 (??? Noch aktuell ???) zur Nutzung von ssl-Verschlüsselung ist. Deshalb ist auch nur ein Zertifikat pro Paket möglich.


Zunächst muss man als Paket-Admin einen private key erzeugen und dann einen CSR. 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.