UPDATE: Es gibt eine schönere Lösung. Eigenbau eines Community Mitglieds inkl. Cronjob und vollautomatisiert: https://github.com/rklomp/sophos-utm-letsencrypt – Eine bebilderte Anleitung folgt demnächst.
Natürlich macht es keinen Sinn ein ordentliches HTTPS Zertifikat für die Webadmin Seite der Sophos zu erstellen wenn wir das CA als Vertrauenswürdigen Zertifikatsherausgeber importieren. Allerdings soll diese Anleitung exemplarisch zeigen, wie man auf diese Art und Weise auch Zertifikate z.B. für die das eigene Owncloud oder für WordPress erzeugen kann. Es bleibt auch noch die Hoffnung das Sophos aufgrund eines Feature Requests zur Implementierung von Letsencrypt diese Anleitung weitgehend überflüssig macht!
Letsencrypt ist seit Ende 2015 in einer öffentlichen Beta an den Start gegangen, mit dem sich z.B. per Linux Kommandozeile ein 3 Monate gültiges https Zertifikat erstellen lässt. Eigentlich ist es Sinn und Zweck diese Zertifikate möglichst automatisiert erzeugen zu lassen, hoffen wir also auf zukünftige Implementierung.
Als Grundlage nehme ich hier ein Ubuntu 14.04 LTS Server als virtuelle Maschine in meinem Heimnetz, wobei ich den Port 443 über eine DNAT Regel über die Sophos freigebe.
Wichtig hierbei ist das ein öffentlicher DNS Eintrag passend zu dieser IP vorhanden sein muss. z.B. test.busche.org mit der öffentlichen IP 1.2.3.5 bei meinem Domainhoster.
Nun loggen wir uns per SSH Client auf die installierte Ubuntu Maschine ein und wechseln zum root user und richten die Maschine mit ein paar Befehlen ein:
apt-get update apt-get upgrade apt-get install git git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt/ ./letsencrypt-auto --email [email protected] certonly --rsa-key-size 4096 -d test.busche.org
Das Letsencrypt Script setzt nun seine Umgebung auf und wir bekommen diesen Bildschirm:
Bei installiertem Apache kann ich jetzt einfach 1. auswählen, oder man wählt 2. aus und das letsencrypt script kümmert sich in Form eines temporären Webservers darum. Hat alles geklappt bekommen wir folgenden Hinweis:
Jetzt müssen wir die nun erzeugten Dateien noch in ein für die Sophos UTM passendes Format bringen. Hierzu benutzen wir das openssl Tool. Nach dem zweiten Befehl wir nach einem Passwort gefragt welches wir uns selbst für dieses Zertifikat aussuchen dürfen. Zum Ausprobieren etwa “test1234”
cd /etc/letsencrypt/live/test.busche.org/ openssl pkcs12 -export -out test.busche.org.pk12 -in cert.pem -inkey privkey.pem -name Cert-Name cp test.busche.org.pk12 /home/ben/
Nach diesem Schritt kann die DNAT Regel von Port 443 auf den Ubuntu Server wieder deaktiviert werden! Jetzt noch per WinSCP oder einem belieben anderen SFTP Program aus meinem Benutzerverzeichnis auf der Ubuntu VM das erstellte und in pk12 konvertierte Zertifikat mit dem Dateinamen “test.busche.org.pk12” auf meinen Rechner übertragen damit wir es in den Zertifikatsmanager der Sophos UTM hochladen können.
Mit dem nun vorhandenen gültigen HTTPS Zertifikat können wir z.B. eine WordPress Installation unter der Webserver Protection einrichten:
|Eine bebilderte Anleitung folgt demnächst.
Kann man diese noch erwarten? 🙂
yves: es hatten sich noch Probleme ergeben bei der eine bebilderte Anleitung nicht weiterhelfen. Ich würde das ganze noch im Beta Status sehen und hoffe eher darauf das Sophos Lets Encrypt direkt als Feature einbaut. (glaube ich aber nicht wirklich dran)
Kann das Zertifikat auch für die WAF benutzt werden?
Ja, diese Zertifikate kannst du auch für die WAF verwenden. Ich habe mir hier eine Lösung über dehydrated via DNS gebastelt, die das Selbe macht. Wichtig dabei ist nur der pkcs12 export.