使用Tripwire保護Linux文件系統
如果惡意軟件或其情況改變了你的文件系統,Linux 完整性檢查工具會提示你。
盡管 Linux 被認為是最安全的操作系統(排在 Windows 和 MacOS 之前),但它仍然容易受到 rootkit 和其他惡意軟件的影響。因此,Linux 用戶需要知道如何保護他們的服務器或個人電腦免遭破壞,他們需要采取的***步就是保護文件系統。
在本文中,我們將看看 Tripwire,這是保護 Linux 文件系統的***工具。Tripwire 是一個完整性檢查工具,使得系統管理員、安全工程師和其他人能夠檢測系統文件的變更。雖然它不是唯一的選擇(AIDE 和 Samhain 提供類似功能),但 Tripwire 可以說是 Linux 系統文件中最常用的完整性檢查程序,并在 GPLv2 許可證下開源。
Tripwire 如何工作
了解 Tripwire 如何運行對了解 Tripwire 在安裝后會做什么有所幫助。Tripwire 主要由兩個部分組成:策略和數據庫。策略列出了完整性檢查器應該生成快照的所有文件和目錄,還創建了用于識別對目錄和文件更改違規的規則。數據庫由 Tripwire 生成的快照組成。
Tripwire 還有一個配置文件,它指定數據庫、策略文件和 Tripwire 可執行文件的位置。它還提供兩個加密密鑰 —— 站點密鑰和本地密鑰 —— 以保護重要文件免遭篡改。站點密鑰保護策略和配置文件,而本地密鑰保護數據庫和生成的報告。
Tripwire 會定期將目錄和文件與數據庫中的快照進行比較并報告所有的更改。
安裝 Tripwire
要 Tripwire,我們需要先下載并安裝它。Tripwire 適用于幾乎所有的 Linux 發行版。你可以從 Sourceforge 下載一個開源版本,并如下根據你的 Linux 版本進行安裝。
Debian 和 Ubuntu 用戶可以使用 apt-get
直接從倉庫安裝 Tripwire。非 root 用戶應該輸入 sudo
命令通過 apt-get
安裝 Tripwire。
sudo apt-get update
sudo apt-get install tripwire
CentOS 和其他基于 RPM 的發行版使用類似的過程。為了***實踐,請在安裝新軟件包(如 Tripwire)之前更新倉庫。命令 yum install epel-release
意思是我們想要安裝額外的存儲庫。 (epel
代表 Extra Packages for Enterprise Linux。)
yum update
yum install epel-release
yum install tripwire
此命令會在安裝中運行讓 Tripwire 有效運行所需的配置。另外,它會在安裝過程中詢問你是否使用密碼。你可以兩個選擇都選擇 “Yes”。
另外,如果需要構建配置文件,請選擇 “Yes”。選擇并確認站點密鑰和本地密鑰的密碼。(建議使用復雜的密碼,例如 Il0ve0pens0urce
這樣的。)
建立并初始化 Tripwire 數據庫
接下來,按照以下步驟初始化 Tripwire 數據庫:
tripwire --init
你需要提供本地密鑰密碼才能運行這些命令。
使用 Tripwire 進行基本的完整性檢查
你可以使用以下命令讓 Tripwire 檢查你的文件或目錄是否已被修改。Tripwire 將文件和目錄與數據庫中的初始快照進行比較的能力依賴于你在活動策略中創建的規則。
tripwire --check
你還可以將 -check
命令限制為特定的文件或目錄,如下所示:
tripwire --check /usr/tmp
另外,如果你需要使用 Tripwire 的 -check
命令的更多幫助,該命令能夠查閱 Tripwire 的手冊:
tripwire --check --help
使用 Tripwire 生成報告
要輕松生成每日系統完整性報告,請使用以下命令創建一個 crontab 任務:
crontab -e
之后,你可以編輯此文件(使用你選擇的文本編輯器)來引入由 cron 運行的任務。例如,你可以使用以下命令設置一個 cron 任務,在每天的 5:40 將 Tripwire 的報告發送到你的郵箱:
40 5 * * * usr/sbin/tripwire --check
無論你決定使用 Tripwire 還是其他具有類似功能的完整性檢查程序,關鍵問題都是確保你有解決方案來保護 Linux 文件系統的安全。