Comment installer et sécuriser MongoDB sur Ubuntu 22.04

MongoDB est une base de données NoSQL orientée document utilisée pour le stockage de données de gros volumes. Au lieu d'utiliser des tables et des lignes comme dans les bases de données relationnelles traditionnelles, MongoDB utilise des collections et des documents. Les documents sont constitués de paires clé-valeur qui constituent l'unité de données de base dans MongoDB. Les collections contiennent des ensembles de documents et des fonctions qui sont l'équivalent des tables de bases de données relationnelles.

Dans le didacticiel d'aujourd'hui, nous apprendrons comment installer et sécuriser MongoDB sur Ubuntu 22.04. Pour installer et sécuriser MongoDB sur Ubuntu 22.04, suivez ces étapes

  • Étape 1 : Installation de MongoDB
  • Étape 2 : Sécuriser MongoDB avec un mot de passe
  • Étape 3 : Activation de l'authentification
  • Étape 4 : Restreindre l'accès à MongoDB

Avant de commencer, assurez-vous que vous disposez d'une nouvelle installation d'Ubuntu 22.04 et d'un utilisateur non root doté des privilèges sudo. Assurez-vous également que votre système est à jour en exécutant la commande suivante :

sudo apt update
sudo apt upgrade 
sudo apt install gnupg2

Une fois votre système à jour, nous pouvons procéder à l'installation de MongoDB.

Étape 1 : Installation de MongoDB

Le déploiement de MongoDB sur Ubuntu s'avère être une entreprise simple, avec la possibilité d'utiliser le gestionnaire de packages Ubuntu ou de l'obtenir directement sur le site Web de MongoDB.

Les étapes ci-dessous configureront le PPA officiel de MongoDB sur votre système Ubuntu et l'installeront :

 Importez la clé MongoDB GPG :

wget -nc https://www.mongodb.org/static/pgp/server-6.0.asc 
cat server-6.0.asc | gpg --dearmor | sudo tee /etc/apt/keyrings/mongodb.gpg >/dev/null 

Ces commandes servent à importer la clé GPG associée au référentiel MongoDB, une étape cruciale pour garantir la légitimité et l'intégrité des packages contenus dans le référentiel.

Ajoutez le référentiel MongoDB au gestionnaire de packages de votre système :

sudo sh -c 'echo "deb [ arch=amd64,arm64 signed-by=/etc/apt/keyrings/mongodb.gpg] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" >> /etc/apt/sources.list.d/mongo.list'

Cette commande ajoutera le référentiel MongoDB à la liste des référentiels dans le gestionnaire de packages de votre système.

Mettez à jour la liste des packages disponibles :

sudo apt update

Cette commande mettra à jour la liste des packages disponibles pour inclure les packages dans le référentiel MongoDB.

Installez MongoDB :

sudo apt install mongodb-org

Cette commande installera la dernière version stable de MongoDB à partir du référentiel MongoDB.

Démarrez le service MongoDB :

sudo systemctl start mongod

Cette commande démarrera le service MongoDB.

Les étapes ci-dessus permettront d'installer avec succès MongoDB sur un système Ubuntu.

Par la suite, il est indispensable d'activer l'authentification pour la base de données MongoDB. Cette précaution oblige les utilisateurs à fournir un nom d'utilisateur et un mot de passe pour accéder à la base de données. Sans authentification, un accès illimité au serveur pourrait conduire à une visualisation et à une modification non autorisée des données.

Étape 2 : Sécuriser MongoDB avec un mot de passe

Bien que MongoDB fonctionne généralement par défaut sans mot de passe obligatoire pour l'accès à la base de données, il est fortement conseillé d'établir un mot de passe pour améliorer la sécurité de la base de données et contrecarrer les accès non autorisés.

Pour établir un mot de passe pour MongoDB, respectez ces étapes procédurales :

Connectez-vous au shell MongoDB :

mongosh

Cette commande lance le shell MongoDB, une interface de ligne de commande utilisée pour interagir avec la base de données.

Basculez vers la base de données admin :

use admin

