用 sysdig + Falco 把容器逃逸行为摁在萌芽里:我这套规则已经拦下 3 次真实攻击

发布时间:2026/11/12 3:58:35

用 sysdig + Falco 把容器逃逸行为摁在萌芽里:我这套规则已经拦下 3 次真实攻击 用 sysdig Falco 把容器逃逸行为摁在萌芽里我这套规则已经拦下 3 次真实攻击说实话我一直觉得容器安全这事大多数人只做了半套。镜像扫描、CVE 修复、镜像签名这些当然要做。但它们都是事前检查——攻击者一旦进了容器运行时里发生什么你根本看不见。去年我们线上就吃过这个亏一个被攻破的 Pod 先是读了 /proc/self/status接着在容器里挂载了宿主机的 /最后把 cron 写进了宿主机。整个链路只用了 7 分钟。从那以后我把运行时审计补上了。核心就是 Falco sysdig 这套组合目前已经实打实拦下 3 次容器逃逸企图。为什么选 Falco sysdig而不是 EDR 或 AgentFalco 是 CNCF 项目直接挂在宿主机内核里通过 tracepoint 抓系统调用对容器无侵入。sysdig 则更像是命令行版的 Falco适合临时抓现场、验证规则。两者的关系我习惯这样理解Falco7x24 小时值守的规则引擎sysdig突发事件时的取证显微镜市面上很多 EDR 也能做类似事情但它们通常要装重型 Agent、依赖厂商规则库、价格按节点算。对我们这种 K8s 集群几百个节点、业务形态杂的团队来说Falco 的规则开源可审计、部署轻量是更务实的起点。我的 Falco 部署方式DaemonSet 本地规则直接在 K8s 上以 DaemonSet 跑 Falco 是最省事的方案。官方 Helm chart 已经封装得差不多了但我改了两个地方禁用默认规则里的噪音项比如频繁的 shell 启动告警把自定义规则用 ConfigMap 挂进去方便版本化# falco-daemonset.yaml节选apiVersion:apps/v1kind:DaemonSetmetadata:name:falcospec:selector:matchLabels:app:falcotemplate:spec:containers:-name:falcoimage:falcosecurity/falco:0.39.0securityContext:privileged:truevolumeMounts:-mountPath:/etc/falco/rules.dname:falco-rulesvolumes:-name:falco-rulesconfigMap:name:falco-custom-rules# custom-rules.yaml-rule:Container_Escape_Mount_Host_Rootdesc:Detect mounting of host root filesystem inside containercondition:spawned_process and container and (proc.name in (mount, umount) or proc.cmdline contains /host ) and (proc.cmdline contains /proc/1/root or proc.cmdline contains /host)output:Possible container escape via host mount user%user.name command%proc.cmdline container%container.name pod%k8s.pod.name ns%k8s.ns.namepriority:CRITICAL这条规则盯的是最常见的逃逸路径之一在容器里挂载宿主机根目录。只要进程命令行出现/host或/proc/1/root立刻触发 CRITICAL。三条被拦下的真实攻击链第一次挖矿程序尝试挂载宿主机凌晨 2 点一个存在 RCE 漏洞的旧版 Java 应用 Pod 被攻入。攻击者先是curl下载了一个二进制文件随后执行mount/dev/sda1 /hostchroot/host /bin/bashFalco 在第一条 mount 命令出来的瞬间就告警了。我们收到 Prometheus Alertmanager 通知后直接对该节点做了隔离cordon drain然后拉镜像做复盘。第二次特权容器读取宿主机 /etc/shadow开发同学在测试环境启了一个privileged: true的调试容器本来只想临时用一下结果脚本里顺手跑了cat/proc/1/root/etc/shadow这个行为触发了我们的读取宿主机敏感文件规则。虽然这次不是外部攻击但正好暴露了一个坏实践测试环境滥用特权容器。后来我们加了 OPA Gatekeeper 策略直接禁止非白名单命名空间跑 privileged Pod。第三次利用 CAP_SYS_ADMIN 进行 mount 命名空间逃逸有个服务为了做日志采集申请了CAP_SYS_ADMIN。攻击者拿到 shell 后用它执行了unshare -m创建新的 mount 命名空间再尝试把宿主机 cgroup 挂进来。这种攻击比前两次隐蔽因为不是直接 mount 宿主机根目录。我们针对unshare系统调用加了一条规则-rule:Unshare_In_Containerdesc:unshare syscall inside container (possible namespace escape)condition:spawned_process and container and proc.name unshare and not proc.pname in (containerd-shim, runc)output:unshare called in container user%user.name command%proc.cmdline container%container.name pod%k8s.pod.namepriority:WARNING警报出来后我们确认是异常流量触发的立刻把该 Pod 驱逐并重建了密钥。用 sysdig 做现场取证Falco 告警告诉你发生了什么sysdig 帮你回答怎么发生的。举个例子收到一条 mount 告警后我通常会立刻到对应节点执行# 抓取该容器最近 60 秒的系统调用sysdig-pc-M60-S\container.namepod-name\and(evt.typeexecve orevt.typeopenat orevt.typemount)\-w/tmp/incident.scap# 回放分析sysdig-r/tmp/incident.scap-pc-p%evt.time %proc.name %proc.cmdline %fd.name-pc参数会自动把容器名、Pod 名、命名空间打印出来看日志的时候非常清楚。告警接入与响应自动化Falco 的输出我接了两条路stdout / sidecar exporter把 Falco 日志转成 Prometheus 指标按规则名做计数Falcosidekick把事件推到 Slack 调用 Webhook 做自动响应我们的 Webhook 会做这几件事给节点打污点阻止新 Pod 调度对可疑 Pod 做kubectl delete --force --grace-period0把 sysdig 抓包任务作为 Job 派发到同节点自动化响应要慎用尤其是删除 Pod。我们只在 CRITICAL 级别、且规则明确无误的情况下才自动执行避免误伤正常业务。写在最后容器安全不是一个扫描器能解决的。镜像安全负责别让坏人进门运行时安全负责坏人进来后你能看见。Falco sysdig 这套方案成本不高但对运维视野的提升非常明显。它让我们从出事了看日志猜变成行为一异常就立刻知道。如果你也在跑 K8s建议先从三条规则开始容器内 mount 宿主机根目录容器内读取 /proc/1/root/etc 下敏感文件容器内调用 unshare / nsenter 等命名空间操作规则不用多先把最常见的逃逸路径盯住。等这套跑顺了再逐步加业务相关的自定义规则。代码和规则我都放在内部 GitLab 的security/falco-rules仓库里了有需要可以翻出来直接抄。
延伸阅读

