這裡介紹 Lynis 這個 Linux 系統上的安全性掃描檢測工具,它可以幫助系統管理者找出系統漏洞、弱點與惡意程式等威脅。

Lynis 是一個適用於 UNIX/Linux 系統的開放原始碼安全性檢測工具,它可以掃描系統上的基本資訊、安全性相關問題、軟體列表、設定檔錯誤、沒設定密碼的使用者帳號、錯誤的檔案權限、防火牆設定等等。

以下是 Lynis 的安裝與使用方式。

安裝 Lynis

如果是在 Debian 系列的 Linux(例如 Ubuntu、Linux Mint 等)中,可以使用 apt 安裝:

sudo apt-get install lynis

雖然使用 apt 安裝很方便,但是通常 Debian 或 Ubuntu 等 Linux 發行板套件庫中的軟體不會是最新的,而這類的安全性檢測工具對於版本的要求又比一般軟體高,建議可以從 Lynis 的官方網站直接下載最新的版本來安裝:

wget https://cisofy.com/files/lynis-2.2.0.tar.gz

解壓縮之後,就可以直接使用了:

tar zxvf lynis-2.2.0.tar.gz

由於 Lynis 是一個專門給系統管理者使用的檢測工具,需要以管理者權限來執行,為了確保 Lynis 的執行檔與相關的資料檔不會被其他人竄改,Lynis 在執行時會要求這些檔案的擁有者一定要是 root,所以這裡我們先將所有的檔案擁有者改為 root,方便後續的執行動作。

sudo chown -R 0:0 lynis

從 Lynis 官方下載壓縮檔的安裝方式,適用於每一種 Linux 系統,甚至其他 UNIX-like 的系統(例如 FreeBSD、Solaris 與 Mac OS X 等)也都可以依照這樣的方式使用。

使用 Lynis

接下來所有的檢測指令都是以 root 管理者的權限來執行的,首先切換至 root 管理者的權限:

sudo su

進入 lynis 目錄:

cd lynis/

執行 lynis 不帶任何參數的話,會輸出基本的使用說明:

./lynis

linux-security-auditing-and-scanning-with-lynis-tool-1

一開始使用 Lynis 時,可以加上 --check-all 檢查整個系統,這個動作會需要用管理者權限來執行:

./lynis --check-all

接著 Lynis 會進行各式各樣的系統安全性檢查,在檢查的過程中請按 Enter 鍵繼續,若要跳出則按 Ctrl + c

Lynis 各類型檢測

完成所有的檢查之後,會產生這樣的資訊,詳細的報表可以從 /var/log/lynis.dat/var/log/lynis-report.dat 中查詢。

<code>lynis –check-all</code> 結果

如果您的 Lynis 在安裝時,沒有將檔案的擁有者變更為 root,在執行時就會出現這樣的警告,為了避免這些麻煩,請在使用前先變更好 Lynis 相關檔案的擁有者。

Lynis 檔案擁有者警告訊息

如果不想使用管理者權限來執行 Lynis 的話,也可以使用一般使用者的權限進行部份的檢測,只不過這樣會跳過一些需要管理者權限的檢查,檢測就不是那麼徹底:

Lynis 以一般使用者權限進行部份檢測

Lynis 所檢測的項目非常多,如果像要讓它一次檢查所有的項目,不要逐一詢問,可以使用:

./lynis -c -Q

這樣就會一次執行到底,直接輸出最後的報表。

定期掃描

編輯 crontab 的設定檔:

crontab -e

加入這一行,讓 Lynis 每天早上 2:30 自動執行系統安全性掃描:

30  2   *   *   *   root    /path/to/lynis -c -Q --auditor "automated" --cronjob

在使用 crontab 執行 lynis 時可以加上 --cronjob 參數,這樣可以讓一些看不見的特殊字元輸出(例如控制顏色的跳脫序列,escape sequences),另外這裡的 lynis 路徑請自行更改成自己系統上的路徑。

這樣設定好之後,就可以每天從 /var/log/lynis.dat/var/log/lynis-report.dat 中看到最新的安全性檢測報告了。

Lynis 掃描檢測結果

Lynis 進行各項掃描與檢查時,可能會顯示 OK 或是 WARNING 兩種訊息,OK 代表掃描結果正常,而 WARNING 的話則是代表該項目需要注意。然而顯示 OK 的項目不一定保證沒有問題,而 WARNING 的項目也不見得很糟糕,詳細的狀況還是要閱讀 /var/log/lynis.log 中的說明,並且依照上面的指示採取必要的修正動作。

Lynis 掃描結果報表

如果 Lynis 發現某些項目有問題,通常在報表的最後都會有提供相關的修正建議,只要依照這些說明應該就可以修正大部分的問題。

更新 Lynis

要確保系統安全,除了善用 Lynis 這類的檢測工具之外,定期更新工具的版本也是非常重要的,若要顯示 Lynis 的更新資訊,可以執行:

./lynis update info

Lynis 更新資訊

而若要更新 Lynis 的發行版,可以執行:

./lynis update release

參考資料