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

Установка и защита 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
Автор
Редакция

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

Как устроить идеальную вечеринку для просмотра ТВ
Развлечения

Как устроить идеальную вечеринку для просмотра ТВ

Как распаковать несколько RAR‑файлов сразу
Инструменты

Как распаковать несколько RAR‑файлов сразу

Приватный просмотр в Linux: как и зачем
Приватность

Приватный просмотр в Linux: как и зачем

Windows 11 не видит iPod — способы исправить
Руководство

Windows 11 не видит iPod — способы исправить

PS5: как настроить игровые пресеты
Консоли

PS5: как настроить игровые пресеты

Как переключить камеру в Omegle на iPhone и Android
Руководство

Как переключить камеру в Omegle на iPhone и Android