MongoDB Безпека, моніторинг і резервне копіювання (Mongodump)

⚡ Розумний підсумок

MongoDB Безпека, моніторинг та резервне копіювання – це основні концепції адміністрування баз даних, які забезпечують безпеку, доступність та можливість відновлення даних. Цей ресурс охоплює найкращі практики безпеки, резервні копії Mongodump, інструменти моніторингу, поради щодо індексування, механізми автентифікації, сертифікати x.509 та налаштування. MongoDB з автентифікацією Kerberos.

  • 🔒 Безпека: Увімкнути контроль доступу, доступ на основі ролей, шифрування TLS/SSL та аудит.
  • 💾 Резервне копіювання: Скопіюйте файли даних, використовуйте mongodump для дампів BSON або Cloud Manager.
  • 📊 Моніторинг: Використовуйте mongostat, mongotop, веб-інтерфейс та serverStatus.
  • Індексація: Додайте індекси до полів пошуку та обмежте кількість повернутих полів.
  • 🪪 Аутентифікація: Використовуйте сертифікати x.509 або Kerberos для безпечного доступу клієнтів.

MongoDB Безпека, моніторинг та резервне копіювання

Одне з ключових понять в MongoDB – це управління базами даних. Такі важливі аспекти, як безпека, резервне копіювання та доступ до баз даних, є важливими поняттями, коли йдеться про адміністрування баз даних.

MongoDB Огляд безпеки

MongoDB має можливість визначати механізми безпеки для баз даних. За замовчуванням не хотілося б, щоб усі мали відкритий доступ до кожної бази даних у MongoDB, отже, вимога щодо наявності певного механізму безпеки MongoDB це важливо.

Нижче наведено найкращі практики впровадження безпеки в базах даних:

  1. Увімкнути контроль доступу – Створити користувачів, щоб усі програми та користувачі мали певний механізм автентифікації під час доступу до баз даних на MongoDB.
  2. Налаштування керування доступом на основі ролей – Іноді може бути логічна групаping дозволи, які можуть знадобитися, які можна об’єднати в ролі. Потім користувачів можна призначити цим ролям.
  3. Спробуйте налаштувати MongoDB використовувати певний протокол шифрування, такий як TLS або SSL. Ці протоколи можна використовувати для шифрування трафіку, який передається між клієнтом і MongoDB середовищі.
  4. Налаштування аудиту – Адміністраторам зазвичай потрібно знати, хто що робить, що допомагає в подальшому аналізі проблем. Найкращий спосіб – увімкнути аудит у MongoDB.
  5. Запустіть MongoDB екземпляр сервера з окремим ідентифікатором користувача, який має доступ лише до необхідних ресурсів у серверному середовищі.

MongoDB Процедури резервного копіювання – mongodump

При роботі з MongoDBважливо завжди забезпечувати наявність процедури резервного копіювання на випадок, якщо дані в MongoDB пошкоджується з будь-якої причини. Нижче наведено механізми резервного копіювання, доступні всередині MongoDB:

  1. Резервне копіювання базових файлів даних – Це, мабуть, найпростіший механізм. Все, що потрібно зробити, це скопіювати файли даних, на яких MongoDB зберігається, та скопіюйте їх в інше місце, яке в ідеалі має бути іншим сервером.
  2. Резервне копіювання бази даних за допомогою mongodump – Інструмент mongodump читає дані з a MongoDB базу даних та створює високоточні BSON-файли. Потрібно враховувати, що якщо набір даних великий за обсягом, то mongodump може бути дуже ресурсомістким, тому, щоб зменшити цю проблему, утиліту слід запускати на додатковому сервері.
  3. MongoDB Резервне копіювання Cloud Manager - MongoDB Cloud Manager постійно створює резервні копії MongoDB набори реплік і сегментовані кластери, зчитуючи дані oplog з MongoDB середовищі. MongoDB Cloud Manager може створювати відновлення на певний момент часу, зберігаючи дані oplog, щоб мати змогу створювати відновлення в будь-який момент часу для певного набору реплік або сегментованого кластера.

MongoDB Моніторинг

