Configurer MongoDB avec l'authentification Kerberos: certificats X.509

Table des matières:

Anonim

Alors que l'autorisation cherche à garantir l'accès du client au système, l'authentification vérifie le type d'accès du client dans MongoDB, une fois qu'il a été autorisé dans le système.

Il existe différents mécanismes d'authentification, ci-dessous ne sont que quelques-uns d'entre eux.

Authentification MongoDB à l'aide de certificats x.509

Utilisez des certificats x.509 pour authentifier le client - Un certificat est essentiellement une signature de confiance entre le client et le serveur MongoDB.

Ainsi, au lieu de saisir un nom d'utilisateur et un mot de passe pour se connecter au serveur, un certificat est transmis entre le client et le serveur MongoDB. Le client aura essentiellement un certificat client qui sera transmis au serveur pour s'authentifier auprès du serveur. Chaque certificat client correspond à un seul utilisateur MongoDB. Ainsi, chaque utilisateur de MongoDB doit avoir son propre certificat pour s'authentifier auprès du serveur MongoDB.

Pour garantir que cela fonctionne, les étapes suivantes doivent être suivies;

  1. Un certificat valide doit être acheté auprès d'une autorité tierce valide et l'installer sur le serveur MongoDB.
  2. Le certificat client doit avoir les propriétés suivantes (une seule autorité de certification (CA) doit émettre les certificats pour le client et le serveur. Les certificats client doivent contenir les champs suivants: keyUsage et extendedKeyUsage.
  3. Chaque utilisateur qui se connecte au serveur MongDB doit disposer d'un certificat distinct.

Authentification Mongodb avec Kerberos

Étape 1) Configurez MongoDB avec l'authentification Kerberos sur Windows - Kerberos est un mécanisme d'authentification utilisé dans les grands environnements client-serveur.

C'est un mécanisme très sécurisé dans lequel le mot de passe n'est autorisé que s'il est crypté. Eh bien, MongoDB a la possibilité de s'authentifier par rapport à un système Kerberos existant.

Étape 2) Démarrez le processus du serveur mongod.exe.

Étape 3) Démarrez le processus client mongo.exe et connectez-vous au serveur MongoDB.

Étape 4) Ajoutez un utilisateur dans MongoDB, qui est essentiellement un nom principal Kerberos à la base de données $ external. La base de données $ external est une base de données spéciale qui indique à MongoDB d'authentifier cet utilisateur par rapport à un système Kerberos au lieu de son propre système interne.

use $externaldb.createUser({user: "This email address is being protected from spambots. You need JavaScript enabled to view it.",roles:[{role: "read" , db:"Marketing"}}]}

Étape 5) Démarrez mongod.exe avec la prise en charge de Kerberos à l'aide de la commande suivante

mongod.exe -auth -setParameter authenticationMechanisms=GSSAPI

Et puis vous pouvez maintenant vous connecter avec l'utilisateur Kerberos et l'authentification Kerberos à la base de données.

Résumé:

  • Il existe différents mécanismes d'authentification pour améliorer la sécurité des bases de données. Un exemple est l'utilisation de certificats pour authentifier les utilisateurs au lieu d'utiliser des noms d'utilisateur et des mots de passe.