Налаштуйте MongoDB за допомогою автентифікації Kerberos: сертифікати X.509

Зміст:

Anonim

Хоча авторизація спрямована на забезпечення доступу клієнта до системи, аутентифікація перевіряє, який тип доступу має клієнт у MongoDB, як тільки він буде авторизований у системі.

Існують різні механізми автентифікації, нижче наведено лише декілька з них.

Автентифікація MongoDB за допомогою сертифікатів x.509

Використовуйте сертифікати x.509 для автентифікації клієнта - Сертифікат - це, в основному, надійний підпис між клієнтом та сервером MongoDB.

Тому замість введення імені користувача та пароля для підключення до сервера між клієнтом та сервером MongoDB передається сертифікат. Клієнт в основному матиме сертифікат клієнта, який буде переданий серверу для автентифікації на сервері. Кожен сертифікат клієнта відповідає одному користувачеві MongoDB. Отже, кожен користувач з MongoDB повинен мати власний сертифікат, щоб пройти аутентифікацію на сервері MongoDB.

Щоб це працювало, слід дотримуватися наступних кроків;

  1. Дійсний сертифікат потрібно придбати у дійсного стороннього органу та встановити його на сервері MongoDB.
  2. Клієнтський сертифікат повинен мати такі властивості (єдиний Центр сертифікації (CA) повинен видавати сертифікати як для клієнта, так і для сервера. Клієнтські сертифікати повинні містити наступні поля - keyUsage та extensionKeyUsage.
  3. Кожен користувач, який підключається до сервера MongDB, повинен мати окремий сертифікат.

Автентифікація Mongodb за допомогою Kerberos

Крок 1) Налаштування MongoDB за допомогою автентифікації Kerberos у Windows - Kerberos - це механізм автентифікації, що використовується у великих клієнт-серверних середовищах.

Це дуже безпечний механізм, при якому пароль дозволений лише в тому випадку, якщо він зашифрований. Ну, MongoDB має можливість аутентифікації проти існуючої системи на базі Kerberos.

Крок 2) Запустіть процес сервера mongod.exe.

Крок 3) Запустіть процес клієнта mongo.exe і підключіться до сервера MongoDB.

Крок 4) Додайте користувача до MongoDB, який, по суті, є основним іменем Kerberos до зовнішньої бази даних $. Зовнішня база даних $ - це спеціальна база даних, яка вказує MongoDB автентифікувати цього користувача проти системи Kerberos замість власної внутрішньої системи.

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

Крок 5) Запустіть mongod.exe з підтримкою Kerberos, використовуючи таку команду

mongod.exe -auth -setParameter authenticationMechanisms=GSSAPI

І тоді ви можете підключитися до користувача Kerberos та автентифікації Kerberos до бази даних.

Короткий зміст:

  • Існують різні механізми автентифікації для забезпечення кращого захисту баз даних. Одним із прикладів є використання сертифікатів для автентифікації користувачів замість використання імен користувачів та паролів.