Configurare MongoDB con l'autenticazione Kerberos: certificati X.509

Sommario:

Anonim

Mentre l'autorizzazione cerca di garantire al client l'accesso al sistema, l'autenticazione controlla il tipo di accesso che il client ha in MongoDB, una volta che è stato autorizzato nel sistema.

Esistono vari meccanismi di autenticazione, di seguito sono riportati solo alcuni di essi.

Autenticazione MongoDB utilizzando certificati x.509

Usa certificati x.509 per autenticare il client: un certificato è fondamentalmente una firma affidabile tra il client e il server MongoDB.

Quindi, invece di inserire un nome utente e una password per connettersi al server, viene passato un certificato tra il client e il server MongoDB. Il client avrà fondamentalmente un certificato client che verrà passato al server per l'autenticazione nel server. Ogni certificato client corrisponde a un singolo utente MongoDB. Quindi ogni utente di MongoDB deve avere il proprio certificato per autenticarsi sul server MongoDB.

Per garantire che funzioni, è necessario seguire i seguenti passaggi;

  1. È necessario acquistare un certificato valido da un'autorità di terze parti valida e installarlo sul server MongoDB.
  2. Il certificato client deve avere le seguenti proprietà (una singola autorità di certificazione (CA) deve emettere i certificati sia per il client che per il server. I certificati client devono contenere i seguenti campi: keyUsage ed extendedKeyUsage.
  3. Ogni utente che si connette al server MongDB deve disporre di un certificato separato.

Autenticazione Mongodb con Kerberos

Passaggio 1) Configurare MongoDB con l'autenticazione Kerberos su Windows: Kerberos è un meccanismo di autenticazione utilizzato in ambienti client-server di grandi dimensioni.

È un meccanismo molto sicuro in cui la password è consentita solo se è crittografata. Bene, MongoDB ha la possibilità di autenticarsi con un sistema basato su Kerberos esistente.

Passaggio 2) Avvia il processo del server mongod.exe.

Passaggio 3) Avvia il processo client mongo.exe e connettiti al server MongoDB.

Passaggio 4) Aggiungi un utente in MongoDB, che è fondamentalmente un nome principale Kerberos al database $ esterno. Il database $ esterno è un database speciale che dice a MongoDB di autenticare questo utente su un sistema Kerberos invece che sul proprio sistema interno.

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

Passaggio 5) Avvia mongod.exe con il supporto Kerberos utilizzando il seguente comando

mongod.exe -auth -setParameter authenticationMechanisms=GSSAPI

E quindi ora puoi connetterti con l'utente Kerberos e l'autenticazione Kerberos al database.

Sommario:

  • Esistono vari meccanismi di autenticazione per fornire una migliore sicurezza nei database. Un esempio è l'utilizzo di certificati per autenticare gli utenti invece di utilizzare nomi utente e password.