MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

10 conseils pour améliorer votre sécurité MongoDB

MongoDB fournit un certain nombre de constructions pour améliorer la sécurité de vos données. La sécurité de vos données dans MongoDB est primordiale - il est donc important de tirer parti de ces constructions pour réduire votre surface. Voici 10 conseils que vous pouvez utiliser pour améliorer la sécurité de vos serveurs MongoDB sur site et dans le cloud.

  1. Activer l'authentification

    Même si vous avez déployé vos serveurs MongoDB dans un réseau de confiance, il est recommandé d'activer l'authentification. Il vous fournit une "défense en profondeur" si votre réseau est compromis. Modifiez votre fichier de configuration MongoDB pour activer l'authentification :

    auth = true
    
  2. N'exposez pas votre base de données de production à Internet

    Restreindre l'accès physique à votre base de données est un aspect important de la sécurité. Si ce n'est pas nécessaire, n'exposez pas votre base de données de production à Internet. En cas de compromission, si un attaquant ne peut pas se connecter physiquement à votre serveur MongoDB, vos données sont d'autant plus sécurisées. Si vous êtes sur AWS, vous pouvez placer vos bases de données dans un sous-réseau de cloud privé virtuel (VPC). Lisez l'article de blog Déploiement de MongoDB dans un VPC pour plus d'informations.

  3. Utiliser des pare-feu

    Utilisez des pare-feu pour limiter les autres entités autorisées à se connecter à votre serveur MongoDB. La meilleure pratique consiste à autoriser uniquement vos serveurs d'applications à accéder à la base de données. Si vous êtes hébergé sur AWS, utilisez des « groupes de sécurité » pour restreindre l'accès. Si vous êtes hébergé sur un fournisseur qui ne prend pas en charge les constructions de pare-feu, vous pouvez facilement le configurer vous-même en utilisant « iptables ». Reportez-vous à la documentation MongoDB pour configurer iptables pour votre scénario.

  4. Utilisez des fichiers de clé pour configurer le jeu de répliques

    Spécifiez un fichier de clé partagé pour activer la communication entre vos instances MongoDB dans un jeu de répliques. Pour activer cela, ajoutez le paramètre keyfile au fichier de configuration comme indiqué ci-dessous. Le contenu du fichier doit être le même sur toutes les machines :

    keyFile = /srv/mongodb/keyfile
    
  5. Désactiver l'interface d'état HTTP

    MongoDB, par défaut, fournit une interface http s'exécutant sur le port 28017 qui fournit la page d'état "d'accueil". Cette interface n'est pas recommandée pour une utilisation en production et il est préférable de la désactiver. Utilisez le paramètre de configuration "nohttpinterface" pour désactiver l'interface http :

    nohttpinterface = true
    
  6. Désactiver l'interface REST

    L'interface MongoDB REST n'est pas recommandée pour la production. Il ne prend en charge aucune authentification et est désactivé par défaut. Si vous l'avez activé à l'aide de l'option de configuration "reste", vous devez le désactiver pour les systèmes de production.

    rest = false
    
  7. Configurer bind_ip

    Si votre système dispose de plusieurs interfaces réseau, vous pouvez utiliser l'option "bind_ip" pour limiter votre serveur MongoDB afin qu'il n'écoute que sur les interfaces pertinentes. Par défaut, MongoDB se liera à toutes les interfaces :

    bind_ip = 10.10.0.25,10.10.0.26
    
  8. Activer SSL

    Si vous n'utilisez pas SSL, vos données voyagent entre votre client Mongo et votre serveur Mongo sans être chiffrées et sont susceptibles d'être écoutées, falsifiées et attaquées par "l'homme du milieu". Ceci est particulièrement important si vous vous connectez à votre serveur MongoDB via des réseaux non sécurisés comme Internet.

  9. Autorisation basée sur les rôles

    MongoDB prend en charge l'authentification basée sur les rôles pour vous donner un contrôle précis sur les actions pouvant être effectuées par chaque utilisateur. Utilisez des constructions basées sur les rôles pour restreindre l'accès au lieu de faire de tous vos utilisateurs des administrateurs. Reportez-vous à la documentation des rôles pour plus de détails.

  10. MongoDB d'entreprise et Kerberos

    Enterprise MongoDB s'intègre à Kerberos pour l'authentification. Reportez-vous à la documentation de MongoDB pour plus de détails. Les systèmes de nom d'utilisateur/mot de passe ne sont pas sécurisés par nature. Utilisez si possible une authentification basée sur le trottoir.

Chez ScaleGrid, nous nous efforçons de prendre en charge les configurations de sécurité conformes aux meilleures pratiques par défaut pour tous nos déploiements. Nous vous permettons d'utiliser SSL et de ne pas exposer votre base de données à Internet. Si vous avez des questions, veuillez nous envoyer un e-mail à [email protected].