官术网_书友最值得收藏!

2.1 在本地環(huán)境上運行Falco

盡管Falco不是那種典型的應(yīng)用程序,但在本地機器上安裝和運行它非常簡單,你只需要一臺Linux主機或者一臺虛擬機,以及一個終端。我們需要安裝兩個組件:用戶空間程序falco和驅(qū)動程序。驅(qū)動程序用來收集系統(tǒng)調(diào)用,這是Falco中非常常見的數(shù)據(jù)源。簡單起見,本章只關(guān)注系統(tǒng)調(diào)用捕獲。

你將在第3章了解到更多可用的驅(qū)動程序以及為什么我們需要它們來檢測系統(tǒng),并在第4章繼續(xù)探索其他數(shù)據(jù)源。目前,你只需要知道默認的驅(qū)動程序(作為Linux內(nèi)核模塊實現(xiàn))足以收集系統(tǒng)調(diào)用并開始使用Falco。

你將在第8章了解到有很多種方法可以安裝上述組件,在本章中,我們選擇使用二進制包的方式。它適用于幾乎所有的Linux發(fā)行版,但是不提供自動化安裝,你需要手動完成。二進制包涵蓋了falco程序、falco-driver-loader腳本(輔助安裝驅(qū)動程序的實用程序)和許多其他必需的文件。你可以從Falco項目的官方網(wǎng)站(https://falco.org)下載,在那里你還可以找到關(guān)于安裝它的詳細信息。接下來,讓我們開始吧!

2.1.1 下載并安裝二進制包

Falco的二進制包是通過GNU zip(gzip)壓縮的tar包形式分發(fā)的。tar包的文件名為falco-<x.y.z>-<arch>.tar.gz,其中<x.y.z>是Falco發(fā)行版的版本,<arch>是包的底層架構(gòu)(例如,x86_64)。

Falco的下載頁面(https://oreil.ly/Hx6Dy)列出了所有可用的軟件包,你可以獲取二進制包的URL并在本地下載它,例如,通過curl命令:

下載tar包后,解壓縮也非常簡單:

剛剛提取的tar包內(nèi)容需要復(fù)制到本地文件系統(tǒng)的根目錄“/”下,不需要任何特殊的安裝過程。要復(fù)制文件,需要以root用戶運行命令:

現(xiàn)在我們可以安裝驅(qū)動程序了。

2.1.2 安裝驅(qū)動程序

系統(tǒng)調(diào)用是Falco的默認數(shù)據(jù)源。為了檢測Linux內(nèi)核并收集這些系統(tǒng)調(diào)用,它需要一個驅(qū)動程序:一個Linux內(nèi)核模塊或者一個eBPF探針。驅(qū)動程序需要為運行Falco的內(nèi)核的特定版本和配置而構(gòu)建。幸運的是,F(xiàn)alco項目為絕大多數(shù)最常見的Linux發(fā)行版提供了數(shù)以千計的預(yù)構(gòu)建驅(qū)動程序,并提供了各種內(nèi)核版本供下載。如果你的發(fā)行版和內(nèi)核版本還沒有預(yù)構(gòu)建驅(qū)動程序,那么在2.1.1節(jié)安裝的文件中包括內(nèi)核模塊和eBPF探針的源代碼,所以也可以在本地構(gòu)建驅(qū)動程序。

這聽起來可能有點復(fù)雜,但是我們利用剛剛安裝的falco-driver-loader腳本就可以輕松地完成所有這些步驟。在使用腳本之前,你需要安裝一些必要的依賴項:

? 動態(tài)內(nèi)核模塊支持(dkms)

? GNU make

? Linux內(nèi)核頭文件

根據(jù)你使用的包管理器的不同,實際的包名稱可能會有所不同。然而,它們并不難找到。安裝完這些包之后,就可以以root身份運行falco-driver-loader腳本了。如果一切正常,腳本輸出應(yīng)該是這樣的:

輸出中包含了一些有用的信息。第一行報告了正在安裝的Falco和驅(qū)動程序的版本。接下來是腳本將嘗試下載預(yù)構(gòu)建的驅(qū)動程序,以便安裝內(nèi)核模塊。如果找不到合適的預(yù)構(gòu)建驅(qū)動程序,F(xiàn)alco將嘗試在本地構(gòu)建它。輸出的其余部分顯示了通過DKMS構(gòu)建和安裝模塊的過程,以及最終安裝和加載的模塊。

2.1.3 啟動Falco

要啟動Falco,你只需要以root身份[1]運行它:

這里需要注意配置文件和規(guī)則文件的路徑,我們將在第9章和第13章中更詳細地討論這些內(nèi)容。在最后一行中,我們可以看到Web服務(wù)器已經(jīng)啟動,這樣做是因為Falco暴露了一個健康狀況檢查端點,你可以使用該端點驗證它是否已經(jīng)啟動并正在運行。

在本章中,為了便于講解說明,我們簡單地將Falco通過一個交互式shell進程運行。因此,按<Ctrl+C>組合鍵就可以結(jié)束這個過程。在本書中,我們還會向你展示安裝和運行它的其他方法。

一旦Falco打印了這些啟動信息,說明它已經(jīng)做好了準(zhǔn)備,當(dāng)加載規(guī)則集中的條件滿足時,發(fā)出通知。現(xiàn)在,你可能不會看到任何通知(因為我們假設(shè)你的系統(tǒng)上沒有運行惡意程序)。在2.2節(jié)中,我們將生成一個可疑事件。

主站蜘蛛池模板: 同仁县| 莆田市| 两当县| 西乌珠穆沁旗| 萍乡市| 灵宝市| 元氏县| 乌鲁木齐市| 溧阳市| 怀宁县| 凤阳县| 日土县| 五台县| 石狮市| 焦作市| 甘泉县| 乐平市| 福贡县| 铅山县| 建平县| 剑川县| 锦州市| 阳江市| 诸城市| 汉中市| 泸西县| 谷城县| 漳州市| 调兵山市| 吴忠市| 缙云县| 东至县| 辽中县| 包头市| 峨眉山市| 五华县| 阿勒泰市| 杭锦后旗| 达孜县| 丰县| 铅山县|