1. Introduction
A single sign-on to the GUI of Checkmk with Kerberos is not officially supported by Checkmk, but you can easily set it up yourself. These instructions will show you how to do this.
The following prerequisites must be satisfied before the configuration in Checkmk can be retroactively altered to SSO (Single Sign-On) with Kerberos:
The Apache-Version is 2.4 or newer.
On the Checkmk server the module
libapache-mod-auth-kerbis installed (ormod_auth_kerbunder Red Hat Enterprise Linux and CentOS orapache2-mod_auth_kerbunder SUSE).The Kerberos client is installed and configured on the Checkmk server.
A Keytab — e.g. as
/etc/krb5.keytab— has been installed and may be read by the site user.The Checkmk server has been set up as the Service Principal.
The client’s browser has been configured for access using Kerberos.
Optional:
If you want users without SSO to still be able to log in via the regular login page, cookie authentication must be enabled.
2. Kerberos integration
To switch Checkmk to authentication via Kerberos, delete the ~/etc/apache/conf.d/auth.conf file and rewrite it.
The entries at the beginning of the following file contents are only examples.
Therefore, modify all lines that begin with the Define expression to suit your environment:
Once the sample configuration shown has been executed, only authentications via Kerberos will be permitted.
You must now decide whether you want to continue to support basic auth with or without cookies — for users without SSO, or as a fallback.
What you will need to configure for this is explained in the following two chapters.
3. Allow basic authentication
If you want to continue to allow authentication via basic auth in addition to SSO via Kerberos, you need to edit one line in the above configuration.
To do this, change the value in the following line to on:
4. Verify cookie authentication
To make authentication more convenient, Checkmk also supports logging in via a cookie. In a new and unmodified Checkmk site this is currently the default.
Last but not least, you should check if this authentication option is still enabled and whether it should stay that way.
You can check the current state of your site with the following command:
If you receive an on value here and want to keep cookie authentication enabled — for example as a fallback — nothing more needs to be done at this point.
If, on the other hand, you want to disable MULTISITE_COOKIE_AUTH, this can be performed with the following command:
Then delete the cookie_auth.conf file from the site’s Apache directory:
5. Diagnostics
You can check with the following commands, if your Kerberos setup is working:
