Rapport d'Audit CIS - MongoDB 8

Date du rapport : 14/08/2026 12:17:08

Local Bare-Metal CIS Benchmark v1.0.0 v2.3.0
Score Global
9.1%
Succès
1

Vérifications conformes

Échecs
10

Non-conformités détectées

Erreurs Commande
0

Échecs d'exécution technique

Manuels
12

À vérifier manuellement

Métriques par Thématiques de Sécurité

Authentification & Accès 85%
Chiffrement & TLS/SSL 90%
Audits & Logs Système 75%

Répartition Automatisée

9.1% Score Global
Réussi (PASS) : 1
Échoué (FAIL) : 10
Erreur (Error) : 0
Non Applicable (N/A) : 0

Analyse par Catégorie

Répartition des contrôles automatisés par catégorie

Réussi
Échoué
Erreur
N/A
1 Installation et Patching 0.0% (0/0)
2 Authentification 0.0% (0/3)
3 Authorization 0.0% (0/0)
4 Data Encryption 0.0% (0/4)
5 Audit Logging 0.0% (0/3)
6 Operating System Hardening 100.0% (1/1)
7 File Permissions 0.0% (0/0)

1 Installation et Patching

0.00%

des contrôles automatisés réussis dans cette catégorie (0/0 vérifiés).

1 contrôles nécessitent une vérification manuelle.

0 controls encountered an execution error.

0 contrôles ne sont pas applicables.

Numéro Recommandation Type Test Exécuté Résultat Output / Error / Notes Procédure de Remediation
1.1 S'assurer que la version/les correctifs appropriés de MongoDB sont installés Manual mongosh --quiet --eval 'print(db.version())' || mongod --version || echo 'MONGODB_VERSION_CHECK' ⚠️ Manuel
This control requires manual verification.

Procédure suggérée:
mongosh --quiet --eval 'print(db.version())' || mongod --version || echo 'MONGODB_VERSION_CHECK'
Sauvegarder les données, télécharger les binaires de la dernière version de MongoDB, arrêter l'instance, remplacer les binaires, redémarrer l'instance.

2 Authentification

0.00%

des contrôles automatisés réussis dans cette catégorie (0/3 vérifiés).

0 contrôles nécessitent une vérification manuelle.

0 controls encountered an execution error.

0 contrôles ne sont pas applicables.

Numéro Recommandation Type Test Exécuté Résultat Output / Error / Notes Procédure de Remediation
2.1 S'assurer que l'authentification est configurée Automated cat /etc/mongod.conf | grep "authorization" ❌ Échoué
Stdout:

Stderr:
cat: /etc/mongod.conf: No such file or directory
Return Code: 1

Condition de succès non remplie.
Démarrer l'instance sans authentification, créer un utilisateur administrateur, configurer 'security.authorization: enabled' dans le fichier de configuration et redémarrer.
2.2 S'assurer que MongoDB ne contourne pas l'authentification via l'exception localhost Automated cat /etc/mongod.conf | grep "enableLocalhostAuthBypass" ❌ Échoué
Stdout:

Stderr:
cat: /etc/mongod.conf: No such file or directory
Return Code: 1

Condition de succès non remplie.
Définir 'setParameter.enableLocalhostAuthBypass: false' dans le fichier de configuration ou exécuter 'mongod --setParameter enableLocalhostAuthBypass=0'.
2.3 S'assurer que l'authentification est activée dans le cluster sharded Automated cat /etc/mongod.conf | grep "PEMKeyFile" && cat /etc/mongod.conf | grep "CAFile" && cat /etc/mongod.conf | grep "clusterFile" && cat /etc/mongod.conf | grep "clusterAuthMode" && cat /etc/mongod.conf | grep "authenticationMechanisms:" ❌ Échoué
Stdout:

Stderr:
cat: /etc/mongod.conf: No such file or directory
Return Code: 1

Condition de succès non remplie.
Configurer 'net.tls.mode: requireSSL', 'net.tls.PEMKeyFile', 'net.tls.CAFile', 'net.tls.clusterFile', 'security.authorization: enabled', et 'security.clusterAuthMode: x509' dans le fichier de configuration et redémarrer. Ou utiliser 'keyFile' pour le développement.

3 Authorization

0.00%

