成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用 Falco 監(jiān)聽運(yùn)行時(shí)安全

安全 應(yīng)用安全
Falco 實(shí)現(xiàn)了一套可擴(kuò)展的事件規(guī)則過濾引擎,通過獲取事件、匹配安全規(guī)則、產(chǎn)生告警通知系列操作,能夠發(fā)現(xiàn)系統(tǒng)中的安全問題。

?1. Falco 是什么

Falco 是由 Sysdig 貢獻(xiàn)給 CNCF 的云原生運(yùn)行時(shí)安全相關(guān)項(xiàng)目。

Falco 實(shí)現(xiàn)了一套可擴(kuò)展的事件規(guī)則過濾引擎,通過獲取事件、匹配安全規(guī)則、產(chǎn)生告警通知系列操作,能夠發(fā)現(xiàn)系統(tǒng)中的安全問題。其中的事件來自系統(tǒng)調(diào)用,同時(shí)也支持 ebpf 探針,規(guī)則是開源的[1],可以自行定義擴(kuò)展[2]。下圖為其架構(gòu)圖:

圖片

Falco 可以檢測(cè)到的典型事件包括:

  • 在容器中運(yùn)行 shell
  • 以特權(quán)形式運(yùn)行的容器
  • 讀取敏感數(shù)據(jù),比如 /etc/shadow
  • 容器掛載主機(jī)的敏感路徑
  • 出站網(wǎng)絡(luò)連接

2. 生成證書

Falco 的 gRPC 需要雙向的 TLS 認(rèn)證 [3]。Falco exporter 通過 gRPC 暴露相關(guān)事件,自研的系統(tǒng)也可以通過 gRPC 直接集成 Falco。下面的步驟用來生成交互所需的證書,F(xiàn)alco 官方的文檔有些陳舊,有些操作會(huì)報(bào)錯(cuò)。

  • 創(chuàng)建證書目錄
mkdir /root/falco
cd /root/falco
  • 創(chuàng)建 CA 證書
openssl genrsa -out ca.key 4096

openssl 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.crt
  • 創(chuàng)建服務(wù)端證書
openssl genrsa -out server.key 4096

openssl 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 01
  • 創(chuàng)建客戶端證書
openssl genrsa -out client.key 4096

openssl 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 01
  • 查看全部生成的證書
ls /root/falco

ca.crt ca.key client.crt client.csr client.key server.crt server.csr server.key

3. 在 Kubernetes 上安裝 Falco

  • 添加 Helm 源
helm repo add falcosecurity https://falcosecurity.github.io/charts
helm repo update
  • 安裝 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=""
  • 安裝 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.crt
  • 查看服務(wù)

在運(yùn)行過程中會(huì)請(qǐng)求 ghcr.io 下載默認(rèn)規(guī)則 falco_rules.yaml.tar.gz,在網(wǎng)絡(luò)受限環(huán)境下,可能會(huì)下載失敗。

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
...
  • [可選]卸載 Falco
helm uninstall falco --namespace falco
helm uninstall falco-exporter --namespace falco

4. 使用 Grafana 面板查看 Falco 事件數(shù)據(jù)

通過查看 falco-exporter svc 可以看到其已經(jīng)將 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-exporter

接下來,只需要添加 Grafana 面板即可。導(dǎo)入 11914,即 https://grafana.com/grafana/dashboards/11914-falco-dashboard/。查看數(shù)據(jù)如下圖:

圖片

但 Metrics 中暴露的信息比較有限,在 Prometheus 中查詢 falco_events{rule="Read sensitive file untrusted"}?,得到結(jié)果 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,"} ,并不會(huì)展示執(zhí)行的用戶、執(zhí)行的命令等詳情信息,只能看到事件的優(yōu)先級(jí)、觸發(fā)的規(guī)則等有限的信息。

5. 使用 falcosidekick-ui 查看事件

falcosidekick 主要是實(shí)現(xiàn)了對(duì)事件的集中管理,并提供豐富的告警通道能力,能夠?qū)⒏婢l(fā)送給 slack、rocketchat、elasticsearch 等 [5]。

而 falco-falcosidekick-ui 提供了對(duì) falco 事件的查看能力。

  • 安裝 falco-falcosidekick-ui

