用途:使用 Falco 这一 CNCF 毕业的运行时安全工具,通过监控 Linux 系统调用,检测容器逃逸行为,例如挂载主机文件系统、访问敏感主机路径、加载内核模块以及滥用特权容器能力。适用于安全事件调查、构建检测规则或威胁狩猎查询、SOC 分析流程,以及验证相关攻击技术的监控覆盖。
主要能力:资料给出多类规则示例,包括检测容器挂载主机文件系统、nsenter 执行(命名空间逃逸)、特权容器启动、写入 /proc/sysrq-trigger、容器加载内核模块、写入 cgroup release_agent、读取主机 /etc/shadow、访问 Docker socket,并附带自定义规则文件,使用 list、macro、rule 组织逃逸二进制与敏感文件访问检测。规则支持优先级与 MITRE ATT&CK 标签。
必要用法:Linux 主机需内核 5.8+(eBPF 驱动)或支持内核模块,Kubernetes 集群 v1.24+ 或独立 Docker/containerd,Helm 3 用于 K8s 部署,驱动安装需要 root 或特权访问。K8s 部署可执行:helm repo add falcosecurity https://falcosecurity.github.io/charts;helm repo update;helm install falco falcosecurity/falco --namespace falco --create-namespace --set falcosidekick.enabled=true --set falcosidekick.webui.enabled=true --set driver.kind=ebpf --set collectors.containerd.enabled=true --set collectors.containerd.socket=/run/containerd/containerd.sock;并用 kubectl get pods -n falco 与 kubectl logs 验证。独立安装(Debian/Ubuntu)通过添加 GPG key、仓库后 sudo apt-get install -y falco,再用 systemctl enable/start falco。自定义规则可放入 /etc/falco/rules.d/container-escape.yaml 并在 falco.yaml 的 rules_files 中引用,可开启 json_output、stdout、syslog、http_output 转发至 falcosidekick,并通过 Falcosidekick 发送至 Slack。
测试与限制:资料演示用 kubectl run 模拟读取 /etc/shadow、nsenter 逃逸并查看 Falco 日志 grep escape。最佳实践建议以 DaemonSet 部署覆盖所有节点、优先 eBPF 驱动、从默认规则起步、转发告警至 SIEM/SOAR、为规则加 MITRE 标签、先在宽松模式测试再启用、通过例外列表调优误报、用 Prometheus 指标监控 Falco 健康。具体收费、价格与性能数据暂未提供。