Maison > Article > Opération et maintenance > Comment améliorer la sécurité de MongoDB
MongoDB fournit une série de composants pour améliorer la sécurité des données. La sécurité des données est primordiale dans MongoDB : elle exploite donc ces composants pour réduire l'exposition. Voici 10 conseils que vous pouvez utiliser pour améliorer la sécurité de votre serveur MongoDB personnel ou cloud.
1. Activer l'authentification — L'activation de l'authentification est une bonne pratique de sécurité même lors du déploiement du serveur MongoDB sur un réseau de confiance. Il assure une « défense en profondeur » lorsque votre réseau est attaqué. Modifiez le fichier de configuration pour activer auth
1
auth = true
2 N'exposez pas la base de données de production à Internet - restreindre l'accès physique à la base de données est une question de sécurité. mesure très importante. Si cela n'est pas nécessaire, n'exposez pas la base de données de l'environnement de production à Internet. Si les attaquants ne pouvaient pas se connecter physiquement à un serveur MongoDB, les données ne seraient pas plus sécurisées qu'aujourd'hui. Si vous déployez votre service sur Amazon Web Services (AWS), vous devez alors déployer la base de données dans un sous-réseau privé d'un Virtual Private Cloud (VPC). Pour plus d'informations à ce sujet, veuillez lire l'article de blog « Déployer MongoDB dans un cloud privé (VPC) ».
3. Utilisez un pare-feu - L'utilisation d'un pare-feu peut limiter les entités autorisées à se connecter au serveur MongoDB. La meilleure approche consiste à autoriser uniquement votre propre serveur d’applications à accéder à la base de données. Si vous ne parvenez pas à déployer sur Amazon Web Services (AWS), vous pouvez utiliser la fonctionnalité « Groupe de sécurité » pour restreindre l'accès. Si vous déployez votre service sur l'hôte d'un fournisseur qui ne prend pas en charge la fonctionnalité de pare-feu, vous pouvez simplement configurer le serveur vous-même à l'aide de "iptables". Veuillez vous référer à la documentation de mongodb pour configurer iptables pour l'environnement spécifique auquel vous êtes confronté.
4. Utilisez le fichier de clé pour établir un cluster de serveurs de réplication - spécifiez le fichier de clé partagé pour activer la communication entre les instances MongoDB dans le cluster de réplication. Ajoutez le paramètre keyfile au fichier de configuration comme suit. Le contenu de ce fichier doit être le même sur toutes les machines du cluster de réplication.
1
keyFile = /srv/mongodb/keyfile
5. Désactiver l'interface d'état HTTP - Par défaut, Mongodb exécute l'interface http sur le port 28017 pour fournir le "principal" page d'état. Il est recommandé de ne pas utiliser cette interface dans un environnement de production. Il est préférable de désactiver cette interface. Cette interface http peut être désactivée à l'aide du paramètre de configuration "nohttpinterface".
1
nohttpinterface = true
6. Désactiver l'interface REST - Il est recommandé de ne pas activer l'interface REST de MongoDB dans un environnement de production. Cette interface ne prend en charge aucune authentification. Cette interface est fermée par défaut. Si vous utilisez l'option de configuration "rest" pour ouvrir cette interface, vous devez la désactiver sur votre système de production.
1
rest = false
7. Configurez bind_ip - Si votre système utilise plusieurs interfaces réseau, vous pouvez utiliser l'option "bind_ip" pour limiter le serveur mongodb à Écoutez uniquement sur l'interface associée à cet élément de configuration. Par défaut, mongoDB lie toutes les interfaces.
1
bind_ip = 10.10.0.25,10.10.0.26
8. Activer SSL - Si vous n'utilisez pas SSL, alors vous êtes entre le client MongoDB et MongoDB. serveur Les données transmises sont en texte clair et sont vulnérables aux écoutes clandestines, à la falsification et aux attaques de type « homme du milieu ». Si vous vous connectez au serveur MongoDB via un réseau non sécurisé comme Internet, il est très important d'activer SSL.
9. Authentification basée sur les rôles - MongoDB prend en charge l'authentification basée sur les rôles afin que vous puissiez avoir un contrôle précis sur les actions que chaque utilisateur peut effectuer. Utilisez l'authentification basée sur les rôles pour restreindre l'accès à la base de données afin que tous les utilisateurs ne soient pas des administrateurs. Veuillez vous référer à la documentation du rôle pour plus d'informations.
10. MongoDB et Kerberos au niveau de l'entreprise - Mongodb au niveau de l'entreprise hérite de la certification Kerberos. Veuillez vous référer à la documentation de mongodb pour plus d'informations à ce sujet. Les systèmes basés sur un nom d'utilisateur/mot de passe sont intrinsèquement non sécurisés, utilisez donc l'authentification basée sur Kerberos si possible.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!