des contrôles automatisés réussis dans cette catégorie (0/0 vérifiés).

5 contrôles nécessitent une vérification manuelle.

0 controls encountered an execution error.

0 contrôles ne sont pas applicables.

Numéro Recommandation Type Test Exécuté Résultat Output / Error / Notes Procédure de Remediation
3.1 S'assurer du moindre privilège pour les comptes de base de données Manual Exécuter 'mongosh --quiet --eval "printjson(db.system.users.find({\"roles.role\": {\"$in\": [\"dbOwner\", \"userAdmin\", \"userAdminAnyDatabase\"]},\"roles.db\": \"admin\" }).toArray())"' et analyser manuellement la sortie. ⚠️ Manuel
This control requires manual verification.

Procédure suggérée:
Exécuter 'mongosh --quiet --eval "printjson(db.system.users.find({\"roles.role\": {\"$in\": [\"dbOwner\", \"userAdmin\", \"userAdminAnyDatabase\"]},\"roles.db\": \"admin\" }).toArray())"' et analyser manuellement la sortie.
Supprimer les comptes listés avec des rôles à privilèges élevés dans la base de données 'admin'.
3.2 S'assurer que le contrôle d'accès basé sur les rôles est activé et configuré correctement Manual mongosh --quiet --eval 'printjson(db.getUser())' || echo 'MONGODB_USER_ROLE_CHECK' ⚠️ Manuel
This control requires manual verification.

Procédure suggérée:
mongosh --quiet --eval 'printjson(db.getUser())' || echo 'MONGODB_USER_ROLE_CHECK'
Établir des rôles, assigner des privilèges appropriés aux rôles, assigner des utilisateurs aux rôles, supprimer les privilèges individuels superflus.
3.3 S'assurer que MongoDB est exécuté en utilisant un compte de service dédié et non privilégié Manual Exécuter 'ps -ef | grep -E "mongos | mongod"' et vérifier l'utilisateur sous lequel les processus s'exécutent (doit être un utilisateur non-root dédié comme 'mongodb'). ⚠️ Manuel
This control requires manual verification.

Procédure suggérée:
Exécuter 'ps -ef | grep -E "mongos | mongod"' et vérifier l'utilisateur sous lequel les processus s'exécutent (doit être un utilisateur non-root dédié comme 'mongodb').
Créer un utilisateur dédié (ex: 'mongodb'), définir les permissions des fichiers de données, des fichiers de clés et des fichiers de log pour n'être lisibles/écrivables que par cet utilisateur.
3.4 S'assurer que chaque rôle pour chaque base de données MongoDB est nécessaire et n'accorde que les privilèges nécessaires Manual mongosh --quiet --eval 'printjson(db.runCommand({rolesInfo: 1}))' || echo 'MONGODB_ROLES_CHECK' ⚠️ Manuel
This control requires manual verification.

Procédure suggérée:
mongosh --quiet --eval 'printjson(db.runCommand({rolesInfo: 1}))' || echo 'MONGODB_ROLES_CHECK'
Révoquer les privilèges spécifiés des rôles définis par l'utilisateur s'ils ne sont plus nécessaires.
3.5 Réviser les rôles de superutilisateur/administrateur Manual mongosh --quiet --eval 'printjson(db.runCommand({rolesInfo: "dbOwner"}))' || echo 'MONGODB_ADMIN_ROLES_CHECK' ⚠️ Manuel
This control requires manual verification.

Procédure suggérée:
mongosh --quiet --eval 'printjson(db.runCommand({rolesInfo: "dbOwner"}))' || echo 'MONGODB_ADMIN_ROLES_CHECK'
Retirer les utilisateurs des rôles de superutilisateur/administrateur s'ils n'en ont pas besoin.

4 Data Encryption

0.00%

des contrôles automatisés réussis dans cette catégorie (0/4 vérifiés).

1 contrôles nécessitent une vérification manuelle.

0 controls encountered an execution error.

0 contrôles ne sont pas applicables.

Numéro Recommandation Type Test Exécuté Résultat Output / Error / Notes Procédure de Remediation
4.1 S'assurer que les protocoles TLS hérités sont désactivés Automated cat /etc/mongod.conf | grep "disabledProtocols" ❌ Échoué
Stdout:

