MongoDB Безопасность, мониторинг и резервное копирование (Mongodump)

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

MongoDB Обзор безопасности

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

Ниже приведены лучшие практики при реализации безопасности в базах данных.

  1. Включить контроль доступа. Создавайте пользователей, чтобы все приложения и пользователи имели какой-то механизм аутентификации при доступе к базам данных на компьютере. MongoDB.
  2. Настройка управления доступом на основе ролей – иногда может существовать логическая группа.ping Необходимые разрешения можно объединить в роли. Затем пользователям можно назначить эти роли.
  3. Попробуйте настроить MongoDB использовать какой-либо протокол шифрования, например TLS или SSL. Эти протоколы можно использовать для шифрования трафика, который проходит между клиентом и средой mongo DB.
  4. Настройка аудита – Администраторы обычно должны знать, кто что делает, что помогает в дальнейшем анализе проблем. Лучший способ – включить аудит в MongoDB.
  5. Запустите экземпляр сервера MongDB с отдельным идентификатором пользователя, который имеет доступ к необходимым ресурсам в среде сервера.

Процедуры резервного копирования Mongodb – mongodump

При работе с MongDB важно всегда обеспечивать процедуру резервного копирования на случай, если данные внутри MongoDB повреждается по какой-либо причине.

Ниже приведены механизмы резервного копирования, доступные изнутри. MongoDB

  1. Резервное копирование путем копирования базовых файлов данных – Это, пожалуй, самый простой механизм, все, что нужно сделать, это скопировать файлы данных, на которые MongoDB находится и скопируйте его в другое место, которое в идеале должно быть другим сервером.
  2. Резервное копирование базы данных с помощью mongodump – Инструмент mongodump считывает данные из MongoDB базу данных и создает файлы BSON высокой точности. Что необходимо принять во внимание, так это то, что если набор данных большой по объему, то mongodump может быть очень ресурсоемким, поэтому для смягчения этой проблемы утилиту следует запускать на вторичном сервере.
  3. MongoDB Резервное копирование облачного менеджера – MongoDB Cloud Manager постоянно выполняет резервное копирование MongoDB наборы реплик и сегментированные кластеры путем чтения данных oplog из MongoDB окружающей среды. MongoDB Cloud Manager может создать восстановление на определенный момент времени, сохраняя данные oplog, чтобы в любой момент можно было создать восстановление для определенного набора реплик или сегментированного кластера.

Монгодб Мониторинг

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

Ниже приведены некоторые примеры реализации мониторинга.

  1. монгостат сообщит вам, сколько раз операции с базой данных, такие как вставка, запрос, обновление, удаление и т. д., фактически происходят на сервере. Это даст хорошее представление о том, какую нагрузку обрабатывает сервер, и укажет, нужны ли вам дополнительные ресурсы на сервере или, возможно, дополнительные серверы для распределения нагрузки.
  2. монготоп tracks и сообщает о текущей активности чтения и записи MongoDB экземпляре и сообщает эту статистику для каждой коллекции.
  3. MongoDB предоставляет веб-интерфейс, который предоставляет диагностическую и мониторинговую информацию на простой веб-странице. Вы можете перейти по указанному ниже URL-адресу на вашем локальном сервере, чтобы открыть утилиту веб-администрирования. http://localhost:28017
  4. Команда serverStatus или db.serverStatus() из оболочки возвращает обзор состояния базы данных с подробностями об использовании диска, памяти, установленных соединениях с MongoDB окружающая среда и т. д.

MongoDB Вопросы индексирования и производительности

  1. Индексы очень важны в любой базе данных и могут использоваться для повышения эффективности поисковых запросов в любой базе данных. MongoDB. Если вы постоянно выполняете поиск в своем документе, то лучше добавить индексы к полям документа, которые используются в критериях поиска.
  2. Старайтесь всегда ограничивать количество возвращаемых результатов запроса. Предположим, у вас есть два имени поля в документе, но вы хотите видеть только два поля из документа. Затем убедитесь, что ваш запрос нацелен только на отображение двух необходимых полей, а не всех полей.
  3. Если вы хотите просмотреть определенные значения полей, используйте в запросе только эти поля. Не запрашивайте все поля коллекции, если они не обязательны.

Настроить MongoDB с аутентификацией Kerberos

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

Существуют различные механизмы аутентификации, ниже приведены лишь некоторые из них.

MongoDB Аутентификация с использованием сертификатов x.509

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

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

Чтобы убедиться, что это работает, необходимо выполнить следующие шаги;

  1. Действительный сертификат необходимо приобрести у действующего стороннего органа и установить его на MongoDB Сервер.
  2. Сертификат клиента должен иметь следующие свойства (один центр сертификации (CA) должен выдавать сертификаты как для клиента, так и для сервера. Сертификаты клиента должны содержать следующие поля — keyUsage и ExtendedKeyUsage.
  3. Каждый пользователь, подключающийся к серверу MongDB, должен иметь отдельный сертификат.

Как настроить MongoDB с аутентификацией Kerberos

Ниже приведены шаги по настройке MongoDB с включенной аутентификацией Kerberos Windows:

Шаг 1) Настроить MongoDB с включенной аутентификацией Kerberos Windows
Kerberos — это механизм аутентификации, используемый в крупных средах клиент-сервер.

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

Шаг 2) Серверный процесс mongod.exe
Затем запустите серверный процесс mongod.exe.

Шаг 3) Клиентский процесс mongo.exe и подключение
Затем запустите клиентский процесс mongo.exe и подключитесь к MongoDB сервера.

Шаг 4) Добавить пользователя в MongoDB
По сути, это основное имя Kerberos для базы данных $external. База данных $external — это специальная база данных, которая сообщает MongoDB для аутентификации этого пользователя в системе Kerberos, а не в его собственной внутренней системе.

Настроить MongoDB с аутентификацией Kerberos

use $external
db.createUser(
{
	user: "user1@example.NET",

	roles:[
	{
		role: "read" , db:"Marketing"}
		
	}
		  ]
}

Шаг 5) Начать использовать команду
Запустите mongod.exe с поддержкой Kerberos, используя следующую команду:

mongod.exe –auth –setParameter authenticationMechanisms=GSSAPI

И теперь вы можете подключиться к базе данных с помощью пользователя Kerberos и пройти проверку подлинности Kerberos.

Резюме

  • Очень важно обеспечить безопасность баз данных, чтобы обеспечить безопасность данных в базе данных.
  • Пользователей можно создавать в базе данных с помощью команды createUser. Пользователям можно назначить определенные роли, чтобы предоставить им определенные разрешения в самой базе данных.
  • Администраторы могут быть добавлены для всех баз данных, но только для определенных баз данных. Это достигается путем присвоения роли userAdmin или userAdminAnyDatabase.
  • Всегда делайте резервные копии своих MongoDB среды, чтобы в случае любой катастрофы данные можно было легко восстановить.
  • Всегда следите за своим MongoDB среду, позволяющую проявлять большую инициативу и видеть проблемы до того, как они возникнут.
  • Существуют различные механизмы аутентификации, обеспечивающие лучшую безопасность баз данных. Одним из примеров является использование сертификатов для аутентификации пользователей вместо использования имен пользователей и паролей.

Подведем итог этой публикации следующим образом: