第 14 篇钉了相对 Tetragon / auditd / seccomp 的机制差。读者接下来常问:告警出去之后怎么办——接 Splunk、接工单、自动杀 Pod?若把产品菜谱写进本系列,五轴排障会被淹没,版本钉也会失效。
本文只回答一件事:告警离开 Falco 之后,本系列承诺到哪一步,哪一步必须交给平台自己的响应栈。 机制依据是第 8 篇输出面(0.44.1 仍存在的 sink;gRPC output 已删)、第 7 篇规则加载与 falcoctl、第 9 篇 plugin 与 syscall 主路径的分工——不写具体 SIEM/SOAR 截图。
本篇在系列中的位置
篇目 核心内容 第 14 篇 · 对照替代路径 Tetragon / auditd / seccomp 第 15 篇 · 响应与生态边界 下游接到哪、规则协作、自动化接口 第 16 篇 · 选型收束 排除树与开放问题 系列目录 全部篇目
版本锚定:Falco 0.44.1。sink 白名单以与该 tag 对齐的输出配置为准;不得把已删除的 gRPC output/server 写成当前下游。无真实节点则不粘贴伪造告警样本或 webhook 回执。
一、下游接线边界
Falco 引擎命中规则之后,本系列只保证:能配置到仍存在的输出面,并能把「命中了但下游无」与「从来没有 scap 事件」区分开(轴 5)。stdout / file / http 等是官方文档列出的接线点;再往外——索引、关联、工单、自动处置——属于响应栈,不是检测内核。
| 接线层 | 本系列内? | 可核对锚点 |
|---|---|---|
| 规则求值产生告警 | 是 | 轴 4;第 6–7 篇 |
| 写入仍存在的 sink | 是 | 轴 5;第 8 篇;0.44.1 无 gRPC output |
| drop / 背压导致下游空窗 | 是(归因) | 第 5、8、11、13 篇 |
| SIEM 解析、字段映射、仪表盘 | 否 | 平台 runbook |
| 自动隔离 / 杀 Pod / 改 NetworkPolicy | 否 | 响应自动化;接口见第三节 |
边界句写进 ADR 时建议用:「Falco 交付的是可归因告警;处置闭环由响应栈拥有。」 不要把「装了 Falco」写成「已具备自动遏制」。
升级场景下边界更容易被踩穿:0.44.0 删除 gRPC output 之后,旧 runbook 若仍把 gRPC 当唯一下游,表象是「引擎好像没告警」,实际是接线点已不存在。排障应先核 sink 白名单(第 8、12 篇),再查规则条件。响应栈负责人需要一份与 0.44.1 对齐的「允许的输出面」清单,而不是沿用 live 文档或上一大版本的截图。
二、规则仓库协作
规则如何进入进程(默认集、本地文件、falcoctl 远程)属于检测内核,见第 7 篇。本篇只钉协作边界:
- 仓库所有权:谁合并规则、谁对误报负责、谁决定优先级与异常——这是组织接口,不是 YAML 语法。
- 版本与发行:规则文件与 Falco 用户态/驱动版本正交但相关;升级 0.43→0.44 时规则兼容要单独过门(第 12 篇),不能假设「旧规则文件永远可热加载」。
- 与 plugin 字段:依赖
container.*/ k8smeta 的规则,协作方必须同时拥有 plugin 版本钉(第 9 篇);否则「规则仓库绿了、集群条件永远假」。
本系列不订阅某一外部规则仓库的菜谱,也不把 MITRE 映射全书写进正文。协作失败的排障仍回五轴:加载失败是轴 4;字段空是轴 3;sink 无是轴 5。
协作接口可以写成三句 ADR 友好句:(1)规则合并权在安全/平台联合评审,误报关闭必须改异常或条件,禁止只在 SIEM 侧静音却声称「Falco 已调优」;(2)每个依赖 plugin 字段的规则集,变更单必须附 plugin 版本钉;(3)热加载若在本 tag 有边界,变更窗口按第 7 篇文档,不按口头「改了 YAML 立刻生效」。
三、响应自动化接口(机制,非产品菜谱)
自动化若存在,应把 Falco 当成事件源,而不是当成编排器。机制上可核对的接口只有三类:
- 结构化告警离开
sink——下游解析字段、优先级、规则名;格式以所用输出配置为准。
- 与资产上下文合流——Pod / 节点 /
镜像身份来自 K8s API 或 CMDB,不是 libsinsp
单独保证的完备证明。
- 处置动作落在别的控制面——杀进程、改 CNP、吊销身份:分别归属主机、Cilium/NetworkPolicy、IdP 等;失败模式不在 Falco 五轴内命名。
因此自动化 ADR 应写清:触发条件来自哪条规则与哪个 sink;动作由谁执行;回滚谁负责。 不要在 Falco ConfigMap 里假装实现了 SOAR。
最小可验收演练不必上完整 SOAR:选一条可合成的高优先级规则,确认 sink 落盘或 http 投递成功,再由人工或独立控制器执行一次可回滚动作,并记录「告警 ID → 动作 ID」对账。演练失败落在 sink,归本系列轴 5;落在动作控制面,归对应系列(例如 CNP 改写归 Cilium)。把两次失败混写成「Falco 不好用」,会毁掉排除树。
四、不写 SIEM 逐步配置
下列内容明确不在本系列:
- Splunk / ELK / 某云 SIEM 的
indexer、pipeline、保存搜索逐步截图。
- 告警→工单系统的字段映射百科。
- 「推荐 SOAR playbook」产品清单。
- 把 live 文档后版本 sink 写成 0.44.1 能力;把 gRPC output 当当前接线。
产品勾选级对照仍见 observability/15 与 linux/ebpf-security;那些文也不替代本篇的边界表。需要「装上就能在仪表盘里看见」时,那些文够用;需要「命中了为何下游没有 / 规则仓库绿了为何集群不响」时,必须回到本系列五轴与本篇边界,而不是再要一份更长的 SIEM 教程。
五、开放给第 16 篇的生态问题指针
生态侧仍开放、必须在选型终章可证伪陈述的问题包括:
driver.kind=auto回退是否应成为一等公民 status/指标(运维门 vs 排障门)。
- plugin 与 syscall 主路径的一致性 SLO(元数据空 vs
漏报)。
- 与 Tetragon / Cilium 的联合
runbook(告警轴用错会改错层)。
- BPF iterators 在容器运行时的默认策略(0.44.1 可关,默认叙事未统一)。
展开与关闭条件见第 16 篇。本篇只保证:读者不会把「下游 SIEM 菜谱缺失」误读成「检测内核未写完」。
边界表(本系列内 / 外)
| 题目 | 归属 | 关闭状态 |
|---|---|---|
| Driver → scap → sinsp → 规则 → 输出 | 本系列 01–13 | 机制内核 |
| 相对 Tetragon / auditd / seccomp | 第 14 篇 | 机制对照 |
| 下游接线边界与规则协作接口 | 本篇 | 已划界 |
| SIEM / SOAR 产品配置 | 平台响应栈 | 系列外 |
| 选型排除树与开放问题 | 第 16 篇 | 终章 |
| TracingPolicy / Override | tetragon/ | 外链不重写 |
| Gateway / 南北向 | envoy-gateway/ | 外链不抢 |
参考资料
规范 / 官方文档(A)
- Falco 0.44.1 输出配置;0.44.0 Changelog(gRPC output 已删)
- falcoctl 规则安装与加载边界(与 tag 对齐的文档路径)
- falcosecurity/plugins 与 0.44.1 兼容说明(container / k8smeta 等)
站内对照
上一篇:对照替代路径
下一篇:选型收束与开放问题
读完这篇,下一步读什么
优先读同系列或同问题的下一篇,把单篇消费变成主题集群。
【Falco】规则加载与 falcoctl:默认集、远程与热加载边界
说明 Falco 0.44.1 规则如何进入进程:默认规则集与 falcoctl OCI 工件、本地/远程分工、加载失败表象,以及 watch_config_files / SIGHUP 热加载边界;不写规则仓库订阅菜谱。
【Falco】输出面:sink 白名单与 gRPC 删除门
钉清 Falco 0.44.1 告警离开引擎后的 sink 白名单;强调 0.44.0 已删除 gRPC output/server;区分输出背压与轴 5 驱动丢事件,并限定下游只能接到仍存在的通道。
【Falco】Plugin 框架:container / k8smeta 与 syscall 主路径
说明 Falco 0.44.1 plugin 框架如何扩展事件源与字段;钉 container / k8smeta 与 syscall 主路径的分工、字段合流,以及元数据空时规则静默不命中;不写第三方 plugin 百科。
【Falco】运行时检测全景:缺口、五轴坐标系与 16 篇路线
相对 Tetragon 排除树、可观测对照与 linux/ebpf-security 快速启用清单,钉清 Falco 0.44.1 检测内核缺口;定义 Driver、libscap、libsinsp、规则引擎、输出与丢事件五条轴,并强调 modern_ebpf 与 kmod 分列证据包。