Открытый Prometheus: защита метрик и служебного API
Неограниченный доступ к Prometheus может раскрывать метрики, адреса сервисов и сведения об инфраструктуре. Что закрыть и как безопасно проверить собственный сервер.
- Продукт
- CI/CD и мониторинг
- Оценка риска
- Уровень зависит от конфигурации
Как читать этот материал
Нужна ручная проверка
Проверьте, что внешний посетитель не получает служебные метрики и endpoint возвращает ожидаемый отказ. Не запрашивайте полные списки целей и временные ряды. Внешний признак помогает определить, что нужно перепроверить, но сам по себе не подтверждает доступ к данным или успешную атаку. Не делайте вывод о наличии уязвимости только по одному внешнему признаку: подтвердите результат в настройках и версии компонента.
Что означает этот риск
Prometheus собирает и выдаёт метрики мониторинга. Даже если endpoint не содержит прикладные документы, названия целей, labels и значения могут раскрывать устройство сети и нагрузку систем.
Чем это может быть опасно
Неограниченный доступ к Prometheus может раскрывать метрики, адреса сервисов и сведения об инфраструктуре. Что закрыть и как безопасно проверить собственный сервер.
- раскрытие сервисов и внутренних адресов
- выявление версий и состояния компонентов
- избыточная нагрузка на мониторинг через публичные запросы
Как защититься и исправить проблему
Не публикуйте интерфейс и API Prometheus напрямую в интернет. Ограничьте доступ сетью или reverse proxy с аутентификацией и TLS. Удалите секреты и персональные данные из labels и ограничьте срок хранения метрик.
Как проверить безопасно
Проверьте, что внешний посетитель не получает служебные метрики и endpoint возвращает ожидаемый отказ. Не запрашивайте полные списки целей и временные ряды.
Что может произойти
- раскрытие сервисов и внутренних адресов
- выявление версий и состояния компонентов
- избыточная нагрузка на мониторинг через публичные запросы
Как защититься
- 1Не публикуйте интерфейс и API Prometheus напрямую в интернет.
- 2Ограничьте доступ сетью или reverse proxy с аутентификацией и TLS.
- 3Удалите секреты и персональные данные из labels и ограничьте срок хранения метрик.
Как проходит проверка
Проверьте, что внешний посетитель не получает служебные метрики и endpoint возвращает ожидаемый отказ. Не запрашивайте полные списки целей и временные ряды. Внешний признак помогает определить, что нужно перепроверить, но сам по себе не подтверждает доступ к данным или успешную атаку. Автоматический результат показывает внешний признак риска и требует проверки специалистом с учётом конкретной конфигурации.
Проверить свой сайтЧто делать после обнаружения
- Ограничьте публичный доступ к ресурсу, сохранив необходимые журналы для расследования.
- Проверьте конфигурацию, учётные записи и журналы доступа в своей инфраструктуре.
- Повторите безопасную проверку после исправления и очистки CDN-кэша.
Частые вопросы
Что означает риск «Открытый Prometheus»?
Неограниченный доступ к Prometheus может раскрывать метрики, адреса сервисов и сведения об инфраструктуре. Что закрыть и как безопасно проверить собственный сервер.
Можно ли подтвердить проблему только внешней проверкой?
Проверьте, что внешний посетитель не получает служебные метрики и endpoint возвращает ожидаемый отказ. Не запрашивайте полные списки целей и временные ряды. Внешний признак помогает определить, что нужно перепроверить, но сам по себе не подтверждает доступ к данным или успешную атаку. Итог нужно сопоставить с конфигурацией, версиями и правами доступа на вашем сайте.
Что сделать в первую очередь?
Не публикуйте интерфейс и API Prometheus напрямую в интернет.