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

Мануал

Я знаю, что многие ребята используются для запуска MongoDB без аутентификации.

Если вы попробуете запустить аудит безопасности Lynis или Nessus, вы, скорее всего, получите предупреждение «No MongoDB authorization».

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

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

Когда работает служба 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 для доступа пользователя к определенной базе данных.

Добавить комментарий