隨時掌握處理程序、對外連線狀態、系統記憶體、使用者資訊、歷史指令等系統資源,是系統管理者最重要的工作內容。本文將介紹一套開源碼系統管理工具osquery,讓管理者可以透過關連式資料庫的SQL語法來隨時查看所需的系統資源相關資訊。
[-j]:目標(表示設定規則的目的),常用目標選項如下:ACCEPT(表示允許封包通過)、DROP(表示將封包丟棄)、RETURN(表示直接離開目前規則,直接跳到下個規則比對)、QUEUE(表示將封包重導到本機的佇列QUEUE中,通常用來供其他應用程式處理)。
除此之外,可執行「iptables -L」指令來顯示系統防火牆的設定資訊,圖9所示為輸出的結果。在osquery中,可利用iptables資料庫表格來取得系統防火牆設定的相關資訊,執行「select * from iptables」指令即可取得相關的資訊,如圖10所示,相關的欄位說明如表4所示。
|
▲圖9 檢視系統防火牆的設定資訊。 |
|
▲圖10 取得系統防火牆設定的相關資訊。 |
表4 欄位說明
取得使用者資訊
以Linux系統而言,並沒有提供適當的指令來查看系統內使用者的資訊,例如查看系統的使用者列表。一般會利用查看「/etc/passwd」檔案的方式來間接取得系統內的使用者資訊,但在osquery中,可利用user資料庫表格來取得使用相關資訊,如圖11所示,執行「select * from user;」指令可查詢到相關的資訊,相關欄位說明如表5所示。
|
▲圖11 查詢使用者資訊。 |
表5 相關欄位說明
顯示歷史指令
在Linux系統內,如果想查看過去曾經執行過的指令,可透過查看在家目錄下.bash_history檔案的內容來得知。而在osquery中,可利用shell_history資料庫表格來取得所執行過的指令,使用「select * from shell_history」指令就能夠取得相關的資訊,如圖12所示。
|
▲圖12 查詢所執行過的指令。 |
<本文作者:吳惠麟,多年資安經驗,喜好利用開源碼建構相關解決方案,著有「資訊安全原理與實驗」等書。>