This article will be completed in the near future to provide a central overview on all aspects of security measures implemented in Checkmk and aids on further improving security.
First the Good News: Since its beginning Checkmk has used an architecture that considers security needs and — wherever possible — applies these to its standard settings. There are however aspects where user intervention is required, for example when keys or certificates have to be generated or imported. You can view the certificates that are pre-installed in Checkmk on the Certificate overview page in the software. Further information about this topic is provided in the article Certificate overview in Checkmk.
This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved. |
Cet article sera complété prochainement afin d'offrir une vue d'ensemble centralisée de tous les aspects des mesures de sécurité mises en œuvre dans Checkmk et de fournir des conseils pour améliorer encore la sécurité.
Commençons par la bonne nouvelle : depuis ses débuts, Checkmk utilise une architecture qui tient compte des besoins en matière de sécurité et qui, dans la mesure du possible, les intègre à ses paramètres par défaut. Il existe toutefois des aspects qui nécessitent une intervention de l'utilisateur, par exemple lorsque des clés ou des certificats doivent être générés ou importés. Vous pouvez consulter les certificats préinstallés dans Checkmk sur la page « Certificate overview » du logiciel. Vous trouverez de plus amples informations à ce sujet dans l'article « Aperçu des certificats dans Checkmk ».
1. Sortie de l'agent
Checkmk propose un chiffrement TLS pour la communication entre le serveur et les agents sur les hôtes Linux et Windows. Vous trouverez des informations détaillées sur cette communication dans les articles suivants :
Cependant, il existe certains environnements dans lesquels le chiffrement TLS pour les clients Linux ou Unix ne peut pas être configuré. Dans de tels cas, vous pouvez utiliser des tunnels chiffrés, par exemple avec SSH :
2. Communication HTTP(S)
À de nombreux endroits dans Checkmk, la communication s'effectue via HTTP. Cela s'applique à la communication interne et aux configurations telles que la surveillance distribuée. Passez à HTTPS lorsque cela est possible :
3. Contrôle d'accès
Checkmk prend en charge les connexions à divers protocoles d'authentification et est également capable d'imposer l'authentification à deux facteurs pour une sécurité encore plus élevée :
4. Journalisation
Le fichier de journal security.log facilite la détection des événements liés à la sécurité.
Les événements relevant des catégories suivantes y sont consignés : authentification, administration des utilisateurs, services (par exemple, le démarrage et l'arrêt des sites) et erreurs d'application.
Vous trouverez ce fichier de journal dans le répertoire du site. Vous trouverez ci-dessous quelques exemples d'entrées de journal typiques :
2024-04-02 19:12:33,891 [cmk_security.service 269382] {"summary": "site stopped", "details": {}}
2024-04-03 08:55:46,480 [cmk_security.service 5652] {"summary": "site started", "details": {}}
2024-04-03 09:21:18,830 [cmk_security.auth 8798] {"summary": "authentication succeeded", "details": {"method": "login_form", "user": "cmkadmin", "remote_ip": "127.0.0.1"}}
2024-04-03 15:41:20,499 [cmk_security.user_management 8798] {"summary": "user created", "details": {"affected_user": "myuser", "acting_user": "cmkadmin"}}
2024-04-03 16:36:04,099 [cmk_security.auth 1882076] {"summary": "authentication failed", "details": {"user_error": "Incorrect username or password. Please try again.", "method": "login_form", "user": "myuser", "remote_ip": "127.0.0.1"}}
2024-04-03 18:19:05,640 [cmk_security.application_errors 1882076] {"summary": "CSRF token validation failed", "details": {"user": "cmkadmin", "remote_ip": "127.0.0.1"}}Chaque ligne est structurée comme suit :
Date et heure (heure locale) de création de l'entrée de journal.
Domaine de sécurité (par exemple
cmk_security.auth) et ID du processus.Le message lui-même sous forme de résumé (
summary) et en détail (details), chacun au format JSON. Le contenu des détails varie en fonction du domaine de sécurité.
Veuillez noter que le contenu du fichier journal est susceptible d'évoluer à l'avenir, par exemple en raison de l'ajout de nouveaux domaines de sécurité, d'événements enregistrés ou d'informations fournies dans les détails.
5. Livestatus
L'accès à l'interface Livestatus est possible sans authentification explicite. Vous pouvez toutefois restreindre l'accès à des adresses IP spécifiques, que vous pouvez répertorier sous Setup > General > Global Settings > Access to Livestatus via TCP.

