Проверка, открыты ли порты баз данных для интернета

Хост
Сканируйте только хосты, которыми вы владеете, или на которые у вас есть явное разрешение на сканирование. Проверка затрагивает около 20 известных TCP-портов.
Далее

База данных, которая отвечает в публичном интернете, одна из самых частых ошибок на серверах. Укажите свой сервер и проверьте, принимает ли MySQL (3306), PostgreSQL (5432) или Redis (6379) подключение извне. Если ни один из них не появился в списке, отсюда они недоступны.

Как проверить, открыты ли базы данных

  1. 1

    Укажите адрес сервера

    Используйте публичное имя хоста или IP-адрес машины, на которой работает база данных.

  2. 2

    Запустите сканирование

    Нажмите «Далее», затем «Сканировать распространенные порты».

  3. 3

    Проверьте 3306, 5432 и 6379

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

  4. 4

    Закройте то, что должно быть приватным

    Привяжите службу к приватному адресу или закройте порт в брандмауэре, затем просканируйте снова.

Почему важна открытость

Базы данных и кэши создаются для того, чтобы к ним обращалось ваше приложение, а не посторонние. Redis в настройках по умолчанию часто работает без пароля, а доступный порт MySQL или PostgreSQL провоцирует подбор паролей. Держать эти порты вне публичного интернета: базовая мера предосторожности.

Что означает каждый результат

Порт Служба Если порт в списке
3306 MySQL Сервер принимает TCP-подключения из интернета
5432 PostgreSQL То же самое, проверьте правила доступа и адрес привязки
6379 Redis То же самое, проверьте пароль и приватный адрес привязки

Открытый порт не означает, что база данных не защищена. Аутентификация и правила для хостов по-прежнему могут отклонить вход. Он означает, что служба доступна и ее стоит проверить внимательнее.

Типичные исправления

  1. Привяжите базу данных к localhost или приватной сети.
  2. Добавьте правило брандмауэра, которое разрешает порт только с ваших серверов приложений.
  3. Для облачных серверов проверьте также группу безопасности или сетевой ACL, а не только брандмауэр хоста.
  4. Просканируйте снова, чтобы убедиться, что порт больше не отображается.

Ограничения этой проверки

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

Когда открытость намеренная

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

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

Часто задаваемые вопросы

Нет. Он только открывает TCP-подключение к порту и сообщает, было ли оно принято. Учетные данные не отправляются, запросы не выполняются.

Нет. Проверяются только стандартные порты из фиксированного списка, поэтому база на другом порту не проверяется.

Не всегда, так как его могут защищать аутентификация и шифрование. Но открытость расширяет поверхность атаки, поэтому большинство конфигураций держит эти порты закрытыми.

Брандмауэр может разрешать только адрес вашего офиса. Сканирование идет с другого публичного адреса, поэтому оно видит то, что видят все остальные, и в этом и заключается смысл проверки.

Сопутствующие инструменты

Проверка SSL-сертификата

Проверьте сертификат SSL/TLS, который узел отдаёт на порту 443: субъект, издатель, даты действия, дни до истечения, SAN и алгоритм подписи.

Проверка HTTP-заголовков

Осмотрите каждый HTTP-заголовок ответа, возвращаемый URL, чтобы отладить кэширование, CORS, сжатие и проблемы безопасности.

Инструмент проверки возраста доменных имен

Узнайте, когда домен был впервые зарегистрирован, а также его возраст в годах, месяцах и днях с использованием данных WHOIS из реестра.

Инструмент Traceroute

Запустите traceroute до любого хоста через проверенные публичные сервисы зондирования и научитесь читать вывод хоп за хопом, чтобы находить скачки задержки, потери пакетов и проблемы маршрутизации.

Инструмент для скриншотов сайтов

Введите любой публичный URL и получите мгновенный предпросмотр скриншота, затем откройте его в бесплатных сервисах вроде Screenshot Machine, Urlbox или ApiFlash либо посмотрите старые снимки на Wayback Machine.

Проверка доступности сайта

Проверьте, отвечает ли сайт с независимого сервера. Показывает статус UP или DOWN, код ответа HTTP, время ответа и IP сервера, чтобы вы могли отличить реальный сбой от проблемы вашей сети.

Инструмент доступен на других языках

Руководства и сценарии использования