Letsencrypt Zertifikat für die Sophos UTM erstellen

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.

dnat ubuntu

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:

letsencrypt

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:

letsencryptsuccess

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.

zertifikatsmanager-utm

Mit dem nun vorhandenen gültigen HTTPS Zertifikat können wir z.B. eine WordPress Installation unter der Webserver Protection einrichten:

webserverprotection

4 Kommentare

  1. 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)

    1. 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.

Schreibe einen Kommentar zu yves Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

WordPress Appliance - Powered by TurnKey Linux