HTTPS Verbindung mit Let’s Encrypt

Nachdem der Heimserver mit Nextcloud versehen und per DDNS und Portfreigabe aus dem Internet erreichbar ist, sollte man sich dringend Gedanken über eine sichere HTTPS Verbindung machen, da die Daten ansonsten bei der Übertragung ungesichert sind, was den Aufwand einen eigenen Server in den eigenen vier Wänden zu betreiben ad absurdum führen würde.

Früher hat man hier mit selbst signierten Zertifikaten gearbeitet, was lästige Fehlermeldungen im Browser zur Folge hatte. Dank Let’s Encrypt ist es aber heute spielend einfach ein ordentliches SSL-Zertifikat für den Heimserver einzurichten.

Certbot installieren

In manchen Distributionen wie Debian lässt sich Certbot bereits über die Paketquellen installieren – so auch bei openSUSE Leap 15.0. Dieses zentrale Werkzeug für die Zertifikatsverwaltung kann daher problemlos installiert werden. Zusätzlich sollte man auch noch die Konfigurationsroutine für Apache installieren.

# zypper in python3-certbot python3-certbot-apache

Einrichtung

Zertifikat beziehen

Cerbot kann den Server vollautomatisch konfigurieren, was inzwischen sehr zuverlässig funktioniert. Voraussetzung dafür ist eine ordentlich konfigurierte bestehende Virtualhost-Konfiguration für Apache. Diese kann man leicht aus der Vorlage von openSUSE anlegen:

# cp /etc/apache2/vhosts.d/vhost.template /etc/apache2/vhosts.d/vhost-nextcloud.conf

Die Datei bearbeitet man anschließend und trägt die richtigen Werte in die zwei folgenden Zeilen ein.

ServerAdmin webmaster@dummy-host.example.com     
ServerName dummy-host.example.com

Anschließend startet man die automatische Routine von Certbot:

# certbot --apache

Hier sind einige Daten wie eine E-Mail Adresse und eine URL einzutragen. Cerbot fragt außerdem ab, ob man alle Zugriffe auf HTTPS umleiten möchte (was zu empfehlen ist)

Apache konfigurieren

Certbot legt automatisch eine neue vHost-Datei an und bearbeitet die bisherige für eine Umleitung. Hier sind keinerlei manuelle Eingriffe mehr notwendig.

Abschließen ist ein Neustart des Apache-Servers fällig:

# systemctl restart apache2

Nextcloud lässt sich nun über eine gesicherte HTTPS-Verbindung aufrufen. Das Zertifikat hat eine Laufzeit von 3 Monaten und muss dann mit folgendem Kommando erneuert werden.

# certbot renew

Das ganze muss entweder manuell erfolgen oder man legt hierfür einen Cronjob an – das bleibt jedem selbst überlassen.

Einen Cronjob legt man unter openSUSE wie folgt an:

# nano /etc/cron.d/certbot.cron

Den folgenden Inhalt einfügen:

# renew all certificates methode: renew 10 5 1 * * root /usr/bin/certbot renew

Dadurch versucht der Cronjob jeden Monat eine Aktualisierung des Zertifikats.

Kommentieren Sie den Artikel

Ergänzungen dienen der Diskussion über die Inhalte des Artikels. Nachfragen, Anmerkungen und Ergänzungen sind dezidiert erwünscht. Ergänzungen werden vor der Veröffentlichung moderiert. Wir behalten uns vor Kommentare ohne inhaltlichen Bezug oder abseitige Diskussionen nicht zu veröffentlichen.

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Mehr aus dem Blog

Fedora Silverblue – Toolbox für grafische Anwendungen

Unveränderbare Linux-Systeme wie Fedora Silverblue nutzen als Standard Flatpak für Anwendungsinstallationen. Doch noch liegen nicht alle Anwendungen als Flatpak vor. Diese können dann entweder...

Fedora Silverblue im Praxistest

Ich liebe LTS-Distributionen, aber diese bewahren einen leider nicht vor defekten SSDs im Notebook. Da ich keine Vollsicherung der Systeme mache, sondern nur Datenbackups...

Neues Design bei Mozilla Thunderbird

Die Entwickler von Mozilla Thunderbird wagen sich an eine Modernisierung des überkommenen Designs. Dabei zeigen sich die alten Probleme der Open Source Entwicklung. Mangels...

systemd und TPM – Die Reise geht weiter

Auf der diesjährigen FOSDEM kündigte Lennart Poettering die Weiterentwicklung der TPM-basierten Sicherheitsfunktionen in systemd an. Die Vision eines neuen Linux nimmt immer mehr Gestalt...