Grafana per LetsEncrypt mit HTTPS absichern

Nach dem Umzug von Grafana auf einen neuen Server habe ich die Installation zusätzlich mit HTTPS konfiguriert, um einen verschlüsselten Zugriff drauf zu gewährleisten. Als CA kommt natürlich wieder LetsEncrypt zum Einsatz.

Zertifikat erzeugen

Erste Aufgabe ist es, ein neues Zertifikat anzufordern. Nachdem dies passiert ist, werden diese unter Ubuntu unter /etc/letsencrypt/live/<domainname> abgelegt.

Es gibt einige Anleitungen dazu online, z.B. hier: How To Secure Nginx with Let’s Encrypt on Ubuntu 16.04

Anpassung der Grafana-Konfiguration

Als nächstes muss die Grafana-Konfiguration unter /etc/grafana/grafana.ini angepasst werden. Anbei nur die Änderungen, die gemacht wurden, nicht die komplette Konfiguration.

Nun könnte der Dienst von Grafana neu gestartet werden, die führt allerdings zu einem Fehler im Logfile unter /var/log/grafana/grafana.log.

Dies liegt daran, dass der Grafana-Prozess standardmäßig nicht auf das Zertifikat zugreifen kann. Dies habe ich so angepasst, dass der grafana-Benutzer Mitglied der Gruppe ssl-certs ist und diese Gruppe einen Zugriff auf die Dateien erhält, die in dem Verzeichnis liegen:

Zusätzlich zur Anpassung der Gruppe habe ich noch die Rechte der Dateien auf 660 angepasst, so das Jeder keinen lesenden Zugriff mehr hat. Diese Anpassung muss nun auch noch auf den Ordnern gemacht werden, in denen die Zertifikate gespeichert werden:

Danach konnte ich den Grafana-Dienst problemlos starten und per HTTPS ansprechen.

Prometheus

Ich habe festgestellt, dass nicht nur die Migration von Grafana zu HTTPS ausreicht, sondern auch noch die dahinter gelagerten Datenquellen umgestellt werden müssen. In unserem Fall ist das Prometheus, das habe ich in diesem Artikel aktuell noch nicht berücksichtigt.

About the author: Jan

Leave a Reply

Your email address will not be published.Email address is required.