MongoDB Sécurité, surveillance et sauvegarde (Mongodump)
⚡ Résumé intelligent
MongoDB La sécurité, la surveillance et la sauvegarde sont des concepts fondamentaux de l'administration de bases de données qui garantissent la sécurité, la disponibilité et la récupération des données. Cette ressource aborde les bonnes pratiques de sécurité, les sauvegardes mongodump, les outils de surveillance, les conseils d'indexation, les mécanismes d'authentification, les certificats X.509 et la configuration. MongoDB avec l'authentification Kerberos.

L'un des concepts clés de MongoDB L'administration de bases de données englobe la gestion des bases de données. Des aspects importants tels que la sécurité, la sauvegarde et l'accès aux bases de données sont des concepts essentiels à prendre en compte.
MongoDB Aperçu de la sécurité
MongoDB Il permet de définir des mécanismes de sécurité pour les bases de données. Par défaut, on ne souhaite pas que tout le monde ait un accès libre à toutes les bases de données. MongoDB, d'où la nécessité d'avoir une sorte de mécanisme de sécurité dans MongoDB est important.
Voici les meilleures pratiques pour la mise en œuvre de la sécurité dans les bases de données :
- Activer le contrôle d'accès – Créer des utilisateurs afin que toutes les applications et tous les utilisateurs soient tenus de disposer d'un mécanisme d'authentification pour accéder aux bases de données. MongoDB.
- Configurer le contrôle d'accès basé sur les rôles – Parfois, il peut exister un groupe logiqueping Les autorisations requises peuvent être regroupées en rôles, puis les utilisateurs peuvent être affectés à ces rôles.
- Essayez de configurer MongoDB utiliser un protocole de chiffrement tel que TLS ou SSL. Ces protocoles permettent de chiffrer le trafic entre le client et le serveur. MongoDB sûr et sécurisé.
- Configurer l'audit Les administrateurs ont généralement besoin de savoir qui fait quoi, ce qui facilite l'analyse des problèmes ultérieurs. La meilleure solution consiste à activer l'audit dans MongoDB.
- Exécutez le MongoDB Instance de serveur avec un identifiant utilisateur distinct qui a accès uniquement aux ressources nécessaires sur l'environnement serveur.
MongoDB Procédures de sauvegarde – mongodump
Lorsque vous travaillez avec MongoDBIl est important de toujours veiller à ce qu'une procédure de sauvegarde soit en place au cas où les données qu'elle contient seraient perdues. MongoDB se corrompt pour une raison quelconque. Vous trouverez ci-dessous les mécanismes de sauvegarde disponibles. MongoDB:
- Sauvegarde en copiant les fichiers de données sous-jacents – C’est probablement le mécanisme le plus simple. Il suffit de copier les fichiers de données sur lesquels MongoDB Ils les stockent et les copient vers un autre emplacement, idéalement un autre serveur.
- Sauvegarder une base de données avec mongodump – L'outil mongodump lit les données d'un MongoDB Mongodump extrait les données de la base et crée des fichiers BSON haute fidélité. Il est important de noter que si le volume de données est important, Mongodump peut s'avérer très gourmand en ressources. Pour pallier ce problème, il est recommandé d'exécuter l'utilitaire sur un serveur secondaire.
- MongoDB Sauvegarde du gestionnaire de cloud - MongoDB Cloud Manager sauvegarde continuellement MongoDB jeux de réplicas et clusters partitionnés en lisant les données oplog à partir du MongoDB sûr et sécurisé. MongoDB Cloud Manager peut créer une restauration à un point précis dans le temps en stockant les données oplog afin de pouvoir effectuer une restauration à tout moment pour un ensemble de réplicas ou un cluster fragmenté particulier.
MongoDB Le Monitoring
La surveillance est l'une des activités administratives les plus critiques dans MongoDBEn effet, surveiller l'environnement permet d'être plus proactif et de déceler d'éventuels problèmes. Voici quelques exemples de mise en œuvre de cette surveillance :
- mongostat Vous obtiendrez ainsi le nombre d'opérations de base de données (insertion, requête, mise à jour et suppression) effectuées sur le serveur. Cela vous permettra d'évaluer la charge supportée par le serveur et de déterminer si des ressources supplémentaires sont nécessaires, voire des serveurs supplémentaires pour la répartir.
- mongotop tracks et rend compte de l'activité de lecture et d'écriture actuelle d'un MongoDB par exemple, et rapporte ces statistiques par collection.
- MongoDB fournit une interface web qui expose des informations de diagnostic et de surveillance sur une simple page web.
- La commande serverStatus, ou db.serverStatus() depuis le shell, renvoie un aperçu de l'état de la base de données, avec des détails sur l'utilisation du disque, l'utilisation de la mémoire, les connexions établies avec le MongoDB environnement, et plus encore.
MongoDB Considérations sur l’indexation et les performances
- Les index sont très importants dans toute base de données et peuvent être utilisés pour améliorer l'efficacité des requêtes de recherche dans MongoDBSi vous effectuez régulièrement des recherches dans votre document, il est préférable d'ajouter des index sur les champs du document utilisés dans les critères de recherche.
- Essayez de toujours limiter le nombre de résultats de requête renvoyés. Supposons qu'un document contienne plusieurs noms de champs, mais que vous souhaitiez n'en afficher que deux. Dans ce cas, assurez-vous que votre requête ne cible que ces deux champs et non l'ensemble des champs.
- Si vous souhaitez afficher certaines valeurs de champs, utilisez uniquement ces champs dans la requête. N'interrogez pas tous les champs de la collection s'ils ne sont pas obligatoires.
MongoDB Mécanismes d'authentification
Alors que l'autorisation vise à garantir l'accès du client au système, l'authentification vérifie le type d'accès dont dispose le client. MongoDB une fois leur accès au système autorisé. Il existe différents mécanismes d'authentification ; en voici quelques exemples.
MongoDB Authentification à l'aide de certificats x.509
Utilisez des certificats X.509 pour authentifier le client ; un certificat est essentiellement une signature de confiance entre le client et le serveur. MongoDB Server.
Ainsi, au lieu de saisir un nom d'utilisateur et un mot de passe pour se connecter au serveur, un certificat est transmis entre le client et le serveur. MongoDB Serveur. Le client possède un certificat client qui est transmis au serveur pour s'authentifier. Chaque certificat client correspond à un seul compte. MongoDB utilisateur. Ainsi, chaque utilisateur de MongoDB doit posséder son propre certificat pour être authentifié auprès de MongoDB serveur.
Pour que cela fonctionne, les étapes suivantes doivent être respectées :
- Un certificat valide doit être acheté auprès d'une autorité tierce compétente et installé sur le MongoDB Server.
- Le certificat client doit posséder les propriétés suivantes : une seule autorité de certification (CA) doit émettre les certificats pour le client et le serveur, et les certificats clients doivent contenir les champs keyUsage et extendedKeyUsage.
- Chaque utilisateur qui se connecte au MongoDB Le serveur doit posséder un certificat distinct.
Comment configurer MongoDB avec authentification Kerberos
Voici les étapes à configurer MongoDB avec l'authentification Kerberos sur Windows:
Étape 1) Configurer MongoDB avec l'authentification Kerberos activée Windows
Kerberos est un mécanisme d'authentification utilisé dans les environnements client-serveur de grande envergure. C'est un mécanisme très sécurisé qui n'autorise le mot de passe que s'il est chiffré. MongoDB dispose de la possibilité de s'authentifier auprès d'un système existant basé sur Kerberos.
Étape 2) Processus serveur mongod.exe
Ensuite, démarrez le processus serveur mongod.exe.
Étape 3) Processus client mongo.exe et connexion
Ensuite, démarrez le processus client mongo.exe et connectez-vous au réseau. MongoDB serveur.
Étape 4) Ajouter un utilisateur dans MongoDB
Ajoutez un utilisateur, qui correspond à un nom d'utilisateur principal Kerberos, à la base de données $external. La base de données $external est une base de données spéciale qui indique MongoDB pour authentifier cet utilisateur auprès d'un système Kerberos au lieu de son propre système interne.
use $external db.createUser( { user: "user1@example.NET", roles: [ { role: "read", db: "Marketing" } ] } )
Étape 5) Commencez à utiliser la commande
Démarrez mongod.exe avec la prise en charge de Kerberos en utilisant la commande suivante :
mongod.exe --auth --setParameter authenticationMechanisms=GSSAPI
Et puis vous pouvez maintenant vous connecter avec l'utilisateur Kerberos et l'authentification Kerberos à la base de données.

