Lets Encrypt Zertifikate für Sophos UTM automatisiert tauschen

Von Alexander|Juni 25, 2017|0 Kommentare

Leider war es bis jetzt immer etwas aufwändig Lets Encrypt Zertifikate mit der Sophos UTM zu nutzen. Das Erstellen eines solchen Zertifikates bereitet soweit keine Schwierigkeiten. Dafür kann man z.B. Certbot nutzen. Das eigentliche Problem liegt am automatisierten Austausch der Zertifikate in der UTM. Leider hat es das Let’s Encrypt Feature nicht in die UTM 9.5 geschafft, sondern wird vermutlich erst mit Version 9.6 folgen.

Trotzdem möchte ich euch eine Möglichkeit zeigen mit der es möglich ist Let’s Encrypt Zertifikate völlig automatisiert in der UTM einzuspielen. Diese können z.B. für den Webadmin oder auch für die Web Application Firewall genutzt werden. Bei GitHub bin ich auf ein sehr interessantes Script von Herrn Moritz Bunkus gestoßen. An dieser Stelle vielen Dank für das Script. Mit diesem ist es möglich die Zertifikats Dateien in der UTM zu aktualisieren. Dazu muss man vorher die Zertifikate auf die UTM kopieren. Um den gesamten Prozess völlig zu automatisieren muss man vorher aber einige Vorbereitungen treffen.

Requirements:

  1. ein gültiges Let’s Encrypt Zertifikat welches auf der UTM aktiv ist
  2. Das Script: utm_update_certificate.pl
  3. Linux Web Server welcher die Zertifikate automatisch anfordert

Linux Web Server

In meinem Beispiel verwende ich Certbot zum automatischen Erstellen neuer Zertifikate. Diese werden anschließend in mein User Verzeichnis kopiert und warten auf die Abholung durch die UTM. Das Script muss als Cronjob unter root eingerichtet werden. Mein Script sieht wie folgt aus:

certbot renew
cp -LR /etc/letsencrypt/live/ /home/alex/
chown -R -c alex /home/alex/live
sudo service apache2 restart

Sophos UTM

Auf der UTM mit dem Loginuser einloggen und das Script von GitHub nach „/home/login“ kopieren. Mit „sudo su“ root Rechte erlangen und in das Verzeichnis „/var/storage/chroot-reverseproxy/usr/apache/conf/ssl/“ wechseln. Hier mit „ls“ die Zertifikate anzeigen und das zu tauschende Zertifikat suchen. In meinem Fall z.B. REF_CaHosStageranet.

Anschließend muss noch ein eigenes Script erstellt werden welches die ausgestellten Zertifikate vom Linux Server kopiert und anschließend in der UTM updatet.

scp -r user@server:“/home/alex/live“ /home/login
./utm_update_certificate.pl REF_CaHosStageranet /home/login/live/stage.ra-networks.at/cert.pem /home/login/live/stage.ra-networks.at/privkey.pem
./utm_update_certificate.pl REF_CaHosUtmranetwo2 /home/login/live/utm.ra-networks.at/cert.pem /home/login/live/utm.ra-networks.at/privkey.pem

Das fertige Script muss jetzt nur noch als Cronjob auf der UTM eingerichtet werden und fertig. Hinweis: Damit man beim Login von der UTM auf den Linux Server kein Passwort benötigt sollte man mittels Ssh Keygen ein RSA Key Pair erstellen und kein Passwort verwenden. Da es dazu sehr viele Tutorials gibt gehe ich nicht genauer darauf ein.

Wenn alles richtig gemacht wurde werden die Zertifikate völlig automatisch upgedatet. Ob es funktioniert hat erkennt man  direkt beim Zertifikat unter Webserver Protection -> Certificate Management. Hier sollte z.B. auto-updated on 2017-06-18 12:47:34 stehen.

Diesen Beitrag teilen:

Hinterlasse einen Kommentar

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

*
*