Безопасная настройка сервера производства MongoDB

Published by Leave your thoughts

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

Чтобы получить инструкции по установке MongoDB, читайте данную статью.

Примечание: официальную документацию MongoDB можно найти по этой ссылке.

Существует два разных подхода, позволяющих получить доступ к MongoDB. Первый — безопасное подключение через SSH-туннель; второй — открытый доступ к базе данных через Интернет. Конечно, первый способ более безопасен.

Подключение к MongoDB через SSH-туннель

Подключаясь к виртуальному выделенному серверу через SSH-туннель, можно избежать многих потенциальных угроз безопасности. Проблема этого подхода заключается в том, что VPS необходимо полностью заблокировать, оставив открытыми лишь несколько необходимых портов. Рекомендуемая настройка SSH: авторизация при помощи ключа или комбинации «ключ + пароль».

Чтобы настроить SSH-туннель, нужно убедиться, что:

  • Сервер Mongo поддерживает соединения SSH;
  • база данных Mongo связана с локальным хостом.

Затем запустите следующую команду для инициализации соединения:

# The \s are just to multiline the command and make it more readable
ssh \
-L 4321:localhost:27017 \
-i ~/.ssh/my_secure_key \
ssh_user@mongo_db_server_host_or_ip

Данная команда выполняет следующие действия:

  1. для создания SSH-туннеля нужен только SSH — никаких дополнительных программ и специальных бинарных файлов.
  2. опция -L создаёт SSH-туннель, используя порт 4321 текущей машины, который будет взаимодействовать с портом 27017 хоста «localhost» сервера Mongo.
  3. опция -i говорит, что при создании подключения будет использован SSH-ключ, но не пароль.
  4. строка ssh_user@mongo_db_droplet_host_or_ip — стандартная при создании подключения SSH.

Основной частью команды является опция -L; именно она сообщает приложениям и сервисам, как подключаться к серверу MongoDB.

Подключение через Интернет

Если же SSH-туннелирование вам не подходит, создайте подключение через Интернет. Этот вариант менее безопасен, чем предыдущий, однако существует несколько стратегий повышения безопасности подключения через интернет.

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

# Откройте конфигурационный файл MongoDB и измените значение следующей строки
port = 27017

Второй способ – привязать MongoDB к IP-адресу сервера приложений; тогда MongoDB сможет только принимать подключения.

# Откройте конфигурационный файл MongoDB и укажите IP сервера приложений
bind_ip = 127.0.0.1

В завершение необходимо настроить аутентификацию MongoDB и установить имя пользователя и пароль; для этого подключитесь к MongoDB в качестве администратора с помощью команды mongo.

Заключение

Пожалуйста, примите к сведению все вышеперечисленные рекомендации по обеспечению безопасности MongoDB. Одним из важнейших условий безопасности, не упомянутым в этой статье, являются фаерволы; в официальной документации можно найти топ 10 фаерволов для MongoDB.

Tags: , , ,

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>