Проверка, открыты ли порты баз данных для интернета
База данных, которая отвечает в публичном интернете, одна из самых частых ошибок на серверах. Укажите свой сервер и проверьте, принимает ли MySQL (3306), PostgreSQL (5432) или Redis (6379) подключение извне. Если ни один из них не появился в списке, отсюда они недоступны.
Как проверить, открыты ли базы данных
-
1
Укажите адрес сервера
Используйте публичное имя хоста или IP-адрес машины, на которой работает база данных.
-
2
Запустите сканирование
Нажмите «Далее», затем «Сканировать распространенные порты».
-
3
Проверьте 3306, 5432 и 6379
Если любой из них есть в списке, эта служба принимает подключения из интернета.
-
4
Закройте то, что должно быть приватным
Привяжите службу к приватному адресу или закройте порт в брандмауэре, затем просканируйте снова.
Почему важна открытость
Базы данных и кэши создаются для того, чтобы к ним обращалось ваше приложение, а не посторонние. Redis в настройках по умолчанию часто работает без пароля, а доступный порт MySQL или PostgreSQL провоцирует подбор паролей. Держать эти порты вне публичного интернета: базовая мера предосторожности.
Что означает каждый результат
| Порт | Служба | Если порт в списке |
|---|---|---|
| 3306 | MySQL | Сервер принимает TCP-подключения из интернета |
| 5432 | PostgreSQL | То же самое, проверьте правила доступа и адрес привязки |
| 6379 | Redis | То же самое, проверьте пароль и приватный адрес привязки |
Открытый порт не означает, что база данных не защищена. Аутентификация и правила для хостов по-прежнему могут отклонить вход. Он означает, что служба доступна и ее стоит проверить внимательнее.
Типичные исправления
- Привяжите базу данных к localhost или приватной сети.
- Добавьте правило брандмауэра, которое разрешает порт только с ваших серверов приложений.
- Для облачных серверов проверьте также группу безопасности или сетевой ACL, а не только брандмауэр хоста.
- Просканируйте снова, чтобы убедиться, что порт больше не отображается.
Ограничения этой проверки
Проверяются только три стандартных порта. База данных на нестандартном порту не обнаруживается. Закрытый, отфильтрованный и недоступный порт дают одинаковый пустой результат, поэтому чистое сканирование означает лишь, что эти порты не приняли подключение отсюда, и ничего больше. Сканируйте только серверы, которыми вы владеете или управляете.
Когда открытость намеренная
Некоторые конфигурации намеренно открывают базу данных, например управляемую службу, которая принимает подключения из списка разрешенных адресов, или реплику, к которой подключаются другие регионы. В этом случае открытый порт в сканировании ожидаем. Вопрос в том, действительно ли список разрешенных адресов ограничивает доступ. Проверить это можно, убедившись, что порт ведет себя так, как вы задумали, с адресов вне этого списка.
Если открытость не планировалась, считайте открытый порт базы данных проблемой, которую нужно исправить сегодня, а затем просмотрите журналы базы данных на предмет попыток подключения с адресов, которые вы не узнаете.
Часто задаваемые вопросы
Нет. Он только открывает TCP-подключение к порту и сообщает, было ли оно принято. Учетные данные не отправляются, запросы не выполняются.
Нет. Проверяются только стандартные порты из фиксированного списка, поэтому база на другом порту не проверяется.
Не всегда, так как его могут защищать аутентификация и шифрование. Но открытость расширяет поверхность атаки, поэтому большинство конфигураций держит эти порты закрытыми.
Брандмауэр может разрешать только адрес вашего офиса. Сканирование идет с другого публичного адреса, поэтому оно видит то, что видят все остальные, и в этом и заключается смысл проверки.
Сопутствующие инструменты
Проверка SSL-сертификата
Проверьте сертификат SSL/TLS, который узел отдаёт на порту 443: субъект, издатель, даты действия, дни до истечения, SAN и алгоритм подписи.
Проверка HTTP-заголовков
Осмотрите каждый HTTP-заголовок ответа, возвращаемый URL, чтобы отладить кэширование, CORS, сжатие и проблемы безопасности.
Инструмент проверки возраста доменных имен
Узнайте, когда домен был впервые зарегистрирован, а также его возраст в годах, месяцах и днях с использованием данных WHOIS из реестра.
Инструмент Traceroute
Запустите traceroute до любого хоста через проверенные публичные сервисы зондирования и научитесь читать вывод хоп за хопом, чтобы находить скачки задержки, потери пакетов и проблемы маршрутизации.
Инструмент для скриншотов сайтов
Введите любой публичный URL и получите мгновенный предпросмотр скриншота, затем откройте его в бесплатных сервисах вроде Screenshot Machine, Urlbox или ApiFlash либо посмотрите старые снимки на Wayback Machine.
Проверка доступности сайта
Проверьте, отвечает ли сайт с независимого сервера. Показывает статус UP или DOWN, код ответа HTTP, время ответа и IP сервера, чтобы вы могли отличить реальный сбой от проблемы вашей сети.
Инструмент доступен на других языках
- ตรวจสอบว่าพอร์ตฐานข้อมูลเปิดให้เข้าถึงจากอินเทอร์เน็ตหรือไม่ [TH]
- Sprawdź, czy porty baz danych są wystawione do internetu [PL]
- Kiểm tra xem cổng cơ sở dữ liệu có bị lộ ra internet không [VI]
- Periksa apakah port database terekspos ke internet [ID]
- التحقق مما إذا كانت منافذ قواعد البيانات مكشوفة للإنترنت [AR]
- Prüfen, ob Datenbank-Ports öffentlich im Internet erreichbar sind [DE]
- データベースのポートがインターネットに公開されていないか確認する [JA]
- Verificar se as portas de banco de dados estão expostas à internet [PT]
- Comprobar si los puertos de bases de datos están expuestos a Internet [ES]
- 데이터베이스 포트가 인터넷에 노출되어 있는지 확인하기 [KO]
- Kontrollera om databasportar är exponerade mot internet [SV]
- Vérifier si les ports de bases de données sont exposés sur Internet [FR]
- Controleren of databasepoorten blootgesteld zijn aan internet [NL]
- Check if Database Ports Are Exposed to the Internet [EN]
- Verifica se le porte dei database sono esposte su Internet [IT]
- Veritabanı bağlantı noktaları internete açık mı kontrol edin [TR]
- 检查数据库端口是否暴露在互联网上 [ZH]