前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >是时候升级到Falco 0.20.0版本

是时候升级到Falco 0.20.0版本

作者头像
CNCF
发布2020-02-27 13:49:53
5110
发布2020-02-27 13:49:53
举报
文章被收录于专栏:CNCFCNCF
作者:Lorenzo Fontana

我们很高兴地宣布Falco 0.20.0的发布,这是我们在2020年发布的第二个版本!Falco 0.20.0包含一个主要的bug修复、一个新特性、两个次要的bug修复和七个规则更改。

总共有8个人对这个版本做出了贡献,并合并了总共13个Pull Requests!

现在鼓励每个人更新Falco,特别是当你运行Falco 0.18.0或Falco 0.19.0并使用Kubernete审计事件时。

完整的修改日志可以在这里找到。

https://github.com/falcosecurity/falco/releases/tag/0.20.0

Kubernetes审计事件中的内存泄漏

升级尤其重要,因为上面的版本容易出现内存泄漏,许多用户在GitHub和Slack上都报告过这个问题。

特别是,这些报告的情况如下:

你可以看到Falco是如何在这个bug导致内存使用量增加后OOM被集群杀死的。

经过一些分析之后,我们注意到泄漏是由于在JSON事件过滤器中处理参数的方式出现了一些配置错误。

分析是通过分析Valgrind的Massif工具,并使用Massif可视化工具massif-visualizer,立即可以清楚地看到正在发生泄漏。

对于那些感兴趣的人,你可以通过执行Falco和massif自己检查这个,这样做:

代码语言:javascript
复制
sudo valgrind --tool=massif --threshold=0.1 ./build/userspace/falco/falco   -c falco.yaml -r rules/falco_rules.yaml -r rules/k8s_audit_rules.yaml -r rules/falco_rules.local.yaml -M 100 

版本的API

许多用户要求能够在使用Outputs API时检查Falco版本。

在Falco 0.20.0中有一个称为Version API的新API,你可以使用它来收集关于正在运行的Falco版本的各种信息。

使用Falco Go客户端时,你可以通过以下方式获取版本:

代码语言:javascript
复制
// Set up a connection to the server.
c, err := client.NewForConfig(&client.Config{
Hostname:   "localhost",
Port:       5060,
CertFile:   "/tmp/client.crt",
KeyFile:    "/tmp/client.key",
CARootFile: "/tmp/ca.crt",
})
if err != nil {
log.Fatalf("unable to create a Falco client: %v", err)
}
defer c.Close()
versionClient, err := c.Version()
if err != nil {
log.Fatalf("unable to obtain a version client: %v", err)
}


ctx := context.Background()
// Retrieve the version
res, err := versionClient.Version(ctx, &version.Request{})

这里有一个完整的示例,你可以签出并运行它。

https://github.com/falcosecurity/client-go/blob/master/examples/version/main.go

错误修复

  • fix: the base64 output format (-b) now works with both json and normal output. [#1033]
  • fix: version follows semver 2 bnf [#872]

规则更改

  • rule(write below etc): add “dsc_host” as a ms oms program [#1028]
  • rule(write below etc): let mcafee write to /etc/cma.d [#1028]
  • rule(write below etc): let avinetworks supervisor write some ssh cfg [#1028]
  • rule(write below etc): alow writes to /etc/pki from openshift secrets dir [#1028]
  • rule(write below root): let runc write to /exec.fifo [#1028]
  • rule(change thread namespace): let cilium-cni change namespaces [#1028]
  • rule(run shell untrusted): let puma reactor spawn shells [#1028]
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CNCF 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档