Гид по технологиям

Установка и защита MongoDB 4.4 на Debian 11

4 min read Databases Обновлено 26 Nov 2025
Установка и защита MongoDB 4.4 на Debian 11
Установка и защита MongoDB 4.4 на Debian 11

Логотип MongoDB на тёмном фоне с командной строкой

MongoDB — это распространённая открытая документно-ориентированная NoSQL БД, хранящая документы в формате JSON (BSON). Подходит для современных приложений и легко интегрируется с большинством языков программирования. В этой статье показано, как установить MongoDB 4.4 на сервер с Debian 11 и включить базовую защиту (аутентификацию).

Необходимые условия

  • Сервер с Debian 11 (root-доступ или sudo).
  • Настроен root-пароль или пользователь с правами sudo.

Важно: используйте безопасное подключение к серверу (SSH с ключами) при выполнении команд.

Добавление репозитория MongoDB

По умолчанию пакета mongodb-org нет в стандартных репозиториях Debian 11. Добавим официальный APT-репозиторий MongoDB.

Сначала установим необходимые зависимости:

apt-get install curl apt-transport-https software-properties-common gnupg2 -y

Затем загрузим и добавим GPG-ключ:

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -

Добавим репозиторий в файл sources.list.d:

echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | tee /etc/apt/sources.list.d/mongodb-org.list

Примечание: в некоторых руководствах для Debian 11 используют строку с “buster” — если при обновлении APT вы получите ошибки, проверьте совместимость репозитория с вашей версией дистрибутива и релизом пакета.

Обновим индексы и установим сервер MongoDB:

apt-get update -y  
apt-get install mongodb-org -y

После установки запустите и включите службу, чтобы она стартовала при перезагрузке:

systemctl start mongod  
systemctl enable mongod

Проверьте версию сервера:

mongod --version

Пример ожидаемого вывода (информативно):

db version v4.4.9
Build Info: {
    "version": "4.4.9",
    "gitVersion": "b4048e19814bfebac717cf5a880076aa69aba481",
    "openSSLVersion": "OpenSSL 1.1.1k  25 Mar 2021",
    "modules": [],
    "allocator": "tcmalloc",
    "environment": {
        "distmod": "debian10",
        "distarch": "x86_64",
        "target_arch": "x86_64"
    }
}

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

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

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

mongo

Создайте базу admin и административного пользователя (замените пароль на надёжный):

> use admin
> db.createUser(  
{  
user: "madmin",  
pwd: "password",  
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]  
}  
)

Примечание: обязательно замените “password” на сложный пароль и храните его в безопасном менеджере секретов.

Вы должны увидеть подтверждение об успешном добавлении пользователя.

Выйдите из оболочки (CTRL+D) и отредактируйте файл конфигурации:

nano /etc/mongod.conf

Добавьте следующие строки для включения авторизации:

security:
 authorization: enabled

Сохраните файл и перезапустите службу:

systemctl restart mongod

Важно: после включения авторизации локальные подключения без учётных данных будут отклоняться. Убедитесь, что вы правильно добавили администратора.

Проверка подключения с авторизацией

Подключитесь к оболочке с указанием имени пользователя (вам будет предложено ввести пароль):

mongo -u madmin -p

Пример успешного входа:

MongoDB shell version v4.4.9
Enter password: 
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("8366d28f-55d3-4471-bd94-331329828181") }
MongoDB server version: 4.4.9
> 

Покажите пользователей в базе admin:

> use admin  
> show users

Ожидаемый вывод с информацией о созданном пользователе и поддерживаемых механизмах аутентификации.

Удаление MongoDB

Если MongoDB больше не нужен, удалите службу и данные.

Остановите службу:

systemctl stop mongod

Удалите пакет и связанные конфигурации:

apt-get remove mongodb-org --purge

Удалите каталог данных (и журналы, если нужно):

rm -rf /var/lib/mongodb

Дополнительно: проверьте и удалите /var/log/mongodb, если вы хотите полностью очистить следы установки.

Базовое усиление безопасности

  • Ограничьте доступ: настройте bind_ip в /etc/mongod.conf (например, 127.0.0.1 или конкретные IP). По умолчанию MongoDB слушает на localhost.
  • Межсетевой экран: откройте порт 27017 только для доверенных хостов или через VPN.
  • Включите TLS/SSL для шифрования трафика между клиентами и сервером (используйте реальные сертификаты).
  • Используйте SCRAM-SHA-256 (MongoDB поддерживает SCRAM-SHA-1 и SCRAM-SHA-256). Предпочтительнее SCRAM-SHA-256.
  • Регулярно делайте резервные копии данных и проверяйте восстановление.
  • Ограничьте системные привилегии процесса mongod и используйте AppArmor/SELinux, если требуется.

Чек-листы по ролям

Администратор БД:

  • Установить и обновить MongoDB.
  • Создать административных пользователей и смарт-политику ролей.
  • Настроить бэкапы и мониторинг.

DevOps / Системный инженер:

  • Настроить systemd unit, логирование и мониторинг (journalctl, Exporter).
  • Защитить сеть (firewall, VPN, TLS).
  • Обеспечить восстановление и процедуру отката.

Разработчик:

  • Тестировать подключения с учётными данными, использовать безопасное хранилище конфигурации.
  • Минимизировать привилегии приложений.

Отладка и распространённые проблемы

  • Служба не запускается: проверьте журнал systemd:
journalctl -u mongod -b --no-pager
  • Проблемы с портом/прослушиванием: проверьте netstat или ss и bind_ip в конфигурации.
  • Ошибки аутентификации: убедитесь, что пользователь создан в базе admin и вы используете правильную механику аутентификации.
  • Если пакеты не находятся в репозитории: проверьте файл /etc/apt/sources.list.d/mongodb-org.list и доступ к интернету.

Критерии приёмки:

  • mongod запущен и активен (systemctl status mongod).
  • Вход по madmin успешен, show users показывает созданного администратора.
  • Доступ к порту 27017 ограничен фаерволом.

Альтернативные варианты установки

  • Docker: запуск MongoDB в контейнере для изоляции и простоты деплоя.
  • Официальные пакеты для других версий дистрибутивов — сверяйтесь с документацией MongoDB.
  • Менеджеры конфигурации (Ansible/Chef) для автоматизации установки и конфигурации.

Миграция и совместимость

Перед обновлением версии MongoDB:

  • Проверьте совместимость формата данных и нативные изменения между релизами на официальном сайте.
  • Сделайте полную резервную копию.
  • Тестируйте обновление на тестовом стенде перед продакшеном.

FAQ

Q: Можно ли подключаться к MongoDB удалённо после установки?

A: Да, но нужно настроить bind_ip и открыть порт на фаерволе. Рекомендуется использовать TLS и ограничивать доступ по IP/VPN.

Q: Как сменить пароль администратора?

A: Войдите в mongo с правами администратора и используйте db.changeUserPassword(‘madmin’, ‘newPassword’).

Q: Подходит ли этот метод для продакшена?

A: Это базовая инструкция. Для продакшен-среды дополнительно настройте TLS, бэкапы, мониторинг, репликацию и более строгие политики доступа.

Итог

Вы установили MongoDB 4.4 на Debian 11, создали административного пользователя и включили авторизацию. Дальше — настройка TLS, резервного копирования и мониторинга для промышленной эксплуатации.

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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство