MongoDB Security a fait la une des journaux cette semaine pour toutes les mauvaises raisons. Toutes les discussions ont porté sur les quelque 40 000 bases de données découvertes par un groupe d'étudiants basés en Allemagne. Certaines bases de données contenaient même des données de production. C'est flagrant à plusieurs niveaux - non seulement vous avez des données de production sur une base de données non authentifiée, mais elles sont également laissées ouvertes à Internet. La seule chose surprenante est qu'il a fallu autant de temps pour être exposé. Si vous ne voulez pas que vos serveurs MongoDB fassent la une des journaux, voici trois étapes simples pour améliorer la sécurité de votre installation MongoDB :
-
Toujours activer l'authentification
Il est important d'activer l'authentification pour tous vos clusters MongoDB. Même s'il s'agit d'une installation de développement, activez toujours l'authentification et assurez-vous que vos flux de travail sont conçus pour pouvoir prendre en charge l'authentification. Vous trouverez plus de détails sur l'ajout d'utilisateurs et de rôles ici.
Vous pouvez également aller plus loin et utiliser des certificats X509 au lieu de mots de passe pour l'authentification. Cela vous protégera de toute attaque basée sur un mot de passe, telle qu'une attaque par « dictionnaire ». Si vous disposez de la version d'entreprise de MongoDB, vous pouvez également utiliser Kerberos pour l'authentification.
-
Verrouiller l'accès avec des pare-feu
Tous les accès à vos serveurs de base de données doivent être « nécessaires », et vous pouvez utiliser des pare-feu pour verrouiller l'accès. La configuration typique consiste à verrouiller l'accès afin que seuls vos serveurs d'applications et votre équipe informatique aient accès aux serveurs. Si vous êtes sur Amazon AWS, utilisez des groupes de sécurité pour verrouiller l'accès aux serveurs. Enfin, le point le plus important :N'exposez pas votre base de données à Internet ! Il n'y a que quelques bonnes raisons d'exposer votre base de données sur Internet.
-
Utiliser des réseaux isolés
La plupart des clouds publics offrent aujourd'hui des options pour déployer vos serveurs dans un espace réseau isolé qui n'est pas accessible depuis l'Internet public. Vous pouvez accéder à Internet, mais aucun trafic Internet ne peut vous atteindre. Par exemple, AWS propose des Virtual Private Clouds (VPC) et Azure propose des Virtual Networks (VNET). Ces réseaux isolés offrent une défense en profondeur pour votre installation de base de données. Sur AWS, vous pouvez déployer vos serveurs de base de données sur un sous-réseau privé dans un VPC ; même en cas d'erreur de configuration, vos serveurs de base de données ne sont pas exposés à Internet.
Vous trouverez ci-dessous d'autres articles pertinents sur la sécurité de MongoDB. Si vous avez d'autres questions, veuillez nous contacter à [email protected].
- Les trois A de la sécurité MongoDB – Authentification, autorisation et audit
- 10 conseils pour améliorer votre sécurité MongoDB
- Déploiement sécurisé de MongoDB sur Amazon AWS
- Sécurisez vos clusters Mongo avec SSL