Zertifikate von Let’s Encrypt für Splunk Web

Zertifikate von Let’s Encrypt für Splunk Web

August 1, 2023

In diesem Blog-Beitrag lernst du, wie du Zertifikate von Let’s Encrypt für Splunk Web verwenden kannst.

Wir empfehlen dir, das begleitende YouTube-Video „Let’s Encrypt für Splunk Web – SSL-Zertifikate in fünf Minuten“ anzusehen, um visuelle Beispiele und eine detailliertere Erklärung zu erhalten.

Voraussetzungen

Zuerst wird sichergestellt, dass der Server über eine öffentlich erreichbare IP-Adresse verfügt und, dass wir Administratorzugriff darauf besitzen. Zusätzlich müssen wir auch die Firewall überprüfen, ob diese beispielsweise eingehenden Datenverkehr zulässt. Dazu aber später noch mehr.

Ein kleiner Hinweis:
Wenn du HTTPS für einen lokalen Webserver einrichten möchtest, ohne ständig Zertifikatswarnungen zu erhalten, empfiehlt es sich, ein selbst signiertes Zertifikat zu verwenden.

Installation von Certbot

Eine sehr beliebte und einfache Möglichkeit bietet der Let’s Encrypt-Client Certbot. Sollte diese Anleitung für dein Betriebssystem nicht funktionieren, findest du hier einen Link zu Anleitungen für andere Betriebssysteme.

Wir verbinden uns zunächst über SSH mit unserem Server. Das machen wir natürlich mit einem User, der Adminrechte besitzt.

Unser erster Schritt ist snapd zu in installieren. In unserem Fall funktioniert das über:

Copy to Clipboard

Hier können wir uns eine auf unser Betriebssystem angepasste Installationsanleitung anzeigen lassen.

Nach der Installation müssen wir noch sicherstellen, dass die aktuellste Version von snapd installiert ist. Dazu führen wir einfach die folgenden Befehle aus:

Copy to Clipboard

Wenn wir snapd mit einem Betriebssystem-Paketmanager wie apt, yum oder dnf installiert haben, dürfen wir nicht vergessen certbot-auto und die Betriebssystem-Pakete zu entfernen bevor wir den Certbot-Snap installieren. Dadurch wird sichergestellt, dass beim Ausführen des `certbot‘-Kommandos der Snap verwendet wird und nicht die Version aus dem Paketmanager des Betriebssystems. In unserem Fall führen wir also folgenden Befehl aus:

Copy to Clipboard

Dann führen wir die folgenden Befehle aus um Certbot zu installieren und um anschließend den Befehl certbot ausführbar zu machen:

Copy to Clipboard

Um die nächsten Schritte durchführen zu können, müssen wir zuerst unsere Firewall überprüfen und eingehenden Datenverkehr auf Port 80/TCP zulassen.

Der Standardport für HTTP ist Port 80, was bedeutet, dass normalerweise unverschlüsselte Webserver auf diesem Port laufen. Diese müssten gestoppt werden, damit Certbot dann über diesen Port kommunizieren kann. Da Splunk aber auf Port 8000 läuft, ist das für uns nicht notwendig.

Je nachdem welche Lösung ihr nutzt, können die Befehle wie folgt oder anders aussehen:

Copy to Clipboard

Jetzt können wir Certbot mit dem folgenden Befehl ausführen und werden im Dialog aufgefordert den DNS unserer Webseite und eine E-Mail-Adresse anzugeben, unter der wir erreichbar sind, um automatisch benachrichtigt zu werden wenn unser Zertifikat dabei ist seine Gültigkeit zu verlieren.

Copy to Clipboard

Anschließend löschen wir die Regel wieder, die den eingehenden Datenverkehr auf Port 80 erlaubt.

Zertifikate für Splunk nutzbar machen

Unter ~/etc/letsencrypt/live// finden wir nun die Zertifikate von Let’s Encrypt. Damit Splunk mit diesen Zertifikaten arbeiten kann, müssen wir fullchain.pem und privkey.pem in den Dateibaum unter Splunk kopieren. Dafür erstellen wir zunächst einen Ordner unter dem folgenden Pfad und kopieren die benötigten Zertifikate dorthin:

Copy to Clipboard

Wir wechseln in das Verzeichnis $SPLUNK_HOME/etc/system/local/ und bearbeiten die Datei web.conf so, dass die richtigen Pfade auf die Zertifikate privkey.pem und fullchain.pem zeigen.

$SPLUNK_HOME/etc/system/local/web.conf:

Copy to Clipboard

Nach einem Neustart von Splunk, können wir beim Aufruf der Webseite im Browser das geschlossene Schloss links in der URL-Leiste sehen und wenn man darauf klickt, wird angezeigt, dass die Verbindung sicher und das Zertifikat gültig ist.

Automatisierte Erneuerung des Zertifikats einrichten

Wir erstellen einen Cronjob um eine automatisierte Erneuerung des Zertifikats für unsere Website einzurichten. In unserem Fall wollen wir jeden Sonntag um 2 Uhr nachts diesen Cronjob laufen lassen. Also führen wir den Befehl crontab -e aus und schreiben folgende Zeile in die aufgerufene Datei:

Copy to Clipboard

Das Shell Skript, das für den Cronjob aufgerufen wird, ruft zunächst den Befehl zur Erneuerung des Zertifikats auf und testet dann, ob das Zertifikat tatsächlich erneuert wurde. Der Befehl erneuert das Zertifikat, nur wenn dieses eine Gültigkeit von 30 Tagen unterschreitet.

Wenn das Zertifikat dann tatsächlich erneuert wurde, kopieren wir die benötigten, neuen Zertifikate noch zu dem von Splunk verwendbaren Ort und stellen sicher, dass die neuen Dateien auch dem Splunk ausführenden User gehören. Dieser muss im folgenden natürlich noch ersetzt werden.

Copy to Clipboard

Leave A Comment

Diese Seite ist durch reCAPTCHA und Google geschütztDatenschutz-Bestimmungen UndNutzungsbedingungen anwenden.

The reCAPTCHA verification period has expired. Please reload the page.