Я знаю, что многие ребята используются для запуска MongoDB без аутентификации.
Если вы попробуете запустить аудит безопасности Lynis или Nessus, вы, скорее всего, получите предупреждение «No MongoDB authorization».
Давайте рассмотрим, как вы можете установить аутентификацию для пользователя / базы данных в MongoDB.
Для использования этого руководства вам понадобится работающий MongoDB, используйте любую из нижеприведенных статей для установки сервера MongoDB:
- Как установить MongoDB на Ubuntu (4 шага)
- Как начать работу с MongoDB и NodeJS?
- Изменение порта MongoDB по умолчанию в Ubuntu / CentOS / Windows
Когда работает служба 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 для доступа пользователя к определенной базе данных.