Aller au contenu

Recommandations pour un déploiement sûr#

3.1 Configuration de la sécurité réseau#

  • Activer l'authentification et l'autorisation pour sécuriser l'accès aux données
  • Configurer les règles de pare-feu pour limiter l'accès aux ports MongoDB
  • Utiliser des connexions TLS/SSL pour chiffrer les communications entre les clients et le serveur
    • Exemple de commande pour activer TLS/SSL : mongod --tlsMode requireTLS --tlsCertificateKeyFile /etc/ssl/mongodb.pem
  • Configurer les "bind_ip" pour restreindre l'accès aux interfaces réseau spécifiques
    • Exemple de configuration dans mongod.conf : net: { bindIp: "192.168.1.2" }

3.2 Chiffrement des données#

  • Chiffrement au repos (Encryption at Rest) avec le moteur de stockage WiredTiger
    • Activer le chiffrement au repos dans mongod.conf : storage: { wiredTiger: { engineConfig: { encrypt: { keyFile: "/path/to/keyfile" } } } }
  • Chiffrement des sauvegardes avec mongodump et mongorestore
    • Exemple de commande pour chiffrer une sauvegarde : mongodump --archive=/path/to/encrypted_backup --gzip --encryptionKeyFile=/path/to/keyfile
  • Chiffrement des données en transit avec TLS/SSL (mentionné précédemment)

3.3 Auditer et surveiller l'accès#

  • Activer l'audit pour enregistrer les actions des utilisateurs dans le système * Exemple de configuration dans mongod.conf : auditLog: { destination: "file", format: "BSON", path: "/path/to/auditlog" }
  • Utiliser des outils de surveillance tels que MongoDB Cloud Manager, Ops Manager ou MongoDB Atlas
  • Analyser les journaux d'audit pour détecter les accès non autorisés ou les actions suspectes

3.4 Gestion des mises à jour et des correctifs#

  • Surveiller les annonces de sécurité et les notes de version de MongoDB
  • Planifier et appliquer les mises à jour de sécurité en suivant les meilleures pratiques
  • Tester les mises à jour dans un environnement de préproduction avant de les déployer en production

3.5 Protection contre les injections et les attaques#

  • Valider et nettoyer les entrées utilisateur pour prévenir les injections de code
  • Utiliser des bibliothèques et des pilotes MongoDB officiels pour interagir avec la base de données
  • Limiter les privilèges des utilisateurs et les accès au minimum nécessaire
  • Surveiller les tentatives d'intrusion et mettre en place des mécanismes de blocage des adresses IP malveillantes