更多相关文章

2026/11/9 7:52:46

Citra 3DS模拟器终极指南:在PC上完美运行任天堂游戏

Citra 3DS模拟器终极指南:在PC上完美运行任天堂游戏 【免费下载链接】citra A Nintendo 3DS Emulator 项目地址: https://gitcode.com/gh_mirrors/cit/citra 想要在个人电脑上重温《精灵宝可梦》、《塞尔达传说》等经典3DS游戏吗?Citra模拟器作为…

2026/11/9 3:09:45

C++ Static关键字深度解析:从存储期、链接属性到多线程实战

1. 项目概述:为什么我们需要深入理解Static? 在C的世界里混迹多年,我见过太多因为对 static 关键字一知半解而引发的“灵异事件”。比如,一个看似简单的计数器函数,每次调用却返回相同的值;一个在类中定义…

2026/11/12 3:54:18

龙湾电工证哪里报名的 怎么报名不踩坑

龙湾电工证哪里报名的 怎么报名不踩坑 实操考试心里没底怕挂科,龙湾电工证哪里报名的,怎么报名才能一次过?不少学员在备考前最大的担心不是理论题,而是实操考试的流程和标准,尤其是像低压电工、高压电工这类工种,操作失误就可能被判定不合格。…

2026/11/12 3:54:18

工地太忙根本没时间复习考试?巩义电工证在哪里考呢良心建议来了

工地太忙根本没时间复习考试?巩义电工证在哪里考呢良心建议来了 工地太忙根本没时间复习考试,这是很多一线电工的真实写照。尤其在巩义这种施工项目集中的地方,电工证不仅关系到能否上岗,更是职业发展的“通行证”。但很多小伙伴一听到要考试,就犯愁:*…

2026/11/12 3:54:18

接线就需要考取电工证良心建议:电工证考前考后全攻略

接线就需要考取电工证良心建议:电工证考前考后全攻略 你是不是正为 急需特种作业证才能上岗找工作 而焦虑?别急,接线就需要考取电工证,这是很多电工从业者绕不开的门槛,尤其是像我这样在漯河劳务班组做负责人的人,深知一纸证书就是敲门砖。今天就从实…

2026/11/12 3:54:18

海兴哪里能办电工证考前押题攻略:外省证能不能转,全在这篇说透了

海兴哪里能办电工证考前押题攻略:外省证能不能转,全在这篇说透了 之前考的证在外省能不能转过来?这个问法几乎成了所有想考电工证或者已经在别的地方考了证的朋友们最关心的问题。别急,今天这篇【海兴哪里能办电工证】考前押题攻略,不仅告诉你怎么转,还…

2026/11/12 3:49:17

电工证不需复审吗?考前押题帮你搞懂新规和备考方向

电工证不需复审吗?考前押题帮你搞懂新规和备考方向 证书过期了不知道怎么复审延期,这事儿真不是小事。尤其像低压电工证、高压电工证这类特种作业操作证,如果逾期不处理,不仅影响正常上岗,还可能被认定为“无证上岗”,面临企业处罚甚至个人责任。现在很…

2026/11/11 12:42:59

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/12 0:04:01

工地太忙根本没时间复习考试?学习电工证到哪里学通过率揭秘

工地太忙根本没时间复习考试?学习电工证到哪里学通过率揭秘 工地太忙根本没时间复习考试?你不是一个人。作为一名在南阳卧龙区干了七八年市政公用工程的电工,我深知这个问题的现实性。电工证不仅是工作的“入场券”,更是职业发展的“通行证”,但备考过程…

2026/11/12 0:04:01

双流电工证考别怕挂科!郑州报考避坑指南全攻略

双流电工证考别怕挂科!郑州报考避坑指南全攻略 实操考试心里没底怕挂科?双流电工证考在郑州报名,很多人因为不了解流程、准备不充分,白白浪费时间和金钱。作为三门峡应届工程类毕业生,我也曾经历过这样的焦虑。今天就从零开始,手把手教你如何避开郑州报…

2026/11/12 0:04:01

之前考的证在外省能不能转过来 怎么报名考电工证培训价格多少

之前考的证在外省能不能转过来 怎么报名考电工证培训价格多少 之前考的证在外省能不能转过来?这个问题确实让不少准备换城市工作的朋友犯了难,尤其像电工证这种实操性很强的证书,很多人担心跨省后证书能不能继续用。其实,只要符合相关流程,是可以顺利转…

2026/11/11 20:27:01

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/10 10:29:37

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