您现在的位置是:IT资讯 >>正文
使用 Falco 监听运行时安全
IT资讯11857人已围观
简介1. Falco 是什么Falco 是由 Sysdig 贡献给 CNCF 的云原生运行时安全相关项目。Falco 实现了一套可扩展的事件规则过滤引擎,通过获取事件、匹配安全规则、产生告警通知系列操作 ...
1. Falco 是使用什么
Falco 是由 Sysdig 贡献给 CNCF 的云原生运行时安全相关项目 。
Falco 实现了一套可扩展的听运事件规则过滤引擎,通过获取事件 、安全匹配安全规则、使用产生告警通知系列操作,听运能够发现系统中的安全安全问题 。其中的使用事件来自系统调用,同时也支持 ebpf 探针,听运规则是安全开源的模板下载[1],可以自行定义扩展[2] 。使用下图为其架构图:

Falco 可以检测到的听运典型事件包括:
在容器中运行 shell以特权形式运行的容器读取敏感数据,比如 /etc/shadow容器挂载主机的安全敏感路径出站网络连接2. 生成证书
Falco 的 gRPC 需要双向的 TLS 认证 [3]。Falco exporter 通过 gRPC 暴露相关事件 ,使用自研的听运系统也可以通过 gRPC 直接集成 Falco。下面的安全步骤用来生成交互所需的证书 ,云计算Falco 官方的文档有些陈旧 ,有些操作会报错 。
创建证书目录 复制mkdir /root/falco
cd /root/falco1.2. 创建 CA 证书 复制openssl genrsa -out ca.key 4096openssl req -x509 -new -nodes -sha512 -days 3650\
-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=dev.chenshaowen.com"\
-key ca.key\
-out ca.crt1.2.3.4.5.6. 创建服务端证书 复制openssl genrsa -out server.key 4096openssl req -sha512 -new \
-key server.key\
-out server.csr\
-subj "/C=SP/ST=Italy/L=Ornavasso/O=Test/OU=Server/CN=localhost"openssl x509 -req -sha512 \
-days 3650\
-CA ca.crt\
-CAkey ca.key\
-in server.csr\
-out server.crt\
-set_serial 011.2.3.4.5.6.7.8.9.10.11.12.13.14. 创建客户端证书 复制openssl genrsa -out client.key 4096openssl req -sha512 -new \
-key client.key\
-out client.csr\
-subj "/C=SP/ST=Italy/L=Ornavasso/O=Test/OU=client/CN=localhost"openssl x509 -req -sha512 \
-days 3650\
-CA ca.crt\
-CAkey ca.key\
-in client.csr\
-out client.crt\
-set_serial 011.2.3.4.5.6.7.8.9.10.11.12.13.14. 查看全部生成的证书 复制ls /root/falco
ca.crt ca.key client.crt client.csr client.key server.crt server.csr server.key1.2.3.3. 在 Kubernetes 上安装 Falco
添加 Helm 源 复制helm repo add falcosecurity https://falcosecurity.github.io/charts
helm repo update1.2. 安装 falco [4] 复制helm install falco falcosecurity/falco \
--namespace falco --create-namespace \ --version 3.0.0 \ --set-file certs.ca.crt=/root/falco/ca.crt,certs.server.key=/root/falco/server.key,certs.server.crt=/root/falco/server.crt \ --set ebpf.enabled=true \ --set falco.grpc.enabled=true \ --set falco.grpc_output.enabled=true \ --set falcosidekick.enabled=true \ --set falcosidekick.webui.enabled=true \ --set falcosidekick.webui.user="admin:admin" \ --set falco.grpc.unixSocketPath=""1.2.3.4.5.6.7.8.9.10.11. 安装 falco-exporter 复制helm install falco-exporter falcosecurity/falco-exporter \
--namespace falco --create-namespace \ --version 0.9.1 \ --set falco.grpcTimeout=3m --set-file certs.ca.crt=/root/falco/ca.crt,certs.client.key=/root/falco/client.key,certs.client.crt=/root/falco/client.crt1.2.3.4.5. 查看服务在运行过程中会请求 ghcr.io 下载默认规则 falco_rules.yaml.tar.gz ,在网络受限环境下,可能会下载失败。
复制kubectl -n falco get pod -w
NAME READY STATUS RESTARTS AGE
falco-5bbl6 2/2 Running 0 152s
falco-exporter-26gfz 1/1 Running 0 124s
falco-falcosidekick-5c8bf5d7fb-kx778 1/1 Running 0 111s
falco-falcosidekick-ui-5b56bbd7cb-5wdwl 1/1 Running 3 111s
...1.2.3.4.5.6.7.8. [可选]卸载 Falco 复制helm uninstall falco --namespace falcohelm uninstall falco-exporter --namespace falco1.2.4. 使用 Grafana 面板查看 Falco 事件数据
通过查看 falco-exporter svc 可以看到其已经将 metrics 暴露给了 Prometheus 。
复制kubectl -n falco get svc falco-exporter -o yaml
apiVersion:v1
kind:Service
metadata: annotations: prometheus.io/port: "9376" prometheus.io/scrape: "true" name: falco-exporter
namespace:falco
spec: ports: - name:metrics
port: 9376 protocol:TCP
targetPort: 9376 selector: app.kubernetes.io/instance: falco-exporter
app.kubernetes.io/name: falco-exporter1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.接下来,只需要添加 Grafana 面板即可 。导入 11914 ,即 https://grafana.com/grafana/dashboards/11914-falco-dashboard/ 。查看数据如下图:

