iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 28
1
DevOps

從題目中學習k8s系列 第 28

【從題目中學習k8s】-【Day28】K8s威脅偵測引擎 - Falco


title: 【從題目中學習k8s】-【Day28】K8s威脅偵測引擎 - Falco
description: 以無比的恆毅力堅持30天鍊成鐵人--連續30天,一天發表一篇IT技術文章

【從題目中學習k8s】-【Day28】K8s威脅偵測引擎 - Falco

tags: DevOps CICD K8s Docker

前言

接下來兩天筆者想介紹一些其他的K8s工具,這些工具筆者也剛接觸,還不是很懂,還想介紹給大家,真不要臉,但想透過簡單的介紹,讓大家看看原來K8s還有這麼多好玩又有用的工具。希望和大家一起學習囉~


Falco簡介

Falco 是一個開源的Kubernetes Runtime安全偵測工具。最初由 Sysdig 公司創建,後來捐贈給CNCF組織

Falco 利用 Kernel layer 的工具了解系統行為,並以規則引擎檢測應用程式、容器、底層主機和容器平台的異常行動,當 Falco 偵測到異常行為時 (違反制定的rule),便會發出警報,透過 Slack、Fluentd 和 NATS 等工具通知使用者違規事件及其嚴重性,以降低安全事故發生的風險。
簡單整理一下 Falco 的特點:

  • 主機和容器中異常活動的偵測引擎
  • 利用類似tcpdump之類的語法構建規則
  • 利用 libscap and libsinsp
  • Kubernetes原生支持(context, kube-apiserver audit)

Falco能偵測甚麼異常?

default情況下,Falco 即附帶了一些規則,這些規則會檢查 kernel 是否存在異常行為,例如:

  • namespace是否遭到特定工具 (如setns) 更改
  • 讀寫到 /etc,/usr/bin,/usr/sbin等系統目錄
  • 主機或容器是否在做不應該做的事
  • 所有權和Mode變更
  • 容器產生的過程是否發生意外
  • File system reads, writes (是否有人在運行的容器中安裝了新套件或更改配置)
  • 網路活動 (Nginx容器是否打開新的port或意外的外部連接)
  • 使用者&業務活動 (是否有任何K8s用戶將shell生成到特權容器 (privileged container)中)
  • ...
  • ...
    總之,能偵測的項目非常多,根據設置的 rule 而定

Falco架構




Source: https://www.cncf.io/wp-content/uploads/2020/08/Kubernetes-Runtime-Security-with-Falco-and-Sysdig.pdf


Falco rule

所謂的 Falco 規則,就是 Falco 會堅決反對的事項。它們在Falco 配置中定義,代表將在系統上尋找的東西。

詳細的 Falco 規則細節可以參考這裡


結論

今天簡單介紹k8s的威脅偵測工具 -- Falco,實作的部分就留給大家自行摸索囉~ 好啦,今天就到這囉~ 謝謝大家~

參考資料

The Falco Project
Kubernetes威脅偵測引擎Falco進入CNCF孵化器
Webinar: Kubernetes Runtime Security with Falco and Sysdig

Thank you!

You can find me on

  • george4908090@gmail.com

上一篇
【從題目中學習k8s】-【Day27】K8s叢集的資源監控 2 - Prometheus
下一篇
【從題目中學習k8s】-【Day29】K8s未來的趨勢 - KubeVirt
系列文
從題目中學習k8s31

尚未有邦友留言

立即登入留言