GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer et sécuriser MongoDB sur Debian 11

MongoDB est une base de données open source, à usage général, basée sur des documents et distribuée, conçue pour les développeurs d'applications modernes. Elle est également appelée base de données NoSQL car elle ne repose pas sur une structure de base de données relationnelle traditionnelle basée sur des tables. Il stocke les données au format JSON au lieu de la méthode de style de table. Il peut être facilement intégré à divers langages de programmation. Il est utilisé par de nombreuses entreprises bien connues, notamment Facebook, Cisco, Forbes, Adobe, Nokia, etc.

Dans cet article, nous vous montrerons comment installer et sécuriser la base de données NoSQL MongoDB sur Debian 11.

Prérequis

  • Un serveur exécutant Debian 11.
  • Un mot de passe root est configuré sur le serveur.

Ajouter un référentiel MongoDB

Par défaut, le package MongoDB n'est pas inclus dans le référentiel par défaut de Debian 11. Vous devrez donc ajouter le référentiel officiel MongoDB à l'APT.

Tout d'abord, installez les dépendances requises à l'aide de la commande suivante :

apt-get install curl apt-transport-https software-properties-common gnupg2 -y

Une fois toutes les dépendances installées, téléchargez et ajoutez la clé GPG avec la commande suivante :

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -

Ensuite, ajoutez le référentiel MongoDB au fichier de liste des sources APT à l'aide de la commande ci-dessous :

echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | tee /etc/apt/sources.list.d/mongodb-org.list

Ensuite, mettez à jour le référentiel et installez le serveur MongoDB avec la commande suivante :

apt-get update -y
apt-get install mongodb-org -y

Une fois l'installation réussie, démarrez le service MongoDB et activez-le pour qu'il démarre au redémarrage du système :

systemctl start mongod
systemctl enable mongod

Ensuite, vérifiez la version de MongoDB à l'aide de la commande ci-dessous :

mongod --version

Vous devriez obtenir le résultat suivant :

db version v4.4.9
Build Info: {
    "version": "4.4.9",
    "gitVersion": "b4048e19814bfebac717cf5a880076aa69aba481",
    "openSSLVersion": "OpenSSL 1.1.1k  25 Mar 2021",
    "modules": [],
    "allocator": "tcmalloc",
    "environment": {
        "distmod": "debian10",
        "distarch": "x86_64",
        "target_arch": "x86_64"
    }
}

Activer l'authentification MongoDB

Par défaut, l'authentification n'est pas activée dans MongoDB. Pour des raisons de sécurité, il est recommandé d'activer l'authentification MongoDB.

Pour ce faire, vous devrez créer un utilisateur administratif pour MongoDB.

Tout d'abord, connectez-vous au shell MongoDB avec la commande suivante :

mongo

Une fois connecté, créez une base de données nommée admin avec la commande suivante :

> use admin

Ensuite, créez un utilisateur administrateur et définissez un mot de passe :

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

Vous devriez voir le résultat suivant :

Successfully added user: {
	"user" : "madmin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	]
}

Ensuite, appuyez sur CTRL + D pour quitter le shell MongoDB. Ensuite, éditez le fichier de configuration MongoDB avec la commande suivante :

nano /etc/mongod.conf

Ajoutez les lignes suivantes pour activer l'authentification :

security:
 authorization: enabled

Enregistrez et fermez le fichier, puis redémarrez le service MongoDB pour appliquer les modifications.

systemctl restart mongod

Vérifier la connexion MongoDB

À ce stade, l'authentification MongoDB est activée. Maintenant, exécutez la commande suivante pour connecter le shell MongoDB en utilisant le nom d'utilisateur et le mot de passe :

mongo -u madmin -p

Une fois l'authentification réussie, vous obtiendrez le résultat suivant :

MongoDB shell version v4.4.9
Enter password: 
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("8366d28f-55d3-4471-bd94-331329828181") }
MongoDB server version: 4.4.9
> 

Ensuite, modifiez la base de données en admin et répertoriez tous les utilisateurs à l'aide de la commande suivante :

> use admin
> show users

Vous devriez obtenir le résultat suivant :

{
	"_id" : "admin.madmin",
	"userId" : UUID("26dd5225-7bb6-4a57-96a0-7efc4e1a98ba"),
	"user" : "madmin",
	"db" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	],
	"mechanisms" : [
		"SCRAM-SHA-1",
		"SCRAM-SHA-256"
	]
}

Désinstaller MongoDB

Si vous n'avez pas besoin de MongoDB dans votre système, vous pouvez le désinstaller de votre système.

Tout d'abord, arrêtez le service MongoDB avec la commande suivante :

systemctl stop mongod

Ensuite, supprimez le package MongoDB en exécutant la commande suivante :

apt-get remove mongodb-org --purge

Ensuite, supprimez les journaux MongoDB et les répertoires de données en exécutant la commande suivante :

rm -rf /var/lib/mongodb

Conclusion

Toutes nos félicitations! vous avez installé et sécurisé avec succès MongoDB sur Debian 11. Vous pouvez maintenant utiliser MongoDB avec vos applications Web. Pour plus d'informations, consultez la documentation officielle de MongoDB.


Debian
  1. Comment installer et configurer OpenVPN Server sur Debian 10

  2. Comment installer osquery sur Debian 10

  3. Installer et sécuriser le serveur Redis sur Debian 10

  4. Comment installer et sécuriser MariaDB sur Debian 11

  5. Comment installer et sécuriser MongoDB 4 dans CentOS 8

Comment installer et configurer Memcached sur Debian 11

Comment installer Jenkins sur Debian 11

Comment installer Cockpit sur Debian 11

Comment installer MongoDB sur Debian 10

Comment installer MongoDB sur Debian 8

Comment installer et utiliser MongoDB sur Debian 11