Skonfiguruj MongoDB z uwierzytelnianiem Kerberos: certyfikaty X.509

Spisie treści:

Anonim

Podczas gdy autoryzacja polega na zapewnieniu klientowi dostępu do systemu, uwierzytelnianie sprawdza, jaki typ dostępu ma klient w MongoDB po autoryzacji do systemu.

Istnieją różne mechanizmy uwierzytelniania, poniżej przedstawiamy tylko kilka z nich.

Uwierzytelnianie MongoDB przy użyciu certyfikatów x.509

Użyj certyfikatów x.509 do uwierzytelnienia klienta - certyfikat jest w zasadzie zaufanym podpisem między klientem a serwerem MongoDB.

Dlatego zamiast wpisywać nazwę użytkownika i hasło w celu połączenia się z serwerem, między klientem a serwerem MongoDB przekazywany jest certyfikat. Zasadniczo klient będzie miał certyfikat klienta, który zostanie przesłany do serwera w celu uwierzytelnienia na serwerze. Każdy certyfikat klienta odpowiada jednemu użytkownikowi MongoDB. Dlatego każdy użytkownik z MongoDB musi mieć własny certyfikat, aby móc uwierzytelnić się na serwerze MongoDB.

Aby to działało, należy wykonać następujące kroki;

  1. Ważny certyfikat należy kupić od ważnego organu zewnętrznego i zainstalować go na serwerze MongoDB.
  2. Certyfikat klienta musi mieć następujące właściwości (jeden ośrodek certyfikacji (CA) musi wystawiać certyfikaty zarówno dla klienta, jak i serwera. Certyfikaty klienta muszą zawierać następujące pola - keyUsage i extendedKeyUsage.
  3. Każdy użytkownik, który łączy się z serwerem MongDB, musi mieć oddzielny certyfikat.

Uwierzytelnianie Mongodb za pomocą protokołu Kerberos

Krok 1) Skonfiguruj MongoDB z uwierzytelnianiem Kerberos w systemie Windows - Kerberos to mechanizm uwierzytelniania używany w dużych środowiskach klient-serwer.

Jest to bardzo bezpieczny mechanizm, w którym hasło jest dozwolone tylko wtedy, gdy jest zaszyfrowane. Cóż, MongoDB ma możliwość uwierzytelniania w istniejącym systemie opartym na protokole Kerberos.

Krok 2) Uruchom proces serwera mongod.exe.

Krok 3) Uruchom proces klienta mongo.exe i połącz się z serwerem MongoDB.

Krok 4) Dodaj użytkownika w MongoDB, który jest w zasadzie główną nazwą Kerberos do zewnętrznej bazy danych $. Baza danych $ external to specjalna baza danych, która informuje MongoDB o uwierzytelnieniu tego użytkownika w systemie Kerberos zamiast we własnym systemie wewnętrznym.

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

Krok 5) Uruchom mongod.exe z obsługą protokołu Kerberos za pomocą następującego polecenia

mongod.exe -auth -setParameter authenticationMechanisms=GSSAPI

Następnie możesz teraz połączyć się z użytkownikiem Kerberos i uwierzytelnianiem Kerberos w bazie danych.

Podsumowanie:

  • Istnieją różne mechanizmy uwierzytelniania zapewniające większe bezpieczeństwo w bazach danych. Jednym z przykładów jest użycie certyfikatów do uwierzytelniania użytkowników zamiast używania nazw użytkowników i haseł.