1. Einleitung
Zertifikate gewährleisten den sicheren Betrieb Ihres Monitoring: Für die ein- und ausgehende Kommunikation in Ihrer Checkmk-Umgebung bestätigen sie die Vertrauenswürdigkeit der verwendeten Schlüssel, zum Beispiel zwischen den Agenten und Ihrer Checkmk-Instanz oder im verteilten Monitoring bei der Kommunikation zwischen Zentralinstanz und Remote-Instanzen.
Bei Checkmk sind Zertifikate im PEM-Format hinterlegt – auch für die Checkmk-seitigen Certificate Authorities (CA), die sich mit je einem CA-Zertifikat jeweils die eigene Vertrauenswürdigkeit attestieren. PEM steht für Privacy-Enhanced Mail und ist ein einfach handhabbares Textdateiformat zum Aufbewahren und Teilen kryptografischer Schlüssel, Zertifikate und Anfragen. Dateien im PEM-Format sind Klartextdateien und lassen sich als solche per Texteditor leicht einsehen und bearbeiten.
Checkmk stattet Ihre Checkmk-Instanzen mit eigenen Certificate Authorities und Zertifikaten aus, die für den Betrieb und für die Kommunikation zwischen den Komponenten eines Checkmk-Setups (etwa zwischen den Agenten und der Instanz) unerlässlich sind. Die von einer CA ausgegebenen Zertifikate werden "CA-Zertifikate" genannt. CA-Zertifikate dienen als digitaler Ausweis für verschlüsselte Kommunikation: Sie erben das Vertrauen von ihrer CA und geben es weiter in einer Chain of Trust (zu Deutsch: Vertrauens- beziehungsweise Zertifikatskette).
Die Root-CA ist eine vertrauenswürdige Stelle, die in einer Zertifikatskette als Vertrauensanker fungiert: Sie stellt sich ein selbst signiertes Root-Zertifikat aus (ein CA-Zertifikat), das die Glaubwürdigkeit und digitale Identität der von ihr abgeleiteten Zertifikate und CAs begründet. Am Ende der Zertifikatskette steht das Leaf-Zertifikat als individuelle Einheit. Es erbt das Vertrauen von den ihm übergeordneten höherrangigen Zertifikatsgliedern der Kette. Das Vertrauen wird durch Signiervorgänge mit digitalen Unterschriften weitergegeben und bestätigt. Zwischen dem Root- und dem Leaf-Zertifikat können ein oder mehrere Intermediate-Zertifikate stehen (bildlich: die Äste am Zertifikat-Baum). Das oberste Intermediate-Zertifikat wird von der Root-CA signiert, darunter fungieren die Intermediates als untergeordnete CAs. Bei Checkmk gibt es keine zwischengeschalteten Intermediates, da sie für die Sicherheitsarchitektur der Checkmk-Software nicht notwendig sind.
Praktisch können Sie sich den Ablauf wie folgt vorstellen: Eine CA signiert das von ihr ausgegebene Zertifikat mit ihrem privaten Schlüssel und garantiert damit dessen Echtheit und Gültigkeit. Die beteiligten Systemkomponenten vertrauen auf eine vordefinierte Liste von CA-Zertifikaten. Webbrowser zum Beispiel liefern eine Liste von CA-Zertifikaten mit (von einem Konsortium der großen Browserhersteller abgesegnet) und vertrauen damit Webseiten, die von diesen CA-Zertifikaten signierte Intermediate Certificates und wiederum damit signierte Serverschlüssel verwenden. Zertifikate, die die Identität eines Clients oder einer Person hinter einem Server (oder einer Webdomain) bestätigen, werden Server-Zertifikate genannt – ein Beispiel dafür ist das Server-Zertifikat einer Webseite, das diese dem Browser vorlegt. Für Server-Zertifikate wird der Begriff TLS/SSL-Zertifikate oft synonym verwendet.
Vereinfacht gesagt prüft die CA den öffentlichen Schlüssel eines Antragstellers (Mensch, Website oder Softwarekomponente), indem sie dessen Zertifikat auf Echtheit und Gültigkeit prüft. Fällt das Ergebnis positiv aus, ist die systeminterne Kommunikation freigegeben, beispielsweise zwischen einer Instanz und den ihr zugeordneten Hosts oder im verteilten Monitoring zwischen den Instanzen.
Bei Checkmk geschieht die Absicherung der Agentenkommunikation in einer Form, die über SSL/TLS sogar noch hinausgeht: Die Kommunikation zwischen Agent Receiver (in der Instanz) und Agent Controller (auf dem überwachten Host) findet per mTLS statt, asynchron und in Ende-zu-Ende-Verschlüsselung. Das "m" in mTLS steht für das gegenseitige (mutual) Bestätigen einer Vertrauensbasis: eine Authentifizierung von Client und Server, die das Standard-TLS-Protokoll erweitert. Eine Certificate Authority (CA) beantwortet Signierungsanfragen des Agent Controller von Hosts im Monitoring. So können auch kompromittierte Agenten leicht identifiziert werden.
Die Echtheit jedes Zertifikats lässt sich mittels Fingerprint feststellen: Aus allen Daten des Zertifikats wird ein Prüfwert berechnet und als hexadezimale Zahl dargestellt. Dieser "Fingerabdruck" ist die eindeutige digitale Kennung des Zertifikats. Eingriffe in ein Zertifikat verändern dessen Fingerprint und fallen beim Abgleich mit einer vertrauenswürdigen Stelle auf. Kommunikation findet erst nach erfolgreicher Prüfung der dafür benötigten Zertifikate statt, und zwar in verschlüsselter Form. SSL/TLS-Zertifikate zum Beispiel ermöglichen beim Internetprotokoll HTTPS eine sichere Kommunikation zwischen Webbrowser und Website und stellen sicher, dass Daten während der Übertragung weder mitgelesen noch manipuliert werden können.
Die in Checkmk vorinstallierten Zertifikate können Sie über die Seite Certificate overview einsehen.
2. Zertifikatsübersicht in Checkmk
Über Setup > Maintenance > Certificate overview öffnen Sie die Seite Certificate overview. Hier finden Sie auf einen Blick alle grundlegenden Zertifikate, die beim Einrichten Ihrer Instanz Checkmk-seitig erstellt und hinterlegt wurden. Die Seite hat reinen Informationscharakter und dient als interner Schnellzugriff – etwa, um die Gültigkeit und die Fingerprints der vorinstallierten Zertifikate zu überprüfen. Beim Verdacht auf Zertifikatsprobleme kann die Übersicht das Troubleshooting beschleunigen. Dafür ist die Seite Certificate overview die erste Anlaufstelle.

