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.

Gerrit
Moin, meine Name ist Gerrit und ich betreibe diesen Blog seit 2014. Der Schutz der digitalen Identität, die einen immer größeren Raum unseres Ichs einnimmt ist mir ein Herzensanliegen, das ich versuche tagtäglich im Spannungsfeld digitaler Teilhabe und Sicherheit umzusetzen. Die Tipps, Anleitungen, Kommentare und Gedanken hier entspringen den alltäglichen Erfahrungen.

Schreiben Sie eine Ergänzung

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

Bitte geben Sie Ihre Ergänzung ein!
Bitte geben Sie hier Ihren Namen ein