发布时间:2026/7/27 22:18:23
用 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/7/27 22:18:23

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

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

2026/7/27 22:13:23

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

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

2026/7/28 2:59:12

5分钟快速上手Pixelle-Video:免费AI短视频引擎终极指南

5分钟快速上手Pixelle-Video:免费AI短视频引擎终极指南 【免费下载链接】Pixelle-Video 🚀 AI 全自动短视频引擎 | AI Fully Automated Short Video Engine 项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video 还在为制作短视频而烦…

2026/7/28 2:59:12

从CTF到SRC:Web安全实战与漏洞挖掘的变现路径详解

1. 项目概述:SRC漏洞挖掘,一条清晰的技术变现路径如果你对网络安全感兴趣,或者正在CTFshow这类平台上刷题,那你大概率听说过“SRC”和“漏洞挖掘”。这不仅仅是技术爱好者的游戏,更是一条被验证过的、能将技术能力直接…

2026/7/28 2:59:12

树莓派4B连接摇杆模块实战:从ADC选型到Python控制类封装

1. 从游戏手柄到硬件交互:为什么树莓派需要摇杆?如果你手头有一块树莓派4B,并且已经玩腻了点亮LED、读取温湿度这些基础操作,那么是时候给它增加点“互动性”了。JoyStick摇杆,这个我们从小在游戏手柄上就无比熟悉的部…

2026/7/28 2:59:12

TVA模型重构:从财务工具到利润引擎的转型实践

1. 项目概述:TVA价值重构的核心逻辑在传统企业运营中,TVA(Total Value Added)常被视为单纯的成本核算工具,财务部门用它来计算产品增值部分。但最近三年,越来越多企业开始重新审视TVA的价值链定位——当某跨…

2026/7/28 2:54:12

树莓派4B磁感应传感器实战:从霍尔开关到转速监测

1. 项目缘起:为什么是数字贴片磁感应传感器? 如果你手头有一块树莓派4B,并且已经玩转了点亮LED、读取按键这些基础GPIO操作,那么接下来,你可能会想:树莓派还能感知些什么?温度、湿度、光照&…

2026/7/27 9:04:58

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

2026/7/28 0:03:34

学术论文研究创新点梳理与核心价值提炼指南

本科毕业论文是大学四年最大的坎。开题报告憋一周写不出三页,找文献翻遍十几个网站还是缺关键资料,写正文卡壳半天憋不出一句话,降重改到凌晨三点结果逻辑全乱,答辩前一天PPT还没做完。别慌,亲测这四个工具能让你少熬半…

2026/7/28 0:03:34

开发商售楼处数字化升级怎么做?

房企的数字化转型投入正在快速增长,据行业数据显示,2025年房企数字化投入规模已突破800亿元,年复合增长率达35%。售楼处的数字化升级不是单一环节的改造,而是从“获客-展示-成交-服务”全链路的系统升级。数字化升级四步法第一步&…

2026/7/28 0:03:34

模型不再值钱之后,AI 编程工具在争什么

2026 年 7 月,AI 编程工具赛道发生了一个标志性转折:模型本身不再值钱了。当 Kimi K3 开源模型在编程基准上击败 GPT 和 Claude,当 GitHub Copilot 第一次把开源模型纳入选择器,当 OpenAI 把 Codex 并入 ChatGPT 做成三合一超级应…

2026/7/27 3:13:33

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…