lets-encrypt

SSL kostenlos mit Froxlor und Let’s Encrypt

Veröffentlicht von

Die Letsencrypt-Initiative war 2016 mit ca. 20 Mio. aktiven Zertifikaten ein durchschlagender Erfolg. Nicht verwunderlich also, dass die Verbreitung und Unterstützung von Let’s Encrypt in Software zur Verwaltung von Webservern integriert wurde.

So bot sich mit Froxlor 0.9.35 im April letzten Jahres die bequeme Möglichkeit, Let’s Encrypt-Zertifikate direkt im Froxlor-Panel zu verwalten. Die parallele SSL-Zertifkat-Erstellung und -Erneuerung mit dem  Let’s Encrypt-eigenen Client, der mittlerweile in certbot umgetauft wurde, entfällt somit.

Vollständige Integration ins Froxlor-Panel

Seitdem ging die Entwicklung weiter und Froxlor liegt mittlerweile in der Version 0.9.38.7 vor. Let’s Encrypt SSL wurde in das Adminpanel integriert, wie in Abb. 1 zu erkennen ist.

ssl-froxlor1
Abb. 1: Let’s Encrypt SSL im Froxlor-Panel

Ein Klick auf SSL Zertifikate zeigt die im System hinterlegten Zertifikate mittlerweile bequem mit Gültigkeitsdauer an. Hier werden auch SSL-Zertifkate angezeigt, die im Kundenpanel von Froxlor parallel zum Let’s Encrypt-Automatismus integriert wurden (Abb. 2). Wildcard-Zertifikate sind nach wie vor nicht geplant, mit Subject Alternative Name (SAN) lassen sich aber Zertifikate für die jeweilige Domain inklusive der www-Subdomain generieren. Froxlor Server Name Identification erlaubt grundsätzlich die Zertifikatserstellung pro Domain.

 

ssl-froxlor2
Abb. 2: SSL-Zertifikate im Froxlor-Panel

Kommt man von einer früheren Froxlor-Version ohne integrierte Let’s Encrypt-Unterstützung, wird während des Updates und vor der nächsten Anmeldung gefragt, ob diese Option grundsätzlich aktiviert werden soll. Bestätigt man dies, finden sich ab sofort die Let’s Encrypt-Einstellungen in den Eigenschaften einer jeden Domain. In den IP- und Porteinstellungen (Abb. 3) muss ein SSL-Socket für die IP auf Port 443 aktiviert sein. Standardmäßig lauscht der Apache 2.4 erst einmal nur auf Port 80.

froxlor_ssl3
Abb. 3: IP- und Porteinstellungen des Webservers

In den Einstellungen der Domain im Froxlor-Adminpanel (Abb. 4) kann die Let’s Encrypt-Option aktiviert werden, wenn die Wildcard-Option aus den zuvor genannten Gründen auf den www-Alias einstellt ist .

froxlor_ssl4
Abb. 4: Einstellungen der Domain

 

Let’s Encrypt-Konfiguration für Apache 2.4

Damit die automatische Verwaltung der SSL-Zertifikate per ACME funktionieren kann, muss die Konfiguration des Apache-Webservers wie folgt aktualisiert werden.

Folgende Konfigurationsdatei des Apache 2.4 wird dazu mit einem Texteditor geöffnet und um

nano /etc/apache2/conf-enabled/acme.conf

diesen Alias zur ACME-Konfiguration ergänzt.

Alias "/.well-known/acme-challenge" "/var/www/html/froxlor/.well-known/acme-challenge"
<Directory "/var/www/html/froxlor/.well-known/acme-challenge">
Require all granted
</Directory>

Zum Aktivieren der neuen Konfiguration muss der Apache neu gestartet werden.

/etc/init.d/apache2 restart

Nun weiß der Apache-Webserver wie er mit der Zertifikatsverwaltung von Let’s Encrypt umzugehen hat, sodass die entsprechenden SSL-Zertifikate angefordert und abgerufen werden können. Alle 90 Tage müssen die verwendeten Zertifikate neu angefordert und ausgetauscht werden. Dieser Umstand ist explizit von der Let’s Encrypt-Initiative gewünscht.

Automatische Erneuerung der SSL-Zertifikate

Für die automatische Erneuerung der SSL-Zertifikate richtet Froxlor einen Cronjob ein, der wie folgt über den Master-Cronjob auch manuell angestoßen werden kann.

php5 -q /var/www/html/froxlor/scripts/froxlor_master_cronjob.php --letsencrypt
froxlor_ssl5
Abb. 5: Let’s Encrypt Cronjob

Das Froxlor-Kundenpanel

Die bisherigen Erläuterungen bezogen sich grundsätzlich auf das Admin-Panel von Froxlor. Wenn SSL und Let’s Encrypt jedoch grundsätzlich aktiviert sind, kann die domainspezifische Konfiguration auch vom Kunden selbst vorgenommen werden.

Auch hier gibt es den Menüpunkt, um vorhandene SSL-Zertifikate des jeweiligen Kunden anzeigen zu lassen (Abb. 6).

froxlor_ssl6
Abb. 6: SSL-Zertifikatsübersicht um Froxlor-Kundepanel

In den Einstellungen der Domain erfolgt die Konfiguration analog zu der im Admin-Panel. Wurde dort Let’s Encrypt schon aktiviert, ist die Option im Kundenpanel automatisch ebenfalls gesetzt (Abb. 7).

froxlor_ssl7
Domaineinstellungen im Froxlor-Kundenpanel

Speicherort der SSL-Zertifikate

Nach ihrer Erstellung sind alle Zertifikate der in Froxlor für Lets Encrypt aktivierten Domains im Verzeichnis /etc/ssl/froxlor-custom zu finden. Prinzipiell ließen sie sich jetzt auch an andere Orte kopieren oder sichern.

Mögliche Probleme

Gerade wenn man von einer früheren Froxlor-Version kommt oder bereits eine „manuelle“ SSL-Konfiguration inkl. Zertifikate vorgenommen hatte, kann es zu Problemen bei der aktuellen Version kommen.

Fehler 1: PHP-cURL fehlt

apt-get install php5-curl
service apache2 restart

Fehler 2: empty certificate file! Cannot create ssl-directives

Diese Meldung ist im Systemlog von Froxlor nach Ausführung des Cronjobs zu finden. Zur Generierung der SSL-Zertifikate bei Let’s Encrypt benötigt der Webserver eigene Zertifikate. Diese sind nicht zwingend vorhanden und können mit OpenSSL wie folgt erzeugt werden:

openssl genrsa -out /etc/ssl/private/apache.key 2048
openssl req -new -x509 -key /etc/ssl/private/apache.key -days 365 -sha256 -out /etc/ssl/certs/apache.crt

Passende Beiträge

Verschlüsselungstrojaner – wie mit der Gefah... Im letzten Jahr verging kaum ein Tag ohne Meldungen über verschiedene Ableger eines sogenannten Verschlüsselungs- oder Erpressungstrojaners und dessen...
Dienste mit fail2ban absichern Jeder Administrator wird die Problematik kennen: über das Internet erreichbare Ports von Serverdiensten sind notwendig und bergen gleichzeitig ein Ris...
SSH-Zugriff mit PuTTY – sicher ohne Passwort Wer seine linuxbasierten Hosts und (Root-)Server über das Internet per SSH administriert, sollte sich neben der generellen Härtung eines Hosts unbedin...

Kommentar hinterlassen

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