L'exécution de cette commande entraînera une transition vers la adminbase de données, spécialement conçue pour superviser les utilisateurs et les rôles au sein de la base de données.

db.createUser({
  user: "admin",
  pwd: "password",
  roles: [ { role: "root", db: "admin" } ]
})

Remplacez adminet passwordpar le nom d'utilisateur et le mot de passe que vous avez choisis. Cette commande générera un nouvel utilisateur doté du rootrôle au sein de la adminbase de données, accordant un accès complet à toutes les ressources et fonctions de la base de données.

Quittez le shell MongoDB :

exit

Étape 3 : Activation de l'authentification

Bien que MongoDB autorise généralement l'accès à la base de données sans nécessiter d'authentification par défaut, il est fortement recommandé d'activer l'authentification comme mesure de sécurité pour protéger la base de données et empêcher tout accès non autorisé.

Pour activer l'authentification pour MongoDB, suivez ces étapes :

1. Modifiez le fichier de configuration MongoDB :

sudo nano /etc/mongod.conf

Cette commande ouvre le fichier de configuration MongoDB à l'aide de l'éditeur de texte Nano.

Recherchez la section de sécurité dans le fichier de configuration et ajoutez les lignes suivantes :

security:
  authorization: enabled

Cette action activera la fonction d'autorisation dans MongoDB, obligeant les utilisateurs à s'authentifier à l'aide d'un nom d'utilisateur et d'un mot de passe avant d'accéder à la base de données.

Enregistrez les modifications et quittez l'éditeur de texte.

Redémarrez le service MongoDB :

sudo systemctl restart mongod

L'exécution de cette commande appliquera les modifications apportées à la configuration de MongoDB et redémarrera ensuite le service.

Étape 4 : Restreindre l'accès à MongoDB

MongoDB, par défaut, autorise les connexions à partir de n'importe quelle adresse IP. Néanmoins, il est conseillé de renforcer la sécurité en limitant l'accès aux bases de données exclusivement aux adresses IP désignées ou aux plages prédéfinies.

Pour imposer des restrictions sur l'accès à MongoDB, suivez ces étapes décrites :

Modifiez le fichier de configuration MongoDB :

sudo nano /etc/mongod.conf

Exécutez cette commande pour lancer le fichier de configuration MongoDB dans l'éditeur de texte Nano.

Recherchez la section net dans le fichier de configuration et ajoutez les lignes suivantes :

net:
  bindIp: 127.0.0.1,192.168.1.0/24

Remplacez 127.0.0.1et 192.168.1.0/24par vos adresses ou plages IP préférées. Cette action limitera l'accès à la base de données exclusivement aux adresses ou plages IP spécifiées.

Enregistrez les modifications et quittez l'éditeur de texte.

Redémarrez le service MongoDB :

sudo systemctl restart mongod

Exécutez cette commande pour implémenter les ajustements de la configuration MongoDB et redémarrez ensuite le service.

Étape 5 : Ouverture du port du pare-feu (UFW)

Pour débloquer le port MongoDB (27017) dans le pare-feu sur un système utilisant ufw, suivez ces étapes :

Vérifiez l'état du pare-feu :

sudo ufw status

Cette commande affichera l'état actuel du pare-feu. Si le pare-feu est inactif, vous devez l'initier avant de procéder à l'ouverture du port MongoDB.

Si le pare-feu n'est pas actif, démarrez-le en exécutant la commande suivante :

sudo ufw enable

Cette commande activera le pare-feu et autorisera les connexions entrantes au système.

Ouvrez le port MongoDB dans le pare-feu :

sudo ufw allow 27017

Cette commande débloquera le port MongoDB (27017) dans le pare-feu, autorisant les connexions entrantes vers ce port.

Consultez la liste des ports ouverts pour vérifier que le port MongoDB est ouvert :

sudo ufw status

En suivant ces procédures, le port MongoDB doit être accessible via le pare-feu, vous permettant d'établir des connexions à la base de données à partir d'autres systèmes.

Conclusion

Dans cet article, nous avons abordé de manière exhaustive les aspects d'installation et de sécurité de MongoDB sur Ubuntu 22.04. 

1.05 GEEK