Die Certificate overview-Seite listet Ihnen die Zertifikate der Checkmk-Komponenten mit ihren Metadaten auf: in der Rubrik Common Name (Subject) die ausgegebenen Zertifikate und unter Common Name (Issuer) deren Herausgeber (Certificate Authority), jeweils mit dem dazugehörigen Erstellungs- und Ablaufdatum. Für jedes Zertifikat sind neben der Laufzeit der individuelle Fingerprint, der Schlüsseltyp (RSA), die Schlüssellänge in Bits, der Speicherort mit Dateipfad und ein knapper Verwendungszweck (Purpose) hinterlegt. Der vollständige Fingerprint wird beim jeweiligen Fingerprint-Eintrag als Hinweistext (Mouse-Over-Text) eingeblendet, wenn Sie die Maus auf den Eintrag bewegen. Werfen Sie zur Orientierung ruhig einen Blick in Ihre eigene Instanz, die Schlüssellänge und andere Elemente können vom Beispiel abweichen.
Drei Certificate Authorities (CA) werden beim Erzeugen einer Checkmk-Instanz als vertrauenswürdige Herausgeber von Zertifikaten stets individuell erzeugt, die Seite listet deren CA-Zertifikate auf: je ein CA-Zertifikat zum Signieren des Instanz-Zertifikats, ein CA-Zertifikat für die Agentenschlüssel bei der mTLS-Authentifizierung und ein CA-Zertifikat der Message-Broker-Zertifikate bei RabbitMQ.
Standardmäßig sind bei einer einzelnen Instanz fünf Zertifikate aufgelistet. Im verteilten Monitoring enthält die Zertifikatsübersicht Ihrer Zentralinstanz für jede angebundene Remote-Instanz einen weiteren Eintrag – denn jede Remote-Instanz erhält ein Remote-Instanz-Zertifikat zum Bestätigen der Echtheit des Schlüssels, der für die Kommunikation zwischen Zentral- und Remote-Site verwendet wird.
2.1. Zertifikate der Checkmk-Komponenten
Checkmk stattet alle Monitoring-Instanzen mit Certificate Authorities (CAs) und Zertifikaten aus, die für den Betrieb und für die Kommunikation zwischen den Komponenten eines Checkmk-Setups unerlässlich sind. Die folgende Tabelle schlüsselt auf, welche Funktion jedes dieser Zertifikate erfüllt, an welcher Stelle es in der Zertifikatskette steht und in welche Features und Prozesse der Software es jeweils eingebunden ist.
Weiterführende Informationen finden Sie in der letzten Spalte: "Checkmk-Komponenten" ist hier ein bewusst offen gehaltener Sammelbegriff für verschiedene Bestandteile und Funktionalitäten Ihrer Monitoring-Software.
Dateipfad im Ordner ~/etc
|
Position in Zertifikatskette | Funktionsbeschreibung | Checkmk-Komponenten |
|---|---|---|---|
|
CA-Zertifikat |
Root-Zertifikat zum Signieren des Instanz-Zertifikats. Sichert die Instanz ab. |
|
|
Server-Zertifikat |
Instanz-Zertifikat zur Absicherung der Kommunikation zwischen Instanz (Agent Receiver) und Host (Agent Controller). Es ist ein SSL-Zertifikat und bestätigt die Echtheit des Schlüssels für die Netzwerkkommunikation, wird an mehreren Stellen verwendet. |
|
|
CA-Zertifikat |
CA-Zertifikat zum Signieren der Zertifikate für den Agenten (Agent Controller). Sichert mTLS ab – zuständig für die beidseitige (mutual) sichere Authentifizierung von Client und Server, die das Standard-TLS-Protokoll erweitert. |
|
|
CA-Zertifikat |
CA-Zertifikat zum Signieren der individuellen Message-Broker-Zertifikate. Message Broker werden zur Weiterleitung von Piggyback-Daten im verteilten Monitoring benötigt. Als Message Broker verwendet Checkmk die quelloffene Broker-Software RabbitMQ. |
|
|
Server-Zertifikat |
Server-Zertifikat zur Absicherung der Netzwerkkommunikation des lokalen Message Brokers. Es ist ein SSL-Zertifikat. |
|
|
Server-Zertifikat |
Server-Zertifikat des Remote-Message-Brokers – zur Absicherung der Netzwerkkommunikation des Message Brokers der Remote-Instanz |
Die allgemeine Steuerung vertrauenswürdiger Zertifikate für die TLS-verschlüsselte Kommunikation zwischen dem Checkmk-Server und den Agenten auf Ihren überwachten Hosts ist in einem gesonderten Bereich der Benutzeroberfläche zu finden. Die Einstellungen dafür lassen sich unter Setup > General > Global settings > Edit global setting > Trusted certificate authorities for SSL einsehen und verwalten. Von der Seite Certificate overview aus können Sie diese Einstellung öffnen mit dem Menüeintrag Related > Trusted certificate authorities for SSL.
Schlüssel und zugehörige Zertifikate für den System-Apache müssen mit Root-Rechten durch den Serveradministrator hinterlegt werden! |
Die Zertifikate des System-Apache (also des Apache-HTTP-Webservers Ihres Systems) sind zwar wichtig, werden in der Seite Certificate overview aber nicht aufgelistet, weil sie nicht Bestandteil der Checkmk-Software sind. Für diese Zertifikate ist der Serveradministrator verantwortlich, Instanzbenutzer einer Checkmk-Instanz haben in der Regel keine Zugriffsrechte. Zertifikate des System-Apache sind relevant etwa für ein Agenten-Update, für die Weboberfläche und für die Nutzung der REST-API.
Beachten Sie: In einem verteilten Monitoring mit zentralem Setup läuft die Weitergabe von Einstellungen über die REST-API. Wenn Sie wissen wollen, wie Sie Ihre Weboberfläche mit HTTPS absichern, können Sie im gleichnamigen Artikel weiterlesen.
