indi-allsky mit echtem SSL Zertifikat von Letsencrypt absichern

Letsencrypt LogoMeine Allsky-Kamera betreibe ich mit der Software indi-allsky. Diese ist von Werk mit einem SSL-Zertifikat ausgestattet, allerdings handelt es sich dabei um ein selbstsigniertes Zertifikat – solche Zertifikate werden von Browsern als unsicher eingestuft. Zusätzlich gilt das SSL-Zertifikat für die URL innerhalb des Netzwerks, in meinem Fall also allsky.local. Da ich meine Kamera aber sicher unter https://access.allsky-rodgau.de zur Verfügung stellen musste, wird ein echtes SSL-Zertifikat für diese Subdomain benötigt.

Wie man dieses Zertifikat einrichtet, ekläre ich euch jetzt. Ich nutze hierfür den Anbieter Letsencrypt – dieser bietet kostenlose SSL-Zertifikate an – und die Linux-Software certbot.

Warum der ganze Spaß? Ein SSL-Zertifikat ermöglicht die Nutzung von HTTPS, wodurch der gesamte Datenverkehr zwischen deinem Raspberry Pi und den Clients – also in diesem Fall die Webbrowser der User, die aus dem Web auf meine Kamera-Software drauf wollen – verschlüsselt wird. Dies ist besonders wichtig, wenn du Dienste oder Anwendungen über das Internet bereitstellst, um die Sicherheit der übertragenen Daten zu gewährleisten.

Schritt 1: Installation von Certbot

Zunächst loggst du dich per ssh allsky.local und deinen Zugangsdaten auf deinem Raspberry Pi mit Allsky-Software ein. Anschließend solltest du sicherstellen, dass dein System auf dem neuesten Stand ist – hierzu nutzt du den Befehl:

Anschließend installierst du Certbot entsprechend deiner Server-Umgebung – im Fall von indi-allsky handelt es sich um einen Apache-Server, daher lautet der Befehl:

Schritt 2: Generierung des SSL-Zertifikats

Nachdem Certbot installiert ist, kannst du das SSL-Zertifikat generieren. Für Apache verwendest du den Befehl

Während des Prozesses wirst du aufgefordert:

  • Deine E-Mail-Adresse anzugeben.
  • Den Nutzungsbedingungen zuzustimmen.
  • Deine Domain einzugeben – in meinem Fall also access.allsky-rodgau.de

Certbot konfiguriert anschließend automatisch deinen Webserver für HTTPS.

Schritt 3: Automatische Verlängerung des Zertifikats

Let’s Encrypt-Zertifikate sind 90 Tage gültig. Um eine automatische Verlängerung einzurichten, kannst du einen Cronjob erstellen. Hierzu öffnest du das Tool crontab mit dem Befehl

Füge folgende Zeile hinzu, um jeden Montag um Mitternacht die Verlängerung durchzuführen:

Speichere die Änderungen. Damit wird dein SSL-Zertifikat regelmäßig erneuert, ohne dass du manuell eingreifen musst. Fertig.

Schritt 4 (optional): SSL-Zertifikat testen

Ob das SSL-Zertifikat sauber funktioniert, könnt ihr unter https://ssl-trust.com/SSL-Zertifikate/check testen. Seht ihr grüne Haken ist alles wunderbar!