Tripwire是一個免費的開源入侵檢測系統(IDS)。 它是用於監視和警告系統上文件更改的安全工具。 Tripwire是一個功能強大的IDS,能夠保護您的系統免受沒必要要的更改。 您可使用它來監控您的系統文件,包括網站文件,所以當有不須要的文件更改時,Tripwire會檢查您的系統,若是設置正確,能夠經過電子郵件提醒您。php
在本教程中,咱們將向您展現如何使用CentOS 7系統上的Tripwire監控和檢測系統文件中的任何更改。 咱們將向您展現如何在CentOS 7上安裝和配置Tripwire,如何生成Tripwire密鑰文件,配置和添加tripwire策略,檢查系統以及爲tripwire和cron設置啓用電子郵件通知。html
咱們必須作的第一步是將Tripwire安裝到系統上。 默認狀況下,tripwire在CentOS 7存儲庫中可用。git
登陸到您的服務器並更新全部軟件包。github
ssh root@hakase-labs.co
sudo yum update -y數據庫
如今使用yum安裝Tripwire。vim
yum -y install tripwirecentos
安裝完成後,咱們須要生成新的密鑰文件。安全
Tripwire使用2個關鍵文件。bash
咱們使用下面的命令生成新的tripwire密鑰文件(站點和本地密鑰)。服務器
sudo tripwire-setup-keyfiles
該命令將生成兩個密鑰文件「site-key」和「local-key」,而且您將被要求輸入每一個密碼。
輸入您本身的「 網站密鑰 」密碼,而後按Enter鍵。
輸入您本身的「 本地密鑰 」密碼並再次按Enter鍵。
接下來,使用'site-key'簽署tripwire配置。
輸入您的「 網站密鑰 」密碼。
如今,爲了簽署Tripwire政策,請輸入您的「 本地密鑰 」密碼。
Tripwire已安裝在CentOS 7上,新的tripwire配置和密鑰位於'/ etc / tripwire'目錄中。
在咱們第一步討論的tripwire安裝以後,咱們須要初始化tripwire數據庫並確保沒有錯誤。
使用下面的tripwire命令初始化tripwire數據庫。
sudo tripwire --init
您將被問到「local-key」密碼短語,您可能會收到錯誤消息「no such directory」,以下所示。
咱們獲得錯誤是由於系統沒有在tripwire配置中已經定義的目錄和文件。 爲了解決這個錯誤,咱們須要編輯tripwire配置'twpol.txt'並從新簽署tripwire配置。
如今使用下面的命令從tripwire生成日誌錯誤。
sudo sh -c "tripwire --check | grep Filename > no-directory.txt"
全部不存在於CentOS 7系統上的目錄和文件都列在文件'mo-directory.txt'中
cat no-directory.txt
使用如下bash腳本編輯tripwire配置'twpol.txt' - 在終端上運行此腳本。
for f in $(grep "Filename:" no-directory.txt | cut -f2 -d:); do
sed -i "s|\($f\) |#\\1|g" /etc/tripwire/twpol.txt
done
畢竟,咱們須要使用twadmin命令從新生成並從新簽署tripwire配置,以下所示。
sudo twadmin -m P /etc/tripwire/twpol.txt
輸入您的「網站密鑰」密碼。
從新初始化tripwire數據庫,並確保沒有錯誤。
sudo tripwire --init
從新初始化tripwire數據庫,沒有任何錯誤。
要驗證tripwire配置,咱們能夠運行系統檢查命令以下。
sudo tripwire --check
你應該獲得相似於如下的結果。
因此這意味着在咱們的系統上沒有發現錯誤和系統違規。
如今咱們將嘗試在根目錄下添加一個新文件,並使用tripwire再次檢查。
轉到根目錄並建立一個新文件'hakase-labs.txt'。
cd ~/
touch hakase-labs.txt
如今使用tripwire命令再次檢查系統。
sudo tripwire --check
您將在系統中獲得嚴重程度爲100的新違規的結果,以下所示。
在這個階段,Tripwire爲CentOS 7系統安裝和配置。
在這一步中,咱們將向您展現如何將新規則添加到tripwire策略配置「twpol.txt」。
要執行這項工做,咱們須要定義規則名稱,嚴重程度,監視目錄和文件類型。 在這一步中,咱們將在'/ var / www /'目錄下爲咱們的WordPress安裝建立一個名爲'Wordpress Data'的新規則,嚴重程度爲'HIGH / SIG_HI',而且該目錄中的全部文件都是關鍵的以及源代碼不能更改)。
轉到tripwire配置目錄'/ etc / tripwire'並使用vim編輯配置文件'twpol.txt'。
cd /etc/tripwire/
vim twpol.txt
轉到該行的末尾,並在那裏粘貼如下WordPress規則。
# Ruleset for Wordpress ( rulename = "Wordpress Data", severity= $(SIG_HI) ) { /var/www -> $(SEC_CRIT); }
保存並退出。
使用twadmin命令從新生成並從新簽名配置,以下所示。
sudo twadmin -m P /etc/tripwire/twpol.txt
輸入您的「網站密鑰」密碼。
如今咱們須要再次從新生成tripwire數據庫。
sudo tripwire --init
輸入「本地密鑰」密碼。
新的規則集已添加並應用於Tripwire策略配置。
使用下面的tripwire命令檢查您的系統。
sudo tripwire --check
你應該獲得結果說沒有錯誤和違反。
如今進入'/ var / www /'目錄並在其中建立一個新文件。
cd /var/www/
touch hakase-labs.php
再次使用tripwire進行系統檢查。
sudo tripwire --check
而且您將在安全級別爲高100的'/ var / www /'目錄中獲得說明系統違規的結果。
新規則已添加並應用於Tripwire策略配置。
在這一步中,咱們將爲特定tripwire規則集策略配置通知,並配置用於自動系統檢查的cronjob。 咱們會將任何違反'WordPress數據'規則的報告發送到電子郵件地址' myemail@gmail.com '。
對於電子郵件通知,tripwire在配置中提供了一個'emailto'功能。 默認狀況下,tripwire使用Postfix或Sendmail經過電子郵件發送報告。
在配置電子郵件通知以前,請使用如下命令測試tripwire通知功能。
sudo tripwire --test --email email@gmail.com
檢查你的電子郵件,你應該從你的服務器獲得電子郵件報告以下。
如今進入'/ etc / tripwire'目錄並編輯'twpol.txt'配置。
cd /etc/tripwire/
vim twpol.txt
在'WordPress數據'規則中添加新行'emailto',以下所示。
# Ruleset for Wordpress ( rulename = "Wordpress Data", severity= $(SIG_HI), emailto = myemail@gmail.com ) { /var/www -> $(SEC_CRIT); }
保存並退出。
使用twadmin命令從新生成並簽署配置。
sudo twadmin -m P /etc/tripwire/twpol.txt
輸入您的「網站密鑰」密碼。
並從新生成tripwire數據庫。
sudo tripwire --init
輸入您的tripwire'local-key'密碼。
Tripwire電子郵件通知的配置已完成。
如今經過在'/ var / www /'目錄中再次建立一個新文件來作一些測試。
cd /var/www/
touch hakase.txt
使用下面的命令再次檢查您的系統。
sudo tripwire --check --email-report
注意:
檢查你的電子郵件,你應該在電子郵件中獲得以下結果。
Tripwire的電子郵件通知已啓用並應用。
接下來,咱們將使用cron setup啓用自動Tripwire系統檢查。 爲此,請使用下面的crontab命令在root用戶下建立一個新的cron腳本。
sudo crontab -e -u root
粘貼如下cron配置。
0 0 * * * tripwire --check --email-report
保存並退出。
注意:
如今從新啓動CentOS 7上的crond服務。
systemctl restart crond
如今,您將天天收到tripwire報告通知到您的電子郵件。
Tripwire已經安裝並配置用於CentOS 7系統。
參考: