Как установить и защитить MongoDB в Ubuntu 22.04

27 feb 2023 4 min di lettura
Как установить и защитить MongoDB в Ubuntu 22.04
Indice dei contenuti

Введение

MongoDB — документно-ориентированная (нереляционная) база данных NoSQL. Он был разработан для обработки больших объемов разнородных данных и масштабирования, что означает, что он может обрабатывать большие объемы данных на нескольких серверах.

В MongoDB данные сохраняются в документах JSON (JavaScript Object Notation), что означает, что данные могут быть легко прочитаны и записаны приложениями на различных языках программирования. Кроме того, MongoDB поддерживает индексирование данных, поиск и запросы, что позволяет разработчикам легко находить и эффективно обрабатывать данные.

MongoDB популярен в различных приложениях, таких как веб-приложения, службы геолокации, приложения для анализа данных и многое другое. Благодаря своей масштабируемости MongoDB может эффективно обрабатывать большие объемы данных и может быть легко развернута в облаке или в распределенной серверной инфраструктуре.

В этой статье мы затронем следующие темы:

  • Установка MongoDB на Ubuntu 22.04
  • Защитите MongoDB паролем
  • Включение аутентификации для MongoDB
  • Ограничить доступ к MongoDB
  • Открытие порта в брандмауэре с помощью UFW

Предпосылки

Прежде чем продолжить, убедитесь, что у вас установлена новая версия Ubuntu 22.04 и пользователь без полномочий root с привилегиями sudo. Кроме того, убедитесь, что ваша система обновлена, выполнив следующую команду:

sudo apt update and sudo apt upgrade
sudo apt install gnupg2

Как только ваша система будет обновлена, мы можем приступить к установке MongoDB.

Установить MongoDB

Установка MongoDB в Ubuntu — относительно простой процесс. Вы можете установить его с помощью диспетчера пакетов Ubuntu или загрузить непосредственно с веб-сайта MongoDB.

Следующие шаги позволят настроить официальный MongoDB PPA в вашей системе Ubuntu и установить его:

Импортируйте GPG-ключ MongoDB:

wget -nc https://www.mongodb.org/static/pgp/server-6.0.asc
cat server-6.0.asc | gpg --dearmor | sudo tee /etc/apt/keyrings/mongodb.gpg >/dev/null

Эти команды импортируют ключ GPG для репозитория MongoDB, который используется для проверки подлинности пакетов в репозитории.

Добавьте репозиторий MongoDB в менеджер пакетов вашей системы:

sudo sh -c 'echo "deb [ arch=amd64,arm64 signed-by=/etc/apt/keyrings/mongodb.gpg] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" >> /etc/apt/sources.list.d/mongo.list'

Эта команда добавит репозиторий MongoDB в список репозиториев в диспетчере пакетов вашей системы.

Обновите список доступных пакетов:

sudo apt update

Эта команда обновит список доступных пакетов, чтобы включить пакеты в репозиторий MongoDB.

Установите MongoDB:

sudo apt install mongodb-org

Эта команда установит последнюю стабильную версию MongoDB из репозитория MongoDB.

Запустите службу MongoDB:

sudo systemctl start mongod

Эта команда запустит службу MongoDB.

Вышеуказанные шаги позволят успешно установить MongoDB в системе Ubuntu.

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

Защитите MongoDB паролем

По умолчанию MongoDB не требует пароля для доступа к базе данных. Однако рекомендуется установить пароль для защиты базы данных и предотвращения несанкционированного доступа.

Чтобы установить пароль для MongoDB, выполните следующие действия:

Подключитесь к оболочке MongoDB:

mongosh

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

Переключитесь на базу данных администратора:

use admin

Эта команда переключится на базу данных admin, которая используется для управления пользователями и ролями в базе данных.

db.createUser({
 user: "admin",
 pwd: "password",
 roles: [ { role: "root", db: "admin" } ]
 })

Замените admin и password желаемыми именем пользователя и паролем для нового пользователя. Эта команда создаст нового пользователя с ролью root в базе данных admin. Роль root имеет полный доступ ко всем ресурсам и функциям базы данных.

Выйдите из оболочки MongoDB:

exit

Включить аутентификацию

По умолчанию MongoDB не требует аутентификации для доступа к базе данных. Однако рекомендуется включить аутентификацию для защиты базы данных и предотвращения несанкционированного доступа.

Чтобы включить аутентификацию для MongoDB, выполните следующие действия:

Отредактируйте файл конфигурации MongoDB:

sudo nano /etc/mongod.conf

Эта команда откроет файл конфигурации MongoDB в текстовом редакторе Nano.

Найдите раздел безопасности в файле конфигурации и добавьте следующие строки:

security:
 authorization: enabled

Это активирует функцию авторизации для MongoDB, которая требует, чтобы пользователи аутентифицировались с помощью имени пользователя и пароля для доступа к базе данных.

Сохраните изменения и выйдите из текстового редактора.

Перезапустите службу MongoDB:

sudo systemctl restart mongod

Эта команда применит изменения конфигурации MongoDB и перезапустит службу.

Ограничение доступа к MongoDB

По умолчанию MongoDB разрешает подключения с любого IP-адреса. Однако для повышения безопасности рекомендуется ограничить доступ к базе данных определенными IP-адресами или диапазонами.

Чтобы ограничить доступ к MongoDB, выполните следующие действия:

Отредактируйте файл конфигурации MongoDB:

sudo nano /etc/mongod.conf

Эта команда откроет файл конфигурации MongoDB в текстовом редакторе Nano.

Найдите раздел net в файле конфигурации и добавьте следующие строки:

net:
 bindIp: 127.0.0.1,192.168.1.0/24

Замените 127.0.0.1,192.168.1.0/24 нужными IP-адресами или диапазонами, которые необходимо разрешить. Это ограничит доступ к базе данных указанными адресами или диапазонами IP-адресов.

Сохраните изменения и выйдите из текстового редактора.

Перезапустите службу MongoDB:

sudo systemctl restart mongod

Эта команда применит изменения конфигурации MongoDB и перезапустит службу.

Открытый порт брандмауэра (UFW)

Чтобы открыть порт MongoDB (27017) в брандмауэре в системе с запущенным ufw, сделайте следующее:

Проверьте состояние брандмауэра:

sudo ufw status

Эта команда покажет текущее состояние брандмауэра. Если ваш брандмауэр не работает, вам необходимо запустить его, прежде чем вы сможете открыть порт MongoDB.

Если брандмауэр не активен, запустите его, выполнив следующую команду:

sudo ufw enable

Эта команда включит брандмауэр и разрешит входящие подключения к системе.

Откройте порт MongoDB в брандмауэре:

sudo ufw allow 27017

Эта команда откроет порт MongoDB (27017) в брандмауэре и разрешит входящие подключения к порту.

Проверьте список открытых портов, чтобы убедиться, что порт MongoDB открыт:

sudo ufw status

После этих шагов порт MongoDB должен быть открыт в вашем брандмауэре, и вы сможете подключаться к базе данных из других систем.

Заключение

В этой статье мы объяснили, как установить и защитить MongoDB в Ubuntu 22.04. Мы рассмотрели, как установить MongoDB, установить пароль, включить аутентификацию для базы данных и ограничить доступ к определенным IP-адресам или диапазонам. Следуя этим шагам, вы можете убедиться, что ваша установка MongoDB безопасна и доступна только авторизованным пользователям.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.