Спонсор публикаций Life-Hack [Жизнь-Взлом]

Life-Hack Уникальный, авторский и единственный в своём роде. Рассказывает самые свежие новости из кибер мира обучает взлому и познакомит вас с кучей полезного софта и расскажет про darknet

MongoDB подвергается различным атакам. Это являются распространенным явлением. Я использую его для хранения данных на моем публичном облачном сервере под управлением Ubuntu Linux. Как защитить и обезопасить сервер MongoDB nosql на операционной системе Linux или Unix?

MongoDB — бесплатный сервер баз данных документов NoSQL с открытым исходным кодом. Он используется веб-приложением для хранения данных на общедоступном сервере. Защита MongoDB имеет решающее значение. Крекеры и хакеры получают доступ к небезопасному MongoDB для кражи данных и удаления данных из непроверенных или плохо настроенных баз данных. В этом руководстве вы узнаете, как защитить MongoDB или сервер, работающий с облачным сервером.

Конфигурации MongoDB

  1. Расположение файла по умолчанию /etc/mongodb.conf
  2. Порт по умолчанию TCP 27017
  3. MongoDB версия сервера: 3.4.1

Ограничение воздействия сети

Отредактируйте /etc/mongodb.conf или /usr/local/etc/mongodb.conf  файл, для этого введите:

Если ваше веб-приложение и MongoDB (mongod сервер) установлены на одной и той же машине, выставьте IP адрес MongoDB на 127.0.0.1. Это отрезает связь напрямую из интернета:

Тем не менее, возможно, что у вас есть два или более серверов вроде:

Как защитить MongoDB на Linux или Unix серверах

Рис.01: Пример современного веб-приложения и MonoDB, работающих внутри вашей VLAN.

Вам нужно привязать mongod к 192.168.1.7, чтобы к нему можно было получить доступ только через VLAN:

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

Изменяем порт по умолчанию

Вы также можете изменить порт по умолчанию, если захотите. В данном примере мы меняем его на 2727:

Сохраните изменения и выйдете их файла. Вам нужно перезапустить MongoDB, для этого введите:

Или если вы используете FreeBSD Unix:

Проверьте открытые порты с помощью команды netstat:

Примеры вывода данных:

Настройка контроля доступа

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

Подключение mongo shell к экземпляру с любым типом аутентификации

Подключение mongo shell к экземпляру с любым типом аутентификации

Подключение к экземпляру DB

Создание пользователя-администратора

Внимание: Создайте пользователя с надежным паролем. Для демонстрационной цели я использую «mySuperSecretePasswordHere», но вы должны использовать сильный пароль.

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

Далее создайте пользовательский vivek в admin базе данных с ролью userAdminAnyDatabase:

Примеры вывода данных:

Отключите mongo shell с помощью ввода следующей команды:

Перезапустите экземпляр MongoDB

Отредактируйте файл /etc/mongodb.conf or /usr/local/etc/mongodb.conf, для этого введите:

Включите безопасность:

Сохраните изменения и закройте файл. Перезапустите экземпляр MongoDB:

Или же если вы используете FreeBSD Unix:

Чтобы выполнить аутентификацию во время соединения с помощью пользовательского vivek и пароля для базы данных администратора:


Спонсор публикаций Marketplace codeby

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


Добавьте дополнительного пользователя в DB. Для начала создайте новую базу данных под названием «nixcraft»:

Создайте пользователя с именем ‘nixdbuser’ и паролем ‘myKoolPassowrd’ для nixcraft db:

Примеры вывода данных:

Теперь вы можете подключиться к nixcraft db следующим образом:

Это гарантирует, что только уполномоченный администратор с именем «vivek» может выполнять команды, или nixdbuser может выполнять операцию чтения / записи на nixcraft db. Вы можете проверить это следующим образом, вставив записи:

Примеры вывода данных:

Включает контроль доступа и обеспечивает аутентификацию

Рис.02: Включает контроль доступа и обеспечивает аутентификацию

Используйте брандмауэр

Используйте брандмауэры, чтобы ограничить доступ других объектов к вашему серверу mongodb. В этом примере разрешите вашим серверам приложений доступ к базе данных с помощью ufw на Ubuntu или Debian Linux

Разрешите SSL

Используйте SSL между вашим клиентом MongoDB и сервером при подключении к вашему серверу Mongodb через Интернет. В противном случае ваша сессия может подвергнуться атаке «человек в середине». Моя настройка такова:

Введите следующую команду – сертификат сервера

Пример вывода данных:

MongoDB SSL сертификат настройки сервера

Рис.03: MongoDB SSL сертификат настройки сервера

Создайте .pem  файл с ключом и сертификатом:

Введите следующую команду – сертификат клиента

Пример вывода данных:

MongoDB SSL устанавливает сертификат клиента

Рис.04: MongoDB SSL устанавливает сертификат клиента

Создайте клиентский файл .pem с ключом и сертификатом:

Настройте mongod и mongos для TLS/SSL сервера

Отредактируйте файл /etc/mongodb.conf or /usr/local/etc/mongodb.conf, для этого введите:

Обновите config файл следующим образом:

Сохраните и закройте файл.Перезапустите экземпляр MongoDB :

Или, если вы используете FreeBSD Unix:

Конфигурация TLS / SSL для MongoDB клиентов

Синтаксис интерфейса mongo shell следующий:

Примеры вывода данных:

Соединение с клиентом MongoDB SSL с использованием SSL-сертификата

Рис.05: Соединение с клиентом MongoDB SSL с использованием SSL-сертификата

Ниже приведен клиент Python для подсоединения к разрешенному SSL MongoDB:

Или

Установите патч и запустите обновленную версию вашей операционной системы и MongoDB

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

<< Контент скрыт от гостей. Зарегистрируйтесь, чтобы снять ограничение ! >>

Это интересно:



Похожие темы

Эмуляция сети из нескольких компьютеров на одном к... Эта инструкция небольшая, но очень полезная. Она пригодится: тестировщикам на проникновение и хакерам: для сканирования с одной операционной си...
Как запустить Metasploit Framework в Kali Linux... Для запуска Metasploit Framework в Kali 2.0 смотрите здесь. Чтобы соответствовать Политике Сетевых Служб (Network Services Policy) Kali Linux, при за...
Установка игры Rift на Linux и Mac OS X... Сразу хочу сказать, что этот анонс чуть опережает своё время — ещё продолжается тестирование, устранение проблем для полноценной и стабильной ...
Установка Kali на HP ARM Chromebook The HP ARM Chromebook — это ультрапортативный лэптоп. Это было довольно сложной задачей, но теперь у нас есть образ Kali который великолепен н...
Установка Linux Malware Detect (LMD) на Linux... Вся инструкция применима, пожалуй, к любому дистрибутиву Linux, по крайней мере, проверялось и точно работает на RHEL, CentOS, Fedora, Debian, Ubunt...