Rapport d'Audit CIS - Cassandra 5.0
Date du rapport : 14/08/2026 12:16:49
Vérifications conformes
Non-conformités détectées
Échecs d'exécution technique
À vérifier manuellement
Métriques par Thématiques de Sécurité
Répartition Automatisée
Analyse par Catégorie
Répartition des contrôles automatisés par catégorie
1 Installation et Mises à jour
100.00%
des contrôles automatisés réussis dans cette catégorie (3/3 vérifiés).
2 contrôles nécessitent une vérification manuelle.
1 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 qu'un utilisateur et un groupe dédiés existent pour Cassandra | Manual | getent group cassandra && getent passwd cassandra |
⚠️ Manuel | This control requires manual verification. Procédure suggérée: getent group cassandra && getent passwd cassandra |
Créer un groupe et un utilisateur dédiés : groupadd cassandra && useradd -g cassandra -s /sbin/nologin cassandra. |
| 1.2 | S'assurer que la dernière version de Java est installée | Automated | java -version 2>&1 | head -1 |
✅ Réussi | Stdout: openjdk version "21.0.11" 2026-04-21 Stderr: Return Code: 0 |
Mettre à jour Java vers la dernière version LTS supportée (Java 11, 17 ou 21). |
| 1.3 | S'assurer que la dernière version de Python est installée | Automated | python3 --version 2>&1 |
✅ Réussi | Stdout: Python 3.12.3 Stderr: Return Code: 0 |
Mettre à jour Python vers la dernière version 3.x. |
| 1.4 | S'assurer que la dernière version de Cassandra est installée | Automated | cassandra -v || nodetool version |
❓ Error | Error: Command not found. Stdout: Stderr: /bin/bash: line 1: cassandra: command not found /bin/bash: line 1: nodetool: command not found Return Code: 127 |
Mettre à jour Cassandra vers la dernière version 5.0.x. |
| 1.5 | S'assurer que le service Cassandra est exécuté en tant qu'utilisateur non-root | Automated | ps -ef | grep -E '[c]assandra' | awk '{print $1}' | head -n 1 |
✅ Réussi | Stdout: jmren Stderr: Return Code: 0 |
Configurer le service Cassandra pour qu'il s'exécute sous un utilisateur dédié (ex: 'cassandra'). |
| 1.6 | S'assurer que les horloges sont synchronisées sur tous les nœuds | Manual | timedatectl status | grep 'synchronized' || ntpstat || chronyc tracking |
⚠️ Manuel | This control requires manual verification. Procédure suggérée: timedatectl status | grep 'synchronized' || ntpstat || chronyc tracking |
Configurer NTP ou chronyd pour synchroniser les horloges sur tous les nœuds du cluster. |
2 Authentification et Autorisation
0.00%
des contrôles automatisés réussis dans cette catégorie (0/2 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 activée pour les bases de données Cassandra | Automated | grep -E '^authenticator:' /etc/cassandra/cassandra.yaml |
❌ Échoué | Stdout: Stderr: grep: /etc/cassandra/cassandra.yaml: No such file or directory Return Code: 2 Condition de succès non remplie. |
Modifier cassandra.yaml pour définir 'authenticator: PasswordAuthenticator' et redémarrer Cassandra. |
| 2.2 | S'assurer que l'autorisation est activée pour les bases de données Cassandra | Automated | grep -E '^authorizer:' /etc/cassandra/cassandra.yaml |
❌ Échoué | Stdout: Stderr: grep: /etc/cassandra/cassandra.yaml: No such file or directory Return Code: 2 Condition de succès non remplie. |
Modifier cassandra.yaml pour définir 'authorizer: CassandraAuthorizer' et redémarrer Cassandra. |
3 Contrôle d'accès
0.00%
des contrôles automatisés réussis dans cette catégorie (0/2 vérifiés).
5 contrôles nécessitent une vérification manuelle.
1 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 que les rôles cassandra et superuser sont séparés | Automated | cqlsh -e "LIST ROLES;" | grep -v 'cassandra' | grep -c 'True' |
❓ Error | Error: Command not found (détecté dans stderr). Stdout: 0 Stderr: /bin/bash: line 1: cqlsh: command not found Return Code: 1 |
Créer un nouveau rôle superuser, se connecter avec ce rôle, puis exécuter ALTER ROLE cassandra WITH SUPERUSER = false; |
| 3.2 | S'assurer que le mot de passe par défaut du rôle cassandra est changé | Automated | cqlsh -e "SELECT * FROM system_auth.roles WHERE role='cassandra';" -u cassandra -p cassandra 2>&1 | grep -c 'AuthenticationFailed\|Unauthorized\|Bad credentials' |
❌ Échoué | Stdout: 0 Stderr: Return Code: 1 Condition de succès non remplie. |
Se connecter et exécuter ALTER ROLE cassandra WITH PASSWORD = '<nouveau_mot_de_passe>'; |
| 3.3 | S'assurer qu'il n'y a pas de rôles ou privilèges excessifs | Manual | cqlsh -e "LIST ROLES;" |
⚠️ Manuel | This control requires manual verification. Procédure suggérée: cqlsh -e "LIST ROLES;" |
Révoquer les rôles et privilèges inutiles. Utiliser REVOKE et DROP ROLE. |
| 3.4 | S'assurer que Cassandra est exécuté sous un compte de service dédié | Automated | ps -ef | grep -E '[c]assandra' | awk '{print $1}' | head -n 1 |
❌ Échoué | Stdout: jmren Stderr: Return Code: 0 Condition de succès non remplie. |
Configurer le service Cassandra pour qu'il s'exécute sous l'utilisateur 'cassandra'. |
| 3.5 | S'assurer que Cassandra n'écoute que sur les interfaces autorisées | Manual | grep -E '^listen_address:|^rpc_address:' /etc/cassandra/cassandra.yaml |
⚠️ Manuel | This control requires manual verification. Procédure suggérée: grep -E '^listen_address:|^rpc_address:' /etc/cassandra/cassandra.yaml |
Modifier cassandra.yaml pour définir 'listen_address' et 'rpc_address' sur des interfaces spécifiques. |
| 3.6 | S'assurer que les autorisations Data Center sont activées | Manual | grep -E '^authorizer:' /etc/cassandra/cassandra.yaml |
⚠️ Manuel | This control requires manual verification. Procédure suggérée: grep -E '^authorizer:' /etc/cassandra/cassandra.yaml |
Configurer l'autorisation par Data Center si nécessaire. |
| 3.7 | Réviser les rôles définis par l'utilisateur | Manual | cqlsh -e "LIST ROLES;" |
⚠️ Manuel | This control requires manual verification. Procédure suggérée: cqlsh -e "LIST ROLES;" |
Supprimer les rôles inutiles et révoquer les privilèges excessifs. |
| 3.8 | Réviser les rôles superuser/administrateur | Manual | cqlsh -e "LIST ROLES;" | grep 'True' |
⚠️ Manuel | This control requires manual verification. Procédure suggérée: cqlsh -e "LIST ROLES;" | grep 'True' |
Limiter le nombre de rôles superuser au strict nécessaire. |
4 Audit et Journalisation
0.00%
des contrôles automatisés réussis dans cette catégorie (0/1 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 la journalisation est activée | Automated | ls -la /var/log/cassandra/system.log || ls -la /opt/cassandra/logs/system.log |
❌ Échoué | Stdout: Stderr: ls: cannot access '/var/log/cassandra/system.log': No such file or directory ls: cannot access '/opt/cassandra/logs/system.log': No such file or directory Return Code: 2 Condition de succès non remplie. |
Vérifier que la journalisation est configurée dans logback.xml et que les fichiers de log existent. |
| 4.2 | S'assurer que l'audit est activé | Manual | grep -E '^audit_logging_options:' /etc/cassandra/cassandra.yaml || grep -A5 'audit_logging_options' /etc/cassandra/cassandra.yaml |
⚠️ Manuel | This control requires manual verification. Procédure suggérée: grep -E '^audit_logging_options:' /etc/cassandra/cassandra.yaml || grep -A5 'audit_logging_options' /etc/cassandra/cassandra.yaml |
Activer l'audit en configurant 'audit_logging_options' dans cassandra.yaml (Cassandra 5.0+). |
5 Chiffrement
0.00%
des contrôles automatisés réussis dans cette catégorie (0/2 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 |
|---|---|---|---|---|---|---|
| 5.1 | Chiffrement inter-nœuds | Automated | grep -A20 'server_encryption_options:' /etc/cassandra/cassandra.yaml | grep 'internode_encryption' |
❌ Échoué | Stdout: Stderr: grep: /etc/cassandra/cassandra.yaml: No such file or directory Return Code: 1 Condition de succès non remplie. |
Configurer server_encryption_options dans cassandra.yaml : internode_encryption: all, et fournir les certificats SSL/TLS. |
| 5.2 | Chiffrement client | Automated | grep -A20 'client_encryption_options:' /etc/cassandra/cassandra.yaml | grep 'enabled' |
❌ Échoué | Stdout: Stderr: grep: /etc/cassandra/cassandra.yaml: No such file or directory Return Code: 1 Condition de succès non remplie. |
Configurer client_encryption_options dans cassandra.yaml : enabled: true, et fournir les certificats SSL/TLS. |