Table des matières

Architecture de sécurité

Introduction

Les éléments de sécurité de chaque composant de Pandora FMS sont décrits, conformément aux réglementations telles que PCI/DSS, ISO 27001, ENS, LOPD et autres.

En outre, une description spécifique des mécanismes de sécurité de chaque élément de Pandora FMS est incluse, ainsi que les risques possibles et la manière de les atténuer, en utilisant les outils disponibles dans Pandora FMS ou d'autres mécanismes possibles.

Mise en œuvre de la sécurité générale

Sécurité des composants de l'architecture

Server

Vulnérabilités et garanties potentielles

Solution : Implémenter un conteneur externe sécurisé pour les fichiers de configuration externes, via NFS.

Solution : Désactiver la configuration à distance sur les EndPoints particulièrement sensibles après la configuration et les laisser fonctionner sans pouvoir modifier quoi que ce soit à distance, pour une sécurité absolue. Supervision à distance - sans EndPoints - des appareils les plus sensibles.

  1. Mécanisme de protection par mot de passe (qui fonctionne par groupe).
  2. Limiter l’auto création des agents avec les données fournies par les EndPoints, et les créer manuellement.
  3. Limiter la capacité d'auto-détection des changements dans l'agent et ne pas intégrer les nouvelles informations du XML (EndPoints) dans l'existant.

Solution : Activez la communication TLS entre le serveur et la base de données MySQL. Configurer la méthode d'authentification caching_sha2_password.

Tentacle

Vulnérabilités et garanties potentielles

Solution: Il est protégé de la même manière que le serveur, par un système NFS externe sécurisé.

Solutions: Monter une solution HA sur le service TCP qu'il offre pour l'équilibrage, ou un cluster actif/actif. Toute solution matérielle ou logicielle disponible est acceptable puisqu'il s'agit d'un service TCP standard.

Web console

Vulnérabilités et garanties potentielles

Solution: Il est protégé de la même manière que le serveur, par un système NFS externe sécurisé.

Solutions:

  1. Mettre en œuvre une politique de mots de passe complexes.
  2. Mettre en œuvre un mécanisme de double authentification.

Solution: Implémentez SSL/TLS.

Solution: Implémentez SSL/TLS.

Solution: Mettre en place un stockage crypté des données.

Solutions:

  1. Activer l'audit log et montrer aux utilisateurs qu'il existe et qu'il est exact.
  2. Activez le système ACL étendu pour restreindre autant que possible les rôles de chaque utilisateur.
  3. Exporter régulièrement l'audit log vers un système externe.

Solution : Renforcement (hardening) du serveur contenant l'application.

Agents (EndPoints)

Vulnérabilités et garanties potentielles

Solutions:

  1. Limiter les utilisateurs qui peuvent effectuer ces modifications de politique ou de configuration (via l'ACL ordinaire de la console ou l'ACL étendue).
  2. Activer le mode lecture seule (readonly) pour les agents (ne pas autoriser les modifications de configuration à distance), pour les systèmes particulièrement sensibles.

Solution: Corriger les paramètres de permission.

Solutions:

  1. Limiter les utilisateurs qui peuvent télécharger des exécutables (via l'ACL ordinaire de la console ou l'ACL étendue).
  2. Effectuer un audit de nouveaux plugins.

Base de données

Vulnérabilités et garanties potentielles

Solution : Implémentation d'une connexion TLS sécurisée. MySQL le supporte.

Solution: Configuration correcte des autorisations d'accès.

Sécurisation du système de base

Le hardening des systèmes est un point clé de la stratégie de sécurité globale d'une entreprise.

En tant que fabricants, une série de recommandations sont émises pour effectuer une installation sécurisée de tous les composants Pandora FMS, sur la base d'une plateforme de serveur standard RHEL 8 ou Ubuntu.

Les mêmes recommandations sont valables pour tout autre système de supervision basé sur Linux.

Références d'accès

Pour accéder au système, des utilisateurs à accès nominatif seront créés, sans privilèges et avec un accès limité aux besoins qu'ils ont.

Idéalement, l'authentification de chaque utilisateur devrait être intégrée à un système d'authentification à deux facteurs basé sur un jeton. Il existe des alternatives gratuites et sécurisées telles que Google Authenticator® qui peuvent être intégrées dans Linux et qui sortent du cadre de ce guide. Pensez sérieusement à les utiliser.

S'il est nécessaire de créer d'autres utilisateurs pour les applications, il doit s'agir d'utilisateurs sans accès à distance (pour ce faire, désactivez leur Shell ou une méthode équivalente).

Accès au super-utilisateur

Si certains utilisateurs doivent avoir des droits d'administrateur, la commande sudo sera utilisée.

Système d'exploitation mis à jour

Il suffit d'être connecté à l'internet ou de configurer dnf ou apt pour utiliser un serveur proxy.

Cette commande peut entraîner des problèmes potentiels liés à la modification des bibliothèques, des configurations, etc. Il est important de mettre à jour le système d'exploitation avant de mettre le système en production. Si vous révisez un système de production déjà en service, il se peut que vous ne deviez mettre à jour que les composants critiques, par exemple ceux qui présentent une vulnérabilité.

Par exemple, pour mettre à jour uniquement MySQL sur un système RHEL dnf update mysql-server.

La mise à jour du système d'exploitation est un processus qui doit être régulier. L'inventaire des paquets du système permet d'interroger les versions vulnérables et d'exécuter les mises à jour d'urgence.

