Открытый дашборд Grafana: утечка метрик и конфигураций
Grafana — популярная платформа визуализации системных метрик серверов и баз данных, которая часто разворачивается на стандартных портах 3000 или 80.
При включенном анонимном доступе (anonymous_enabled = true) сторонние пользователи могут просматривать топологию инфраструктуры, объемы трафика и внутренние IP-адреса.
Степень критичности и чем опасна уязвимость
Публичные дашборды раскрывают уязвимые узлы сети, пиковые часы нагрузки и конфигурации источников данных (Data Sources).
Как наш сканер находит эту уязвимость
Site Check анализирует стандартные порты и эндпоинты Grafana на предмет доступности дашбордов без ввода пароля.
Аудит административных интерфейсов выполняется методом зондирования типовых эндпоинтов телеметрии и дашбордов. Сканер анализирует заголовки HTTP-аутентификации (WWW-Authenticate), редиректы на форму входа и структуру возвращаемого HTML, не выполняя попыток перебора паролей или внедрения учетных записей.
Как устранить уязвимость (Пошаговое руководство)
Для ликвидации риска выполните следующие действия в конфигурации вашего сервера или приложения:
# В файле grafana.ini отключите анонимный доступ:
[auth.anonymous]
enabled = false
- Отключите auth.anonymous в конфигурации grafana.ini.
- Размещайте Grafana за внутренним VPN или Cloudflare Access.
Анатомия атаки и реальные последствия для проекта
Открытый порт или веб-интерфейс Grafana (/grafana, порт 3000) часто эксплуатируется через дефолтные учетные данные (admin:admin) или уязвимости обхода каталогов (например, CVE-2021-43798), позволяя скачать /etc/passwd сервера.
Влияние на соответствие стандартам: Нарушение требований безопасности стандартов OWASP Top 10 (A05:2021 Security Misconfiguration), ISO/IEC 27001 и отраслевых норм 152-ФЗ.
Матрица эшелонированной защиты (Defense-in-Depth)
| Уровень защиты | Техническое действие | Инструмент / Механизм |
|---|---|---|
| Периметр веб-сервера (Nginx / Edge) | Применение изолирующих правил блокировки для маршрутов, связанных с grafana-exposure | Nginx Security Directives |
| Среда исполнения и конфигурация | Отключение отладочных механизмов и разграничение прав доступа к компоненту grafana-exposure | Runtime Security Hardening |
| Пайплайн DevSecOps контроля | Автоматическое тестирование конфигурации grafana-exposure в CI/CD пайплайне при каждом релизе | Site Check Security Gate |
Верификация устранения: команды для быстрой проверки
После внесения изменений в настройки сервера или исходный код приложения проверьте отсутствие уязвимости с помощью терминальных утилит:
curl -I -s https://ваш-домен.com:3000/login | grep "Grafana"
# Порт не должен быть публичным
Рекомендации DevSecOps для безопасного развертывания
Изолируйте сервисы мониторинга за reverse-proxy с корпоративной аутентификацией (SSO/OAuth2) и никогда не открывайте порт 3000 наружу.
- ✓ Ограничить доступ к административным путям белым списком доверенных IP-адресов
- ✓ Настроить обязательную двухфакторную аутентификацию (2FA) для всех панелей управления
- ✓ Отключить Swagger UI и эндпоинты Actuator на внешних продакшен-портах
- ✓ Настроить отправку алертов при множественных неудачных попытках авторизации
Часто задаваемые вопросы по устранению
Публичная доступность служебных панелей управления (Grafana, Prometheus, Swagger, Actuator) деанонимизирует топологию сети и снижает порог входа для целевой атаки. Базовый периметр безопасности требует выноса подобных сервисов за VPN, внедрения mTLS или привязки к приватной подсети без публичных DNS-записей.
Для предотвращения вектора «Открытый дашборд Grafana: утечка метрик и конфигураций» зафиксируйте проверочные правила в CI/CD пайплайне и настройте непрерывный мониторинг внешнего периметра через Site Check.