1. Einleitung
Ein Single Sign-On auf die GUI von Checkmk mit Kerberos wird von Checkmk zwar nicht offiziell unterstützt, aber Sie können es sich selbst einrichten, sofern Sie grundsätzliches Wissen rund um Kerberos mitbringen. Was Sie auf der Seite von Checkmk benötigen, zeigt Ihnen diese Anleitung.
Folgende Voraussetzungen müssen erfüllt sein, um die Konfiguration in Checkmk nachträglich auf SSO (Single Sign-On) mit Kerberos umzustellen:
Die Apache-Version ist 2.4 oder neuer.
Auf dem Checkmk-Server ist das Modul
libapache-mod-auth-kerbinstalliert (bzw.mod_auth_kerbunter Red Hat Enterprise Linux und CentOS oderapache2-mod_auth_kerbunter SUSE).Der Kerberos-Client ist auf dem Checkmk-Server installiert und konfiguriert.
Eine Keytab wurde — z.B. in der Checkmk-Instanz unter
~/etc/apache/cmk_http.keytab— erstellt und darf nur von dem Instanzbenutzer gelesen werden.Der Checkmk-Server wurde als Service Principal eingerichtet.
Der Browser der Clients ist für den Zugriff mittels Kerberos konfiguriert.
Optional:
Wenn Sie möchten, dass sich Nutzer ohne SSO weiterhin über die reguläre Login-Seite anmelden können, muss die Cookie-Authentifizierung eingeschaltet sein.
2. Integration von Kerberos
Um Checkmk auf die Authentifizierung über Kerberos umzustellen, löschen Sie die Datei ~/etc/apache/conf.d/auth.conf und schreiben sie neu.
Die Einträge am Anfang des folgenden Dateiinhalts sind lediglich Beispiele.
Passen Sie daher alle mit dem Ausdruck Define beginnenden Zeilen Ihrer Umgebung entsprechend an:
In der Beispiel-Konfiguration werden anschließend nur noch Authentifizierungen über Kerberos zugelassen.
Sie müssen nun entscheiden, ob Sie weiterhin basic auth mit oder ohne Cookies — für Nutzer ohne SSO bzw. als Fallback — unterstützen möchten.
Was Sie dazu einstellen müssen, erklären wir in den beiden folgenden Kapiteln.
3. Basic-Authentifizierung zulassen
Wenn Sie zusätzlich zum SSO per Kerberos weiterhin die Authentifizierung per basic auth erlauben möchten, müssen Sie in der oben angegebenen Konfiguration eine Zeile anpassen.
Ändern Sie dazu in der folgenden Zeile den Wert auf on:
4. Cookie-Authentifizierung prüfen
Um die Authentifizierung komfortabler zu gestalten, bietet Checkmk darüber hinaus noch die Anmeldung über ein Cookie an. In einer neuen und unveränderten Checkmk-Instanz ist dies derzeit der Standard.
Zu guter Letzt sollten Sie noch prüfen, ob diese Möglichkeit der Authentifizierung noch eingeschaltet ist und ob dies so bleiben soll.
Den aktuellen Zustand Ihrer Instanz prüfen Sie mit dem folgenden Befehl:
Wenn Sie hier ein on zurückbekommen und die Cookie-Authentifizierung — beispielsweise als Fallback — weiterhin aktiviert lassen wollen, sind Sie an dieser Stelle fertig.
Möchten Sie die MULTISITE_COOKIE_AUTH hingegen abschalten, funktioniert dies über den folgenden Befehl:
Löschen Sie anschließend noch die Datei cookie_auth.conf aus dem Apache-Verzeichnis der Instanz:
5. Fehlerdiagnose
Mit den folgenden Kommandos können Sie prüfen, ob das Kerberos-Setup an sich funktioniert:
