1. Falco
Falco 是一款云原生运行时安全开源项目,是一套入侵检测系统性解决方案,用于监控 Kubernetes 上应用的运行时异常活动。Falco 在内核态通过监控文件更改、网络活动、进程表和其他数据是否存在可疑行为,并可以通过可插拔后端发送警报。目的是了解容器行为并保护平台不受可能的恶意活动的影响。
Falco 提供了一组丰富的规则,供使用者通过这些规则监控特定的异常行为。基于规则,我们可以很方便的为 Kubernetes 提供一个开源的端到端运行时安全解决方案。
- CNCF 分层:供应层
- CNCF 分类:安全与合规性
- CNCF 成熟度:孵化中
1.1. 使用场景
Falco是一个行为活动监视器,旨在检测你的应用程序中的异常活动。通过sysdig的系统调用捕获基础设施,Falco允许您持续监视和检测容器、应用程序、主机和网络活动等,所有这些都在一个地方,从一个数据源,用一套规则。
Falco 通过获取 Kubernetes API 审计日志,用于运行时威胁检测和了解应用程序行为。
Falco 通过使用定义意外行为的检测规则来工作,虽然它自带有默认规则,但你可以扩展这些规则来定义自定义规则,以进一步加固你的集群。通过 Falco 我们可以检测下面的场景:
- 从一个容器中打开一个 shell 会话
- Host Path 卷挂载
- 读取 secret 和敏感文件,比如
/etc/shadow
文件 - 在运行的容器中安装新的软件包
- 从不属于 CMD 的容器中产生的新进程
- 打开一个新的端口或意外的网络链接
- 创建一个特权容器
- ......
Falco 可以确保我们知道应用什么时候有潜在的违规行为,以便我们可以提前修复这些安全问题,Falco 对现有的 Kubernetes 原生安全措施(如 RBAC 和 Pod 安全策略)进行了补充,这些措施有助于我们预防一些安全问题。