Let's Encrypt Zertifikate für IPFire

mit manueller Verifikation

Nachdem Chrome und Mozilla StartSSL das Vertrauen entzogen haben und Opera mit der neusten Version den Zugriff auf meine IPFire mit einem Zertifikatsfehler quitierte, musste ich eine Alternative für die SSL-Zertifikate suchen. Diese war mit Let’s Encrypt schnell gefunden. Aber …

Es gibt zwei Dinge die mir bei Let’s Encrypt Zertifikaten in meinem privaten Netzwerk nicht so gefallen.

  • Der oder die Domainnamen müsste auf die öffentliche IP-Adresse meines Modems zeigen.
  • Port 80 müsste in mein Netzwerk offen sein.

Domainnamen
Da meine internen Systeme alle als FQDN xyz.summer.co.at haben, könnte ich die Domainnamen eigentlich über die DNS-Einstellungen auf die öffentliche IP meines Modems setzen. Jedoch hab ich keine statische IP und sie ändert sich alle paar Monate. D.h. ich müsste bei Änderung der IP immer die DNS-Einstellungen anpassen.

Ports
Ich möchte keine Zugriffe auf meine internen Systeme über Standard-Ports erlauben. Vor allem nicht, auf den Webserver meiner Firewall. Externe Zugriffe in mein Netzwerk sind nur über OpenVPN möglich.

Lösung
Nach etwas suchen, habe ich eine - für mich passende - Lösung gefunden: SSL For Free

SSL For Free bietet die Möglichkeit, Let’s Encrypt Zertifikate manuell zu erstellen. Für die Verifikation des Hostnamens stehen drei Möglichkeiten zu Verfügung:

  • Verifikation mittels eines FTP-Logins.
  • Verifikation mit einem Textfile das in einen speziellen Ordner geladen werden muss.
  • DNS Verifikation mit einem TXT Eintrag in den DNS-Einstellungen.
Bei allen drei Möglichkeiten, muss man jeweils zugriff auf die Domain-Einstellungen haben. Sobald die Verifikation des Domainnamens abgschlossen ist, kann man die Zertifikate in einem Zip-File herunterladen. Dieses File enthält

  • certificate.crt
  • private.key
  • ca_bundle.crt

Nachteil
Da Let’s Encrypt Zertifikate nur 90 Tage gültig sind, müssen die Zertifikate verlängert und manuell ausgetauscht werden. SSL For Free versendet aber bei Registrierung Benachrichtigungen, wenn es so weit ist.

Konfiguration IPFire
Diese Zertifikate können auf der IPFire eingebunden werden, indem die Apache-Konfiguration angepasst wird. Dazu müssen die Files zuerst auf die IPFire kopiert werden. Am besten in ein eigenes Verzeichnis im httpd.

mkdir -p /etc/httpd/letsencrypt
unzip sslforfree.zip -d /etc/httpd/letsencrypt

Nun noch in der /etc/httpd/conf/vhosts.d/ipfire-interface-ssl.conf die Zertifikate ersetzen. Dazu

SSLCertificateFile /etc/httpd/server.crt
SSLCertificateKeyFile /etc/httpd/server.key

durch

SSLCertificateFile /etc/httpd/letsencrypt/certificate.crt
SSLCertificateKeyFile /etc/httpd/letsencrypt/private.key

ersetzen. Nun muss nur noch der Apache neu gestartet werden.

/etc/init.d/apache start

Beim Zugriff auf das Webinterface wird nur das Let’s Encrypt Zertifikat angezeigt.

comments powered by Disqus