但 Metrics 中暴露的信息比较有限 ,在 Prometheus 中查询 falco_events{ rule="Read sensitive file untrusted"},免费模板得到结果 falco_events{ app_kubernetes_io_instance="falco-exporter", app_kubernetes_io_managed_by="Helm", app_kubernetes_io_name="falco-exporter", app_kubernetes_io_versinotallow="0.8.0", helm_sh_chart="falco-exporter-0.9.1", hostname="falco-h57xg", instance="1.1.1.1:9376", job="kubernetes-service-endpoints", k8s_ns_name="<NA>", k8s_pod_name="<NA>", namespace="falco", node="node1", priority="4", rule="Read sensitive file untrusted", service="falco-exporter", source="syscall", tags=",T1020,T1083,T1212,T1552,T1555,container,filesystem,host,mitre_credential_access,mitre_discovery,"} ,并不会展示执行的用户 、执行的命令等详情信息 ,只能看到事件的优先级 、触发的规则等有限的信息。
5. 使用 falcosidekick-ui 查看事件
falcosidekick 主要是实现了对事件的集中管理 ,并提供丰富的告警通道能力,香港云服务器能够将告警发送给 slack、rocketchat、elasticsearch 等 [5] 。
而 falco-falcosidekick-ui 提供了对 falco 事件的查看能力。
安装 falco-falcosidekick-ui刚才在安装 falco 时 ,已经添加如下参数,因此 falcosidekick 及 falcosidekick-ui 已经安装 。
复制--set falcosidekick.enabled=true \ --set falcosidekick.webui.enabled=true \ --set falcosidekick.webui.user="admin:admin"1.2.3. 暴服务端口 复制kubectl -n falco patch svc falco-falcosidekick-ui --patch \ { "spec": { "type": "NodePort", "ports": [ { "nodePort": 32000, "port": 2802, "protocol": "TCP", "targetPort": 2802 } ] } }1.2. 登录页面查看 UI通过主机 IP:32000 端口,即可打开 falcosidekick ui 的页面 。默认账户是 admin ,默认密码是 admin 。源码下载
在主机上,读取敏感文件 cat /etc/shadow 之后 ,在 falcosidekick ui 页面就可以查看到相关的事件,如下图:

Output 内容 ,由于是主机上的操作 ,会缺失集群相关字段 ,但文件 、命令等信息会丰富不少:
复制Warning Sensitive file opened for reading by non-trusted program (user=root user_loginuid=1001 program=cat command=cat /etc/shadow pid=54909 file=/etc/shadow parent=bash gparent=sudo ggparent=bash gggparent=sshd container_id=host image=<NA>) k8s.ns=<NA> k8s.pod=<NA> cnotallow=host1.Dashboard 页面提供的是全局统计的视图,可以从整体上对集群、源码库主机的安全进行评估 ,视图如下:

6. 参考
https://github.com/falcosecurity/rules/blob/main/rules/falco_rules.yamlhttps://falco.org/docs/rules/basic-elements/https://falco.org/docs/grpc/grpc-config/https://github.com/falcosecurity/charts/tree/master/falco#enabling-grpchttps://github.com/falcosecurity/falcosidekickTags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“商站动力”。http://www.noorid.com/news/490d899501.html
上一篇:适用于任何公司的网络安全架构
相关文章
“AI 换脸”技术被滥用,揭示网络安全骗局的冰山一角
IT资讯今年以来,随着ChatGPT和GPT-4等技术的应用,深度合成产品和服务日渐增多。利用AI换脸、AI拟声等虚假音视频进行诈骗的违法行为屡见不鲜,这些新的诈骗手法十分隐蔽和高效,给社会造成很大的安全威胁 ...
【IT资讯】
阅读更多新闻超秘是什么?有什么功能?新闻超秘app有什么用
IT资讯腾讯即将推出一款智能资讯App;新闻超秘”,新闻超秘app里面所有稿件都是由机器人系统筛选整合而成。新闻超秘app的任务就是快速捕捉事件核心,整合出最直观简洁的新闻内容。再2015年腾讯推出的写稿机器 ...
【IT资讯】
阅读更多大美卡和小美卡有什么区别 联通大美卡和小美卡
IT资讯大美卡和小美卡的最大区别就是在套餐价格不一样,已经套餐内容大小不一样。大美卡包含的流量和语音比小美卡多。大家可以根据自己的需求购买哦!大美卡月费为96元,套餐内容包含6GB国内流量+600分钟国内语音 ...
【IT资讯】
阅读更多
热门文章
最新文章
友情链接
- 探索Nowallprime的性(无墙壁体验的未来——Nowallprime的突破性创新)
- SupremeFXS1220音效技术评测(探索SupremeFXS1220音效芯片的卓越性能与创新功能)
- 解决未安装音频输出设备的问题(如何在没有音频输出设备的情况下获得音频输出?)
- 开博尔Q1(探索开博尔Q1的性能、安全和可靠性,让你爱上电动出行)
- 索尼手提电脑大白菜重装系统教程(详细步骤教你轻松重装索尼手提电脑系统)
- 相机CF卡芯片损坏解决方法(教你应对相机CF卡芯片损坏的情况,避免数据丢失)
- 海尔电视品牌的质量与口碑如何?(揭秘海尔电视品牌的关键优势和用户评价)
- 如何更换联想Ideapad720s键盘(简单、快速、有效,轻松替换您的键盘)
- 小米Note2(小米Note2在市场上受到广泛关注,销量持续飙升)
- EA888发动机(卓越性能、可靠稳定、绿色环保的EA888发动机) 企业服务器香港物理机云服务器源码库b2b信息平台亿华云网站建设