MongoDB a fait des progrès impressionnants au cours des 18 derniers mois. L'un des domaines de MongoDB qui a connu l'amélioration la plus significative est sa sécurité. La sécurité est d'une importance primordiale pour une base de données de production. Les bases de données relationnelles existantes fournissent un certain nombre de boutons et de contrôles pour aider l'administrateur de base de données (DBA) à gérer la sécurité de leur base de données, et MongoDB arrive également à un endroit similaire. Dans cet article, nous approfondirons les fonctionnalités de sécurité dans les domaines de l'authentification, de l'autorisation et de l'audit.
-
Authentification
MongoDB offre une variété de mécanismes pour authentifier la connexion des utilisateurs à la base de données. Choisissez le mécanisme qui offre le meilleur équilibre entre sécurité et gestion. Bien que facultative, il est recommandé d'activer l'authentification sur tous les systèmes de production.
-
Authentification de la réponse au défi (MongoDB-CR)
Il s'agit de l'authentification traditionnelle basée sur le nom d'utilisateur/mot de passe. Les utilisateurs peuvent être créés au niveau d'une base de données ou de l'ensemble du cluster. Si un utilisateur n'a besoin d'accéder qu'aux données d'une base de données particulière, il est recommandé de créer uniquement l'utilisateur spécifique à cette base de données. L'accès au niveau du cluster doit être restreint pour les administrateurs.
-
Authentification par certificat X.509
Les utilisateurs peuvent s'authentifier auprès de leur base de données MongoDB à l'aide d'un certificat X.509. Pour ce faire, le serveur MongoDB doit avoir SSL activé. Par défaut, les versions communautaires de MongoDB n'ont pas SSL activé. Vous devez déployer votre propre build ou vous inscrire pour utiliser l'édition Enterprise. Vous pouvez créer un utilisateur dans MongoDB pour chaque certificat X.509 avec un sujet unique. Pour plus d'instructions détaillées, consultez la configuration du certificat MongoDB X.509.
-
Authentification Kerberos
Les versions d'entreprise de MongoDB prennent en charge l'authentification à l'aide de Kerberos, qui est la norme de l'industrie pour l'authentification client-serveur. Par exemple, si vous êtes une entreprise avec une installation Active Directory, vous pouvez utiliser le mécanisme d'authentification Kerberos pour authentifier vos utilisateurs. Cela évite les tracas liés à la gestion des noms d'utilisateur, des mots de passe ou des certificats. Cliquez ici pour obtenir des instructions sur l'intégration de MongoDB à Active Directory.
-
-
Autorisation
Le système d'autorisation détermine les opérations que les utilisateurs peuvent effectuer une fois qu'ils ont terminé l'authentification. MongoDB prend en charge un modèle de contrôle d'accès basé sur les rôles (RBAC). Chaque utilisateur se voit attribuer des rôles spécifiques qui déterminent les opérations qu'il est autorisé à effectuer. MongoDB a un ensemble de rôles intégrés et vous pouvez également créer vos propres rôles personnalisés. Chaque rôle se voit attribuer un ensemble de privilèges qui associent les ressources aux opérations autorisées sur cette ressource. MongoDB fournit des rôles intégrés dans les étendues suivantes :
-
Rôles des utilisateurs de la base de données
lire, lireÉcrire
-
Rôles d'administrateur de base de données (DBA)
dbAdmin, dbOwner, userAdmin
-
Rôles d'administrateur de cluster
clusterAdmin, clusterManager, clusterMonitor, hostManager
-
Rôles de sauvegarde et de restauration
sauvegarde, restauration
-
Tous les rôles de base de données
readAnyDatabase, readWriteAnyDatabase,userAdminAnyDatabase
-
Rôles de superutilisateur
racine
Reportez-vous à la documentation sur les rôles intégrés pour une compréhension plus détaillée des rôles qui doivent être attribués à vos utilisateurs.
-
-
Audit
La version 2.6 de MongoDB Enterprise a ajouté la prise en charge de l'audit. Vous pouvez configurer le serveur MongoDB pour générer des événements d'audit pour les opérations MongoDB intéressantes, telles que la connexion de l'utilisateur, les modifications DDL, les modifications de configuration du jeu de réplicas, etc. Cela vous permet d'utiliser votre outil d'audit d'entreprise existant pour récupérer et traiter les événements nécessaires. Pour plus d'informations, reportez-vous à la liste des événements MongoDB pouvant être audités.
Pour plus de conseils sur l'amélioration de la sécurité de vos bases de données MongoDB, veuillez vous référer à notre autre article de blog - 10 conseils pour améliorer votre sécurité MongoDB.