Моніторинг є однією з найважливіших адміністративних дій у MongoDBЦе пояснюється тим, що ви можете бути більш проактивними, моніторячи середовище на предмет можливих проблем, які можуть виникнути. Нижче наведено деякі приклади впровадження моніторингу:

  1. монгостат покаже вам, скільки разів на сервері фактично виконуються операції з базою даних, такі як вставка, запит, оновлення та видалення. Це дає гарне уявлення про те, яке навантаження обробляє сервер, і вкаже, чи потрібні вам додаткові ресурси на сервері, чи, можливо, додаткові сервери для розподілу навантаження.
  2. монготоп tracks та повідомляє про поточну активність читання та запису MongoDB екземпляр, і звітує про цю статистику на основі колекції.
  3. MongoDB надає веб-інтерфейс, який надає діагностичну та моніторингову інформацію на простій веб-сторінці.
  4. Команда serverStatus або db.serverStatus() з оболонки повертає огляд стану бази даних із детальною інформацією про використання диска, використання пам’яті, встановлені з’єднання з MongoDB навколишнє середовище та багато іншого.

MongoDB Індексування та міркування щодо продуктивності

  1. Індекси дуже важливі в будь-якій базі даних і можуть використовуватися для підвищення ефективності пошукових запитів MongoDBЯкщо ви постійно виконуєте пошук у своєму документі, краще додати індекси до полів документа, які використовуються в критеріях пошуку.
  2. Намагайтеся завжди обмежувати кількість повернутих результатів запиту. Припустимо, у вас є кілька назв полів у документі, але ви хочете побачити лише 2 поля з документа. Тоді переконайтеся, що ваш запит спрямований на відображення лише 2 потрібних вам полів, а не всіх.
  3. Якщо ви хочете переглянути певні значення полів, використовуйте лише ці поля в запиті. Не запитуйте всі поля в колекції, якщо вони не потрібні.

MongoDB Механізми автентифікації

У той час як авторизація спрямована на забезпечення доступу клієнта до системи, автентифікація перевіряє, який тип доступу має клієнт. MongoDB після того, як вони будуть авторизовані в системі. Існують різні механізми автентифікації; нижче наведено лише деякі з них.

MongoDB Автентифікація за допомогою сертифікатів x.509

Використовуйте сертифікати x.509 для автентифікації клієнта – сертифікат, по суті, є довіреним підписом між клієнтом та MongoDB Сервер.

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

Щоб забезпечити його роботу, необхідно виконати такі дії:

  1. Дійсний сертифікат необхідно придбати у дійсного стороннього органу влади та встановити на MongoDB Сервер.
  2. Сертифікат клієнта повинен мати такі властивості: один центр сертифікації (CA) повинен видавати сертифікати як для клієнта, так і для сервера, а сертифікати клієнта повинні містити поля keyUsage та extendedKeyUsage.
  3. Кожен користувач, який підключається до MongoDB Сервер повинен мати окремий сертифікат.

Як налаштувати 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.

Поширені запитання

Так. Інструменти моніторингу на основі штучного інтелекту можуть позначати незвичайні шаблони запитів, невдалі входи та підозрілий доступ у MongoDBВони доповнюють вбудований аудит, хоча адміністраторам все одно слід переглядати сповіщення та забезпечувати контроль доступу вручну.

Так. Скрипти на основі штучного інтелекту та хмарні інструменти можуть планувати резервне копіювання Mongodump, перевіряти цілісність даних та пропонувати точки відновлення. MongoDB Atlas також пропонує автоматизоване, безперервне резервне копіювання, що зменшує ручні зусилля, пов'язані із захистом даних.

mongodump створює знімки бази даних BSON на вимогу. MongoDB Cloud Manager постійно зчитує oplog, щоб забезпечити відновлення наборів реплік та сегментованих кластерів у певний момент часу.

Використайте інструмент mongorestore, вказавши його на каталог дампів. Наприклад, mongorestore –db Marketing dump/Marketing завантажує файли BSON назад у вказану базу даних.

Підсумуйте цей пост за допомогою: