Как настроить аутентификацию MongoDB 3.x / 4.x

Как настроить аутентификацию MongoDB 3.x / 4.x

 

Я знаю, что многие парни привыкли запускать MongoDB без аутентификации. Если вы попробуете аудит безопасности Lynis или Nessus, вы, скорее всего, получите предупреждение « Нет авторизации MongoDB ». Давайте рассмотрим, как вы можете установить аутентификацию для пользователя / базы данных в MongoDB.

Чтобы использовать это руководство, вам нужен работающий MongoDB. Для установки сервера MongoDB используйте любую из следующих статей:

Как установить MongoDB 4 на CentOS 7

Как установить последнюю версию MongoDB на Ubuntu 18.04 / Ubuntu 16.04

Когда служба mongod запущена, подключитесь к ней с помощью mongoинструмента командной строки

# mongo --port 27017

Затем создайте учетную запись пользователя с ролью « root » в качестве администратора базы данных.

> use testdb;
switched to db testdb
> db.createUser(
  {
    user: "dbadmin",
    pwd: "StrongPassword",
    roles: [ { role: "root", db: "admin" } ]
  }
)
> exit
bye

Откройте файл /etc/mongod.conf и включите аутентификацию

security:
  authorization: enabled

Перезапустите MongoDB

sudo systemctl restart mongod

Проверьте, подключившись testdb как dbadminпользователь.

mongo --port 27017 -u "dbadmin" -p --authenticationDatabase "testdb"

При запросе пароля введите пароль, который вы установили.

MongoDB shell version v4.0.2
Enter password: 
connecting to: mongodb://127.0.0.1:27017/
MongoDB server version: 4.0.2
Server has startup warnings: 
2018-09-11T22:02:40.821+0000 I CONTROL  [initandlisten] 
2018-09-11T22:02:40.821+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2018-09-11T22:02:40.821+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2018-09-11T22:02:40.821+0000 I CONTROL  [initandlisten] 
2018-09-11T22:02:40.821+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2018-09-11T22:02:40.821+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2018-09-11T22:02:40.821+0000 I CONTROL  [initandlisten] 
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).

The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.

To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
>

Теперь у вас есть рабочая аутентификация MongoDB для доступа пользователя к определенной базе данных.

3 комментария

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

4 × два =