剛才在安裝 falco 時(shí),已經(jīng)添加如下參數(shù),因此 falcosidekick 及 falcosidekick-ui 已經(jīng)安裝。

--set falcosidekick.enabled=true \
--set falcosidekick.webui.enabled=true \
--set falcosidekick.webui.user="admin:admin"
  • 暴服務(wù)端口
kubectl -n falco patch svc falco-falcosidekick-ui  --patch \
'{"spec": { "type": "NodePort", "ports": [ { "nodePort": 32000, "port": 2802, "protocol": "TCP", "targetPort": 2802 } ] } }'
  • 登錄頁(yè)面查看 UI

通過主機(jī) IP:32000 端口,即可打開 falcosidekick ui 的頁(yè)面。默認(rèn)賬戶是 admin,默認(rèn)密碼是 admin。

在主機(jī)上,讀取敏感文件 cat /etc/shadow 之后,在 falcosidekick ui 頁(yè)面就可以查看到相關(guān)的事件,如下圖:

圖片

Output 內(nèi)容,由于是主機(jī)上的操作,會(huì)缺失集群相關(guān)字段,但文件、命令等信息會(huì)豐富不少:

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=host

Dashboard 頁(yè)面提供的是全局統(tǒng)計(jì)的視圖,可以從整體上對(duì)集群、主機(jī)的安全進(jìn)行評(píng)估,視圖如下:

圖片

6. 參考

  1. https://github.com/falcosecurity/rules/blob/main/rules/falco_rules.yaml
  2. https://falco.org/docs/rules/basic-elements/
  3. https://falco.org/docs/grpc/grpc-config/
  4. https://github.com/falcosecurity/charts/tree/master/falco#enabling-grpc
  5. https://github.com/falcosecurity/falcosidekick
責(zé)任編輯:武曉燕 來源: 陳少文
相關(guān)推薦

2023-01-03 09:10:21

2015-07-20 15:44:46

Swift框架MJExtension反射

2024-03-21 09:15:58

JS運(yùn)行的JavaScrip

2009-06-17 15:46:36

Java運(yùn)行時(shí)本機(jī)內(nèi)存

2019-07-12 09:30:12

DashboardDockerDNS

2021-09-11 15:38:23

容器運(yùn)行鏡像開放

2009-09-22 12:00:35

ibmdwJava

2010-02-25 16:27:44

WCF擴(kuò)展點(diǎn)

2013-11-26 16:49:55

Android開發(fā)運(yùn)行時(shí)KitKat

2021-08-18 08:32:09

代碼運(yùn)行時(shí)間示波器

2020-12-07 13:31:43

GoMutex開發(fā)者

2023-07-28 10:42:43

2024-03-20 10:46:00

云原生容器

2022-01-19 08:50:53

設(shè)備樹Linux文件系統(tǒng)

2024-12-09 13:00:00

C++類型安全

2023-08-29 08:20:35

Kubernete跨云容器

2021-08-27 00:21:19

JSJust源碼

2022-12-30 08:08:30

2022-09-07 08:11:30

LinuxLKRG結(jié)構(gòu)體

2025-04-01 03:10:00

ZodTypeScript安全
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美日韩亚洲一区 | 91视频中文 | 久久免费国产 | 国产成人网 | 中文字幕视频在线观看 | 久久精品综合 | 久久久久网站 | 色吊丝2288sds中文字幕 | 免费高潮视频95在线观看网站 | 在线观看视频91 | 亚洲一级视频在线 | www.4567| 亚洲一区二区三区高清 | 天天精品综合 | 亚洲一区二区精品视频 | 久久久久久91香蕉国产 | 亚洲精品国产偷自在线观看 | 成人性视频免费网站 | 日韩欧美在线观看视频 | 欧美亚州综合 | 日本在线视频中文字幕 | 亚洲一区免费视频 | 嫩草视频在线免费观看 | 久久一区二区三区四区 | 免费在线观看成年人视频 | 欧美一级做性受免费大片免费 | 日韩高清在线 | 免费在线成人 | 亚洲精品国产成人 | 综合久久综合久久 | 亚洲午夜av | 免费精品在线视频 | 国产乱精品一区二区三区 | 999观看免费高清www | a免费在线 | 国产精品一区久久久 | 色视频欧美| 久久曰视频 | 久久91 | 国产精品自产拍在线观看蜜 | 欧美日韩国产在线 |