
Traçabilité d’Audit de ScyllaDB : Mise en Œuvre d’un Audit de Base de Données Sécurisé et Conforme

Dans le paysage numérique actuel, garantir l’intégrité, la sécurité et la conformité des données est plus crucial que jamais. Pour les bases de données, mettre en place une traçabilité d’audit est une mesure clé pour surveiller et protéger les données sensibles. ScyllaDB, une base de données NoSQL à haute performance, offre des fonctionnalités intégrées pour auditer les données, fournissant ainsi une couche essentielle de surveillance pour les administrateurs.
Dans cet article, nous explorerons les fonctionnalités d’audit de données natives de ScyllaDB en utilisant les capacités du langage SQL telles que les vues et les procédures stockées. Nous examinerons également comment configurer la traçabilité d’audit de ScyllaDB, consulter les résultats d’audit et aborderons brièvement le rôle de DataSunrise pour un audit avancé des données dans ScyllaDB.
Qu’est-ce que la traçabilité d’audit de ScyllaDB ?
La traçabilité d’audit fait référence aux journaux détaillés de toutes les opérations de la base de données, telles que la manipulation des données et l’accès. La fonctionnalité d’audit native de ScyllaDB permet aux administrateurs de surveiller et d’enregistrer les interactions des utilisateurs avec la base de données, leur permettant ainsi de suivre les modifications, les requêtes et d’autres activités critiques. Ces journaux peuvent être essentiels pour garantir la responsabilité et répondre aux exigences réglementaires.
Fonctionnalités Clés de l’Audit de Données Natif de ScyllaDB
- Audit Granulaire : Permet aux administrateurs de spécifier précisément quels événements doivent être enregistrés, de la manipulation des données (insertion, mise à jour, suppression) aux événements de connexion.
- Stockage Personnalisable : Les données d’audit peuvent être stockées soit dans un journal système (Syslog), soit directement dans une table Scylla, selon la configuration.
- Couverture Complète : ScyllaDB peut auditer plusieurs types d’événements, tels que le DML (Data Manipulation Language), le DDL (Data Definition Language) et le DCL (Data Control Language).
Audit Avancé avec ScyllaDB
ScyllaDB fournit des fonctionnalités d’audit pour surveiller les activités de la base de données, enregistrer les requêtes et garantir la sécurité des données. Cette fonctionnalité est uniquement disponible dans Scylla Enterprise, permettant aux administrateurs de stocker les journaux d’audit dans Syslog ou dans des tables Scylla.
Activation de l’Audit
L’audit est configuré dans le fichier scylla.yaml à l’aide du paramètre audit. Les options incluent :
- none – L’audit est désactivé (par défaut).
- table – Les journaux sont stockés dans une table Scylla.
- syslog – Les journaux sont envoyés à Syslog.
Exemple :
# Activer les journaux d'audit vers syslog audit: "syslog" # Catégories d'audit : AUTH, DML, DDL, DCL, QUERY, ADMIN audit_categories: "DCL,DDL,AUTH" # Keyspaces et tables à auditer audit_keyspaces: "mykeyspace" audit_tables: "mykeyspace.mytable"
Redémarrez Scylla pour appliquer les modifications :
sudo systemctl restart scylla-server
Catégories d’Audit
- AUTH : Enregistre les événements de connexion.
- DML : Suit les opérations INSERT, UPDATE et DELETE.
- DDL : Capture les modifications de schéma telles que CREATE, ALTER et DROP.
- DCL : Enregistre les activités de gestion des permissions et des rôles.
- QUERY : Enregistre toutes les requêtes exécutées.
- ADMIN : Audite les opérations au niveau du service.
Stockage des Journaux d’Audit dans Syslog
Par défaut, les journaux d’audit sont dirigés vers Syslog : Exemple de sortie Syslog pour une opération DROP TABLE :
Mar 18 09:53:52 ip-10-143-2-108 scylla-audit[28387]: "10.143.2.108", "DDL", "ONE", "team_roster", "nba", "DROP TABLE nba.team_roster ;", "127.0.0.1", "anonymous", "false"
Pour stocker les journaux d’audit Syslog dans un fichier (exemple pour CentOS) :
- Installer rsyslog :
- Mettre à jour /etc/rsyslog.conf :
- Redémarrer rsyslog :
sudo dnf install rsyslog
if $programname contains 'scylla-audit' then /var/log/scylla-audit.log
systemctl start rsyslog systemctl enable rsyslog
Stockage des Journaux d’Audit dans une Table
Les messages d’audit peuvent également être enregistrés dans une table Scylla nommée audit.audit_log :
CREATE TABLE IF NOT EXISTS audit.audit_log ( date timestamp, node inet, event_time timeuuid, category text, consistency text, table_name text, keyspace_name text, operation text, source inet, username text, error boolean, PRIMARY KEY ((date, node), event_time));
Activez l’audit basé sur table dans scylla.yaml :
audit: "table" audit_categories: "DCL,DDL,AUTH" audit_keyspaces: "mykeyspace"
Redémarrez Scylla :
sudo systemctl restart scylla-server
Exemple de requête pour récupérer les journaux d’audit :
SELECT * FROM audit.audit_log;
Résultat :
Date | Noeud | Heure de l’événement | Catégorie | Cohérence | Erreur | Nom du Keyspace | Opération | Source | Nom de la Table | Nom d’Utilisateur |
---|---|---|---|---|---|---|---|---|---|---|
2018-03-18 00:00:00+00 | 10.143.2.108 | 3429b1a5-2a94-11e8-8f4e-000000000001 | DDL | ONE | False | nba | DROP TABLE nba.team_roster | 127.0.0.1 | team_roster | Scylla |
DataSunrise : Une Suite de Sécurité Flexible pour ScyllaDB
Alors que les fonctionnalités d’audit native de ScyllaDB offrent des capacités d’audit de base, DataSunrise propose une solution plus complète et centralisée pour surveiller et auditer les activités de la base de données.
Configuration de DataSunrise pour l’Audit de ScyllaDB
- Créer une Instance DataSunrise : Lancez une nouvelle instance pour l’audit de ScyllaDB via l’interface de gestion de DataSunrise.

