Централизованно управляемый host-firewall на eBPF: правила задаются в Control Plane, компилируются под каждый хост и доставляются агентам подписанными бандлами. Транспорт, хранение и раскатка спроектированы так, чтобы компрометация одного узла не открывала весь парк.
Хранит политики, компилирует их в данные для BPF-карт, подписывает бандлы, рассылает агентам, собирает телеметрию.
Загружает eBPF-датапас, держит mTLS-соединение с CP, применяет подписанные бандлы, передаёт события и счётчики.
| Проблема | Как закрывает qf |
|---|---|
| Дрейф правил по парку: на 500 машинах правила разошлись | Правила заданы в одном месте на все хосты. Агент периодически сверяет реальные BPF-карты с применённым, о дрейфе приходит оповещение |
| Нет доказуемого состояния — «точно ли закрыт порт?» | Скомпилированные правила хоста видны в UI; per-rule счётчики передаются в CP; deny+log идут в SIEM |
| Массовая потеря доступа из-за ошибочного правила | Management-guard: канал агент↔CP защищён неизменяемым allow-правилом с наивысшим приоритетом |
| Компрометация цепочки поставки правил | Каждый бандл подписан PKI CP; агент проверяет подпись. Монотонный gen-гейт отклоняет replay и downgrade |
| MITM на первичном подключении | Обязательный CA-pin при энролменте; без анкера агент останавливается с ошибкой, а не доверяет системному хранилищу доверия без проверки |
| Кто и что менял | Полный audit-trail всех изменений (before/after), с forward-tee в SIEM |
| Долгоживущие креды на хостах | Сертификаты 90 дней с авто-ротацией по mTLS; enrollment-токен стирается после энролмента |
| Уже есть Cilium / другой eBPF-CNI | На ≥6.6 агент через TCX сосуществует с Cilium; на <6.6 с Cilium не стартует (fail-safe) |
Каждая мутация политики фиксируется до и после, с номером поколения и автором.
− deny tcp/22 ← any+ allow tcp/22 ← admin-netСобытия правил и жизненного цикла уходят по syslog, HTTP или Kafka в форматах CEF, LEEF, ECS-JSON.
deny tcp/443 host=web-01 → syslog