Egress-only модель
Agent Flaree работает только через исходящие HTTPS-соединения: он сам опрашивает бэкенд, сам отправляет результаты и не принимает ни одного входящего подключения из сети. Эта страница объясняет, что даёт такая модель и как настроить firewall под неё.
Как это работает
Весь обмен инициирует агент: регистрация, синхронизация конфигурации, отправка результатов проверок, heartbeat. Всё идёт исходящим HTTPS на порт 443. Конфигурация проверок приходит как ответ на периодический опрос — бэкенду не нужно «достучаться» до агента, чтобы изменить его задания.
Список исходящих назначений короткий:
| Назначение | Зачем |
|---|---|
api.flaree.ru:443 (или ваш server) | Регистрация, конфиг, результаты, heartbeat |
get.flaree.ru:443 | Манифест и бинарники автообновления (отключается) |
| Ваши цели проверок | HTTP/TCP/БД-проверки, которые вы настроили |
Что это даёт
- Простой периметр — не нужно открывать входящие порты и пробрасывать трафик через NAT.
- Меньше поверхность атаки — из сети до агента нельзя дотянуться: снаружи у него нет ни одного слушающего сокета.
- Работа за firewall — агент мониторит сервисы в приватных сетях, куда извне доступа нет вовсе.
Loopback-исключения
Три локальных сокета агент всё же открывает — но только на 127.0.0.1, доступ к ним есть лишь с самого хоста:
| Порт | Назначение |
|---|---|
9090 | Prometheus-метрики агента |
9091 | Локальный heartbeat-приёмник |
4318 | OTLP receiver, если включён |
Валидация конфигурации не позволяет привязать эти сокеты к внешнему адресу: агент откажется стартовать при host: 0.0.0.0 или любом не-loopback адресе.
Настройка firewall
Достаточно разрешить исходящий HTTPS к API и запретить входящие подключения. Пример для iptables:
# Разрешить исходящий HTTPS к Flaree API
iptables -A OUTPUT -p tcp -d api.flaree.ru --dport 443 -j ACCEPT
# Разрешить автообновление (опционально)
iptables -A OUTPUT -p tcp -d get.flaree.ru --dport 443 -j ACCEPT
Входящих правил для агента не нужно. В Kubernetes аналогичный контракт выражается через NetworkPolicy: ingress запрещён, egress — DNS и HTTPS к нужным хостам.
Cert-pinning
Для строгой проверки транспорта агент поддерживает пиннинг сертификата: задайте SHA-256 отпечаток SPKI, и агент будет принимать только сертификат с этим отпечатком.
FLAREE_AGENT_CERT_PIN=<sha256-spki-hex>
Пиннинг защищает от подмены сертификата корпоративным TLS-прокси или скомпрометированным CA, но требует обновлять отпечаток при ротации ключа сервера. Включайте его, если ваша политика ИБ этого требует.