- Configurer les Règles d’Audit : Définissez les règles d’audit, y compris les tables, keyspaces et événements à surveiller

- Consulter les Résultats d’Audit : Accédez aux journaux d’audit détaillés via la page DataSunrise.

Avantages de l’Utilisation de DataSunrise pour l’Audit de ScyllaDB
- Contrôle Centralisé : DataSunrise permet une gestion centralisée des règles d’audit sur plusieurs instances de ScyllaDB.
- Fonctionnalités Avancées : Comprend des alertes en temps réel, des rapports de conformité et le masquage des données.
- Facilité d’Utilisation : L’interface intuitive et les rapports détaillés permettent aux administrateurs d’identifier et de réagir rapidement aux activités suspectes.
En intégrant DataSunrise avec ScyllaDB, vous bénéficiez d’un système d’audit amélioré qui simplifie la conformité et offre un meilleur contrôle sur la sécurité de vos données.
Conclusion
Les fonctionnalités d’audit de données natives de ScyllaDB offrent un moyen fiable de suivre les activités de la base de données et d’assurer la sécurité. En configurant des paramètres d’audit pour des tables, keyspaces et événements spécifiques, vous pouvez surveiller et enregistrer les opérations critiques. De plus, DataSunrise renforce ces capacités en fournissant une plateforme centralisée pour gérer les règles d’audit et garantir la conformité.
Pour les organisations cherchant à mettre en œuvre des stratégies de sécurité des données globales, l’intégration des fonctionnalités d’audit de ScyllaDB avec DataSunrise offre une solution puissante pour surveiller et protéger les données sensibles.
Pour plus d’informations sur l’audit de ScyllaDB ou pour explorer les outils avancés de sécurité de base de données de DataSunrise, visitez le site officiel de DataSunrise pour une démonstration en ligne.