Audit d'accès

Vous devez avoir le journal de sécurité /var/log/secure actif et superviser ces logs avec la supervision.

Par défaut, cette fonction est activée. Si ce n'est pas le cas, vérifiez le fichier /etc/rsyslog.conf ou /etc/syslog.conf.

Il est recommandé que les logs du système d'audit soient portés et collectés par un système externe de gestion des logs. Pandora FMS peut le faire et il sera utile d'établir des alertes ou de les examiner de manière centralisée si nécessaire.

Serveur SSH

Le serveur SSH permet de se connecter à distance aux systèmes Linux pour l'exécution de commandes, il s'agit donc d'un point critique et il faut s'en assurer en faisant attention aux points suivants (pour cela, il faut éditer le fichier /etc/ssh/sshd_config et ensuite redémarrer le service).

#Port 22     ->     Port 31122
#PermitRootLogin yes        ->    PermitRootLogin no
#AllowTcpForwarding yes        ->    AllowTcpForwarding no
#PermitTunnel no        ->    PermitTunnel no
Banner /etc/issue.net

Serveur MySQL

Si MySQL ne gère qu'un élément interne, vérifiez avec netstat qu'il n'écoute que sur localhost:

netstat -an | grep 3306 | grep LIST
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN

Dans l'exemple ci-dessus vous écoutez sans restrictions, vous devez éditer le fichier /etc/my.cnf, section [mysqld], en ajoutant la ligne suivante:

bind-address = 127.0.0.1

Après avoir redémarré le service, vérifiez à nouveau le port d'écoute.

Mot de passe MySQL

Connectez-vous à la console MySQL avec un utilisateur privilégié:

mysql -h host -u root -p

Vérifiez que le mot de passe est complexe et que vous avez demandé un mot de passe. Si ce n'est pas le cas, il est défini à l'aide de la commande:

mysqladmin password

Cette mesure de sécurité est essentielle pour protéger les bases de données non seulement contre les attaques externes, mais aussi contre les abus des utilisateurs internes.

Serveur web Apache

ServerTokens Prod

Ajoutez la ligne ci-dessus pour cacher la version du serveur web (Apache, Nginx) dans les en-têtes d'information du serveur:

Moteur d'application PHP

Afin de sécuriser le moteur d'application sur lequel fonctionne Pandora FMS, il peut être nécessaire, dans certains environnements particulièrement sensibles sur le plan de la sécurité, de sécuriser l'accès à l'application de sorte que les cookies de session ne soient transmis qu'avec SSL.

L'application ne fonctionnera pas si elle est utilisée sur HTTP (sans cryptage).

Pour ce faire, la configuration suivante tokens doit être incluse dans le fichier php.ini :

session.cookie_httponly = 1
session.cookie_secure = 1

Minimiser les services dans le système

Cette technique, qui peut être très complète, consiste à supprimer tout ce qui est inutile sur le système. Cela permet d'éviter d'éventuels problèmes à l'avenir avec des applications mal configurées et dont on n'a pas vraiment besoin. Pour simplifier l'approche de cette pratique, ne considérez que les applications qui ont un port ouvert sur la machine: netstat -tulpn.

Chaque port doit être examiné et l'application qui se cache derrière doit être connue. Cela peut être fait en utilisant la commande lsof, qui doit être installée avec dnf ou apt.

Les services qui écoutent localhost (127.0.0.1) sont plus sûrs que ceux qui écoutent toutes les adresses IP (0.0.0.0) et certains d'entre eux, s'ils écoutent sur un port ouvert, devraient être corrigés pour n'écouter que localhost.

En utilisant le système d'inventaire des processus de Pandora FMS, il est nécessaire de vérifier qu'aucun nouveau processus n'est lancé au fil du temps.

Configuration supplémentaire

Synchronisation du temps NTP

Il est recommandé de configurer la synchronisation de l'heure du système sur un système RHEL:

dnf install ntpdate
echo "ntpdate 0.us.pool.ntp.org"> /etc/cron.daily/ntp
chmod 755 /etc/cron.daily/ntp

Suivi local

Le système doit avoir un Pandora FMS EndPoint installé et fonctionnant sur le serveur PFMS. Pour le système d'exploitation MS Windows®, à partir de la version 761, les exécutables d'installation sont signés numériquement.

Les contrôles actifs suivants sont recommandés en plus des contrôles standard:

module_plugin grep_log_module /var/log/messages Syslog \.\*
module_plugin grep_log_module /var/log/secure Secure \.\*

Une fois l'EndPoint installé, les informations suivantes doivent au moins être définies manuellement dans l'onglet de l'agent:

Supervision de la sécurité sous Linux

Le plugin officiel official plugin permet de superviser de manière proactive la sécurité de l'agent, à chaque exécution, presque en temps réel, en proposant des vérifications qui peuvent alerter de certains événements pertinents.

Ce plugin est destiné à fonctionner uniquement sur des machines Linux modernes. Il contient une version personnalisée de John the ripper 1.8 + des correctifs Contrib avec des binaires statiques 32-bit et 64-bit. Le concept principal de plugin est d'être monolithique, de détecter ce qui peut être renforcé et d'essayer de résoudre les différences entre les distributions sans rien demander à l'administrateur, de sorte que le déploiement puisse être le même pour n'importe quel système, en ignorant les versions, distro ou l'architecture.

Ce plugin vérifiera:

Retour à l'index de la documentation de Pandora FMS