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