Риск: Критический 9.8 Critical CWE-306: Missing Authentication for Critical Function

Открытый порт MongoDB: почему базу сливают за 5 минут

Стандартный сетевой порт СУБД MongoDB — 27017. По умолчанию в старых версиях авторизация могла быть отключена.

Если порт открыт во внешний интернет, автоматические скрипты вымогателей подключаются к СУБД, удаляют базы и оставляют требование выкупа в биткоинах.

Степень критичности и чем опасна уязвимость

Мгновенная потеря всех данных проекта и компрометация конфиденциальной информации клиентов.

Вектор атаки: Автоматизированные сканеры и поисковые ботнеты постоянно исследуют интернет по данной сигнатуре. При обнаружении уязвимости атака запускается в автоматическом режиме без участия человека.

Как наш сканер находит эту уязвимость

Сканер пассивно проверяет доступность стандартного порта 27017 из публичной сети.

Проверка защищенности хранилищ данных производится тестированием открытости стандартных портов и HTTP-шлюзов с проверкой флагов авторизации. Сканер не выполняет SQL-запросов и команд выборки, ограничиваясь диагностикой сетевого рукопожатия и заголовков ответа сервиса.

Как устранить уязвимость (Пошаговое руководство)

Для ликвидации риска выполните следующие действия в конфигурации вашего сервера или приложения:

Безопасная конфигурация mongod.conf
      # В файле /etc/mongod.conf привяжите сервис к локальному адресу:
net:
  bindIp: 127.0.0.1
  port: 27017
security:
  authorization: enabled
    
  • Привяжите MongoDB строго к 127.0.0.1.
  • Включите обязательную авторизацию (security.authorization: enabled).
  • Закройте порт 27017 файрволом UFW.

Анатомия атаки и реальные последствия для проекта

Публично доступный порт 27017 MongoDB без аутентификации сканируется ботами-вымогателями. Бот подключается, копирует базу данных, удаляет оригинал и оставляет коллекцию WARNING с требованием выкупа в Bitcoin.

Финансовые и юридические риски: Публичный порт 27017 MongoDB без авторизации приводит к мгновенной краже коллекций BSON ботами-вымогателями, безвозвратному удалению документов клиентов и требованию выкупа в криптовалюте Bitcoin.

Влияние на соответствие стандартам: Нарушение требований защиты баз данных PCI-DSS v4.0 Req 3, требований GDPR к защите персональных идентификаторов и стандарта ISO/IEC 27001 (A.8.24).

Матрица эшелонированной защиты (Defense-in-Depth)

Уровень защиты Техническое действие Инструмент / Механизм
Сетевой экран (UFW / Security Group) Блокировка порта 27017 на внешнем интерфейсе сервера (ufw deny 27017/tcp) Linux UFW / iptables
Конфигурация mongod.conf Привязка net.bindIp строго к 127.0.0.1 и включение security.authorization: enabled MongoDB Config Daemon
Мониторинг периметра Регулярная проверка сетевых сокетов на наличие слушающих внешних портов СУБД Site Check Port Scanner

Верификация устранения: команды для быстрой проверки

После внесения изменений в настройки сервера или исходный код приложения проверьте отсутствие уязвимости с помощью терминальных утилит:

Терминал: Проверка эндпоинта и заголовков ответа
nc -zv ваш-домен.com 27017 2>&1 | grep "open"
# Порт должен быть закрыт (фильтроваться файрволом)
    

Рекомендации DevSecOps для безопасного развертывания

В файле /etc/mongod.conf установите net.bindIp: 127.0.0.1 и включите security.authorization: enabled. Заблокируйте порт 27017 в UFW / iptables.

Контрольный чеклист инженера безопасности:
  • ✓ Закрыть порты 5432, 6379, 27017, 9200 на внешнем сетевом интерфейсе сервера
  • ✓ Включить криптографическую аутентификацию со сложными сгенерированными паролями
  • ✓ Настроить создание резервных копий с шифрованием и изоляцией в холодном хранилище
  • ✓ Проверить права доступа публичных бакетов и включить блокировку Public Access

Часто задаваемые вопросы по устранению

Почему боты находят открытую MongoDB так быстро?
Ботнеты непрерывно сканируют подсети провайдеров по порту 27017 и подключаются стандартным клиентом без ввода учетных данных.
Как безопасно администрировать базу данных удаленно?
Настройте защищенный туннель SSH (ssh -L 27017:127.0.0.1:27017 user@server) либо подключайтесь через внутренний WireGuard VPN.
Экспертное резюме инженера по информационной безопасности

Открытые во внешнюю сеть СУБД (PostgreSQL, Redis, MongoDB, Elasticsearch) или публичные бакеты S3 служат первоочередной мишенью программ-вымогателей (Ransomware). Обязательна сетевая изоляция через файрвол (UFW/iptables), включение криптографической аутентификации SCRAM/TLS и применение принципа минимальных привилегий доступа.

Для предотвращения вектора «Открытый порт MongoDB: почему базу сливают за 5 минут» зафиксируйте проверочные правила в CI/CD пайплайне и настройте непрерывный мониторинг внешнего периметра через Site Check.