Stderr:
cat: /etc/mongod.conf: No such file or directory
Return Code: 1

Condition de succès non remplie.
Définir 'net.tls.disabledProtocols: [TLS1_0, TLS1_1]' (ou équivalent) dans le fichier de configuration et redémarrer.
4.2 S'assurer que les protocoles faibles sont désactivés Automated cat /etc/mongod.conf | grep "disabledProtocols" ❌ Échoué
Stdout:

Stderr:
cat: /etc/mongod.conf: No such file or directory
Return Code: 1

Condition de succès non remplie.
Définir 'net.ssl.disabledProtocols: TLS1_0, TLS1_1' dans le fichier de configuration et redémarrer.
4.3 S'assurer du chiffrement des données en transit TLS ou SSL (chiffrement de transport) Automated cat /etc/mongod.conf | grep -A20 'net' | grep -A10 'tls' | grep 'mode' ❌ Échoué
Stdout:

Stderr:
cat: /etc/mongod.conf: No such file or directory
Return Code: 1

Condition de succès non remplie.
Définir 'net.tls.mode: requireTLS', 'net.tls.certificateKeyFile', 'net.tls.CAFile' dans le fichier de configuration et redémarrer.
4.4 S'assurer que la norme FIPS (Federal Information Processing Standard) est activée Automated cat /etc/mongod.conf | grep "FIPSMode" ❌ Échoué
Stdout:

Stderr:
cat: /etc/mongod.conf: No such file or directory
Return Code: 1

Condition de succès non remplie.
Définir 'net.tls.FIPSMode: true' dans le fichier de configuration et redémarrer.
4.5 S'assurer du chiffrement des données au repos Manual cat /etc/mongod.conf | grep "enableEncryption" | grep "encryptionKeyFile". (Fonctionnalité MongoDB Enterprise uniquement) ⚠️ Manuel
This control requires manual verification.

Procédure suggérée:
cat /etc/mongod.conf | grep "enableEncryption" | grep "encryptionKeyFile". (Fonctionnalité MongoDB Enterprise uniquement)
Activer le chiffrement des données au repos (MongoDB Enterprise uniquement) en configurant 'storage.engine: wiredTiger' et les options 'encryption'.

5 Audit Logging

0.00%

des contrôles automatisés réussis dans cette catégorie (0/3 vérifiés).

1 contrôles nécessitent une vérification manuelle.

0 controls encountered an execution error.

0 contrôles ne sont pas applicables.

Numéro Recommandation Type Test Exécuté Résultat Output / Error / Notes Procédure de Remediation
5.1 S'assurer que l'activité du système est auditée Automated cat /etc/mongod.conf | grep -A4 "auditLog" | grep "destination" ❌ Échoué
Stdout:

Stderr:
cat: /etc/mongod.conf: No such file or directory
Return Code: 1

Condition de succès non remplie.
Définir 'auditLog.destination' sur 'syslog', 'console' ou 'file' dans le fichier de configuration.
5.2 S'assurer que les filtres d'audit sont configurés correctement Manual cat /etc/mongod.conf | grep -A10 "auditLog" | grep "filter". (Fonctionnalité MongoDB Enterprise uniquement) ⚠️ Manuel
This control requires manual verification.

Procédure suggérée:
cat /etc/mongod.conf | grep -A10 "auditLog" | grep "filter". (Fonctionnalité MongoDB Enterprise uniquement)
Définir les filtres d'audit en fonction des exigences de l'organisation (MongoDB Enterprise uniquement).
5.3 S'assurer que la journalisation capture autant d'informations que possible Automated cat /etc/mongod.conf | grep "quiet" ❌ Échoué
Stdout:

Stderr:
cat: /etc/mongod.conf: No such file or directory
Return Code: 1

Condition de succès non remplie.
Définir 'systemLog.quiet: false' dans le fichier de configuration.
5.4 S'assurer que les nouvelles entrées sont ajoutées à la fin du fichier journal Automated cat /etc/mongod.conf | grep "logAppend" ❌ Échoué
Stdout:

Stderr:
cat: /etc/mongod.conf: No such file or directory
Return Code: 1

Condition de succès non remplie.
Définir 'systemLog.logAppend: true' dans le fichier de configuration.

6 Operating System Hardening

100.00%

des contrôles automatisés réussis dans cette catégorie (1/1 vérifiés).

