Let’s Encrypt Zertifikate unter pfSense (DNS-GoDaddy)

Let’s Encrypt Zertifikate unter pfSense

Eine Webseite ohne HTTPS zu betreiben wirkt in Zeiten, in denen Google Chrome HTTP-Seiten als unsicher markiert nahezu unprofessionell. Daher sollte jeder seine Webserver oder seinen Reverse Proxy mit einem Zertifikat für HTTPS ausstatten. Wie man kostenlose Let’s Encrypt Zertifikate unter pfSense einrichtet, erklären wir in diesem Blogpost.

Let’s Encrypt Zertifikate unter pfSense mit ACME Package

Zu Beginn muss man das ACME Paket auf der pfSense installieren. Das Paket kann man unter System > Package Manager > Available Packages auswählen. Klickt man dann auf Install, kann man das Paket anschließend unter Services > Acme Certificates wieder finden.

General settings

In den General Settings des Pakets aktiviert man die „Cron Entry“ Checkbox. Das sorgt dafür, dass täglich um 3:16 Uhr die Zertifikate erneuert werden, wenn dies notwendig ist.

Account keys

Anschließend registriert man einen Account key bei Let’s Encrypt. Das erfolgt im Reiter „Account keys“.
Hier trägt man einen Namen und eine Beschreibung für den Account Key ein. Dazu bietet sich zum Beispiel der Domain-Name an.
Als ACME Server empfehlen wir den Production ACME v2 Server, da dieser auch Wildcard Zertifikate erstellen kann.
Die Mail Adresse nutzt Let’s Encrypt zur Benachrichtigung bei bald auslaufenden Zertifikaten.
Durch einen Klick auf „Create new account key“ wird das Account key Feld mit einem Private Key befüllt.
Zuletzt noch mit „Register ACME account key“ und anschließendem „Save“ den Vorgang abschließen.

Certificates

Zuletzt erstellt man dann das gewünschte Zertifikat. Am einfachsten ist die Erstellung eines Wildcard Zertifikats. Dieses lässt sich auch für alle Subdomains verwenden. Let’s Encrypt erfordert jedoch für Wildcard Zertifikate die DNS Challenge Methode.
Hat man hier einen unterstützten Domain-Anbieter wie z. B. GoDaddy oder Cloudflare ist das sehr einfach. Dann richtet man wie hier in unserem Blogbeitrag beschrieben die GoDaddy API ein. Diese API Zugangsdaten verwendet man anschließend in der Domain SAN list zum Anlegen der für das Zertifikat gewünschten Domains. Bei anderen Domain Anbietern funktioniert das ähnlich.

Als Nutzer von HAProxy auf der pfSense sollte man das Kommando „/usr/local/etc/rc.d/haproxy.sh restart“ vom ACME Paket ausführen lassen. Wer dazu noch ein Cluster betreibt, muss dieses Kommando auch für den zweiten Cluster Knoten konfigurieren. Das geht mit „haproxy“ als Remote Service Restart wie im Screenshot sichtbar.
Notwendig ist dies, weil HAProxy nur beim Neustart das alle 60 Tage erneuerte Zertifikat nachladen kann.

Abschluss

Mit dem hier beschriebenen Prozess erhält man auf der pfSense ein Zertifikat, welches sich automatisch alle 60 Tage verlängert. Dieses kann zum Beispiel wie im Beitrag verlinkt unter HAProxy oder für OpenVPN auf der pfSense verwendet werden.