之前討論過在執行 Debian 或 Ubuntu Linux 發行版的系統上安裝 Tripwire,作為檢測系統入侵的一種方法,這一次 WordPress 站羣美國站羣服務器商將繼續介紹設定和執行它。
初始化資料庫
當停止工作時,將 Tripwire 配置為一個基本配置,稍後根據需要對其進行調整。首先,初始化資料庫,這也將標記在配置中也需要調整的問題,這可以通過以下命令來完成:
sudo Tripwire –init
系統將提示輸入本地密碼才能繼續,然後會有大量訊息在螢幕上滾動,要獲得問題列表,可以使用–check 標誌執行 Tripwire,這將建立大量輸出,因此最好將其傳輸到較少的命令:
sudo sh -c ‘Tripwire –check | less’
問題列在輸出的末尾,經過多次滾動之後,這將主要由 Tripwire 試圖監控的檔案組成,這些檔案在系統上並不存在,獲取檔案列表的一種簡單方法是使用 grep 輸入 “檔名”,然後將輸出寫入檔案:
sudo sh -c ‘Tripwire –check | grep Filename》Tripwire_file_errors’
然後,該檔案將成為 Tripwire 試圖監控的導致錯誤的檔案列表。然後,可以使用較少的或使用文字編輯器檢視此檔案:
less Tripwire_file_errors
管理員需要記錄所有這些檔案,因為需要編輯 Tripwire 策略配置檔案來註釋匹配行。這將阻止 Tripwire 嘗試檢查這些檔案:
sudo nano /etc/Tripwire/twpol.txt
資料夾
此配置檔案首先根據檔案的使用方式定義可應用於系統上檔案的嚴重性級別。然後是一組規則,每個規則集被分成兩部分。規則括號 “()” 中的第一節提供規則的名稱和分配給此規則檢測到的更改的嚴重性。之後,在大括號 “{}” 中,會出現作為該規則一部分監控的檔案和目錄的列表,以及該檔案中允許更改的設定。作為測試中的一個例子,檔案/etc/rc.boot 丟失並導致錯誤,在 twpol.txt 檔案中,可以在 “啓動指令碼” 部分找到它,該行如下所示:
/etc/rc.boot -》$(SEC_BIN);
要對其進行註釋,只需在行的開頭新增一個雜湊符號 “#”,如下所示:
# /etc/rc.boot -》$(SEC_BIN);
對於錯誤列表中可以找到匹配的所有檔案,需要執行此操作。
瀏覽完列表後,可能會發現/proc 中有許多檔案會導致錯誤,例如測試示例:
Filename: /proc/1414/task/1414/fd/3
這將引用正在執行的程序的檔案描述符。當程序訪問各種檔案時,它們一直在變化;每次執行新的應用程式時,它都會啓動一個新的程序,因此監控這些程序會標記出大量錯誤的肯定響應。這裏的站羣解決方案是在引用要檢查的 /proc 中的位置時要精確得多。在配置檔案中,它在 “裝置和核心資訊” 下被引用,在我的檔案中簡單地引用了 /dev 和/proc 。這又帶來了另一個錯誤:在 Debian 和 Ubuntu 系統上/dev/pts 與/dev 在不同的檔案系統上,因此,Tripwire 只會在特別要求時檢查它。因此,站羣解決方案是將此部分改為:
{
/dev -> $(Device);
/dev/pts -> $(Device);
#/proc -> $(Device);
/proc/cpuinfo -> $(Device);
/proc/devices -> $(Device);
/proc/dma -> $(Device);
/proc/filesystems -> $(Device);
/proc/interrupts -> $(Device);
/proc/ioports -> $(Device);
/proc/kcore -> $(Device);
/proc/kmsg -> $(Device);
/proc/loadavg -> $(Device);
/proc/locks -> $(Device);
/proc/meminfo -> $(Device);
/proc/misc -> $(Device);
/proc/modules -> $(Device);
/proc/mounts -> $(Device);
/proc/net -> $(Device);
/proc/scsi -> $(Device);
/proc/self -> $(Device);
/proc/stat -> $(Device);
/proc/sys -> $(Device);
/proc/tty -> $(Device);
/proc/uptime -》$(Device);
}
最後一步是註釋目錄 “/var/lock” 和 “/var/run” 的行,因為這些行將在正常系統操作過程中更改,並且除非特別想知道程序何時更改 ID 等,否則不必監控這些資訊。通過對配置檔案所做的更改,可以再次儲存更改,然後重新加密配置。
sudo twadmin -m P /etc/Tripwire/twpol.txt
同樣,還需要那個網站的密碼。對策略進行加密以供使用後,可以重新初始化資料庫:
sudo Tripwire –init
現在,如果通過檢查執行 Tripwire,那麼輸出應該更小,錯誤應該消失。此時,已經為 Tripwire 配置了系統所需的基礎知識。管理員應該能夠從配置檔案中看到如何著手建立用於監控系統上其他檔案的新區段,例如檢查網站的檔案,以確保它們沒有被意外地更改。雖然配置好了 Tripwire,但是還有工作沒有完成。下一次的內容 WordPress 站羣美國站羣服務器商將研究如何讓 Tripwire 自動檢查系統是否有入侵,並通過電子郵件向管理員傳送任何報告。