2 contrôles nécessitent une vérification manuelle.

0 controls encountered an execution error.

0 contrôles ne sont pas applicables.

Numéro Recommandation Type Test Exécuté Résultat Output / Error / Notes Procédure de Remediation
6.1 S'assurer que MongoDB utilise un port non-standard Automated cat /etc/mongod.conf | grep "port" ✅ Réussi
Stdout:

Stderr:
cat: /etc/mongod.conf: No such file or directory
Return Code: 1
Changer le port 'net.port' dans le fichier de configuration pour un numéro autre que 27017.
6.2 S'assurer que les limites de ressources du système d'exploitation sont définies pour MongoDB Manual Exécuter 'ps -ef | grep mongod' pour obtenir le PID, puis 'cat /proc/<PID>/limits' (remplacer <PID> par le PID réel). Vérifier les limites 'f' (file size), 't' (cpu time), 'v' (virtual memory), 'n' (open files), 'm' (memory size), 'u' (processes/threads). ⚠️ Manuel
This control requires manual verification.

Procédure suggérée:
Exécuter 'ps -ef | grep mongod' pour obtenir le PID, puis 'cat /proc/<PID>/limits' (remplacer <PID> par le PID réel). Vérifier les limites 'f' (file size), 't' (cpu time), 'v' (virtual memory), 'n' (open files), 'm' (memory size), 'u' (processes/threads).
Ajuster les ulimits du système d'exploitation (f, t, v, n, m, u) et redémarrer les instances mongod/mongos.
6.3 S'assurer que le script côté serveur est désactivé si non nécessaire Manual cat /etc/mongod.conf | grep -A10 "security" | grep "javascriptEnabled" ⚠️ Manuel
This control requires manual verification.

Procédure suggérée:
cat /etc/mongod.conf | grep -A10 "security" | grep "javascriptEnabled"
Définir 'security.javascriptEnabled: false' dans le fichier de configuration si le script côté serveur n'est pas nécessaire.

7 File Permissions

0.00%

des contrôles automatisés réussis dans cette catégorie (0/0 vérifiés).

2 contrôles nécessitent une vérification manuelle.

0 controls encountered an execution error.

0 contrôles ne sont pas applicables.

Numéro Recommandation Type Test Exécuté Résultat Output / Error / Notes Procédure de Remediation
7.1 S'assurer que les permissions appropriées du fichier de clés sont définies Manual Exécuter 'cat /etc/mongod.conf | grep "keyFile:" || cat /etc/mongod.conf | grep "PEMKeyFile:" || cat /etc/mongod.conf | grep "CAFile:"' pour trouver les chemins. Puis 'ls -l <chemin_fichier_clé/certificat>' et vérifier les permissions (doit être 600 et propriétaire 'mongodb:mongodb'). ⚠️ Manuel
This control requires manual verification.

Procédure suggérée:
Exécuter 'cat /etc/mongod.conf | grep "keyFile:" || cat /etc/mongod.conf | grep "PEMKeyFile:" || cat /etc/mongod.conf | grep "CAFile:"' pour trouver les chemins. Puis 'ls -l <chemin_fichier_clé/certificat>' et vérifier les permissions (doit être 600 et propriétaire 'mongodb:mongodb').
Définir les permissions du fichier de clés/certificats à 600 et le propriétaire à 'mongodb:mongodb'.
7.2 S'assurer que les permissions appropriées du fichier de base de données sont définies Manual Exécuter 'cat /etc/mongod.conf | grep "dbpath" || cat /etc/mongod.conf | grep "dbPath"' pour trouver le chemin. Puis 'stat -c '%a' <chemin_base_de_données>' et vérifier les permissions (doit être 770 ou plus restrictif pour 'mongodb:mongodb'). ⚠️ Manuel
This control requires manual verification.

Procédure suggérée:
Exécuter 'cat /etc/mongod.conf | grep "dbpath" || cat /etc/mongod.conf | grep "dbPath"' pour trouver le chemin. Puis 'stat -c '%a' <chemin_base_de_données>' et vérifier les permissions (doit être 770 ou plus restrictif pour 'mongodb:mongodb').
Définir les permissions du répertoire de base de données à 770 et le propriétaire à 'mongodb:mongodb'.