Isovalent 发布 Cilium Tetragon 1.0 版本
Isovalent 公司宣布了其基于 eBPF 的 Kubernetes 安全可观测性和运行时执行工具 Cilium Tetragon 的 1.0 版本。该工具允许通过 eBPF 直接应用策略和过滤器,以监控进程执行、权限提升、文件和网络活动。
Tetragon 的主要功能
- 安全与运行时执行:Tetragon 可用于执行安全和运行时策略,且完全支持 Kubernetes,能够理解 Kubernetes 的概念(如命名空间和 Pod)。
- 事件生成:默认情况下,Tetragon 生成
process_exec和process_exit事件。对于更高级的用例,还可以生成process_kprobe、process_tracepoint和process_uprobe事件。 - 部署方式:可以通过 Helm 将 Tetragon 部署到 Kubernetes 集群中。
1.0 版本的改进
- 性能优化:1.0 版本着重于大幅减少 Tetragon 运行的性能开销。Isovalent 的 CTO Thomas Graf 提到,在最坏情况下,Tetragon 的进程执行跟踪仅增加了 1.68% 的开销,即使将所有进程执行事件以 JSON 格式写入磁盘,开销也仅为 2.46%。
- 默认策略库:该版本引入了一个默认的可观测性策略库,涵盖了监控内核模块加载、检测
/tmp目录下的二进制执行、记录sshd发起或接受的连接、跟踪sudo调用等场景。用户可以通过kubectl应用这些策略。
策略示例
以下策略片段监控 setuid() 系统调用,并记录任何在标签为 app=sensitive-workload 的 Kubernetes Pod 中运行的进程对该系统调用的调用:
apiVersion: cilium.io/v1alpha1
kind: TracingPolicy
metadata:
name: "monitoring-gaining-root-access-on-sensitive-workloads"
spec:
podSelector:
matchLabels:
app: "sensitive-workload"
kprobes:
- call: "sys_setuid"
syscall: true
args:
- index: 0
type: "int"
returnArg:
index: 0
type: "int"
returnArgAction: "Post"事件处理
当检测到匹配的操作时,Tetragon 会生成事件,用户可以通过 Tetragon CLI 查看这些事件,或将其传递到 SIEM 进行进一步分析。
eBPF 的广泛应用
eBPF 作为一种用于增强可观测性和安全性的工具,正在逐渐普及。其他使用 eBPF 的开源工具包括 Pixie、Inspektor Gadget、Coroot、Parca、Grafana Beyla 以及 OpenTelemetry eBPF 项目。
开源与许可
Tetragon 是开源的,采用 Apache-2.0 许可证,并在 GitHub 上提供。更多关于 1.0 版本的详细信息可以在 Isovalent 博客 上找到。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。