課程開始前
AIDE 代表“高級入侵檢測環境”,是用於監視基於 Linux 的作業系統中的變化的最受歡迎的系統之一。 AIDE 用於防範惡意軟體、病毒並偵測未經授權的活動。 為了驗證文件完整性並偵測入侵,AIDE 會建立文件資訊資料庫並將系統的當前狀態與該資料庫進行比較。 AIDE 透過關注已修改的文件來幫助減少事件調查時間。
輔助功能:
- 支援多種檔案屬性,包括:檔案類型、inode、uid、gid、權限、連結數、mtime、ctime、atime。
- 支援 Gzip 壓縮、SELinux、XAttrs、Posix ACL 和檔案系統屬性。
- 支援多種演算法包括md5、sha1、sha256、sha512、rmd160、crc32等
- 透過電子郵件發送通知。
在本文中,我們將了解如何在 CentOS 8 上安裝和使用 AIDE 進行入侵偵測。
先決條件
- 運行 CentOS 8 的伺服器,至少具有 2 GB RAM。
- 根訪問權限
入門
建議先更新系統。 為此,請執行以下命令。
dnf update -y
更新後,重新啟動系統以使變更生效。
安裝AIDE
AIDE 在預設的 CentOS 8 儲存庫中可用,您可以透過執行以下命令輕鬆安裝它:
dnf install aide -y
安裝完成後,可以使用以下指令查看AIDE版本:
aide --version
您應該看到以下內容:
Aide 0.16
Compiled with the following options:
WITH_MMAP
WITH_PCRE
WITH_POSIX_ACL
WITH_SELINUX
WITH_XATTR
WITH_E2FSATTRS
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_CURL
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf"
可用選項 aide
可以如下查看:
aide --help
建立並初始化資料庫
安裝AIDE後要做的第一件事就是初始化它。 初始化包括建立伺服器上所有檔案和目錄的資料庫(快照)。
若要初始化資料庫,請執行以下命令:
aide --init
您應該看到以下內容:
Start timestamp: 2020-01-16 03:03:19 -0500 (AIDE 0.16)
AIDE initialized database at /var/lib/aide/aide.db.new.gz
Number of entries: 49472
---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------
/var/lib/aide/aide.db.new.gz
MD5 : 4N79P7hPE2uxJJ1o7na9sA==
SHA1 : Ic2XBj50MKiPd1UGrtcUk4LGs0M=
RMD160 : rHMMy5WwHVb9TGUc+TBHFHsPCrk=
TIGER : vkb2bvB1r7DbT3n6d1qYVfDzrNCzTkI0
SHA256 : tW3KmjcDef2gNXYqnOPT1l0gDFd0tBh9
xWXT2iaEHgQ=
SHA512 : VPMRQnz72+JRgNQhL16dxQC9c+GiYB8g
uZp6uZNqTvTdxw+w/IYDSanTtt/fEkiI
nDw6lgDNI/ls2esijukliQ==
End timestamp: 2020-01-16 03:03:44 -0500 (run time: 0m 25s)
上面的指令將會建立一個新的資料庫 aide.db.new.gz
在目錄中 /var/lib/aide
。 可以使用以下命令查看:
ls -l /var/lib/aide
其結果是:
total 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz
AIDE 將不會使用這個新的資料庫文件,直到將其重新命名為 aide.db.gz
。 這可以如下完成:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
建議您定期更新此資料庫,以確保正確監控變更。
您可以透過變更參數來變更資料庫的位置 DBDIR
在文件中 /etc/aide.conf
.
運行檢查
AIDE 現在已準備好使用新資料庫。 執行第一個 AIDE 檢查而不進行任何更改:
aide --check
該命令將需要一些時間才能完成,具體取決於檔案系統的大小和伺服器上的 RAM 量。 掃描完成後,您應該會看到以下內容:
Start timestamp: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!
上面的輸出顯示所有檔案和目錄都與 AIDE 資料庫相符。
測試助手
預設情況下,AIDE 不會追蹤預設的 Apache 根目錄 /var/www/html.
讓我們配置AIDE來查看它。 為此,您需要更改文件 /etc/aide.conf
.
nano /etc/aide.conf
添加上面的行 "/root/CONTENT_EX"
以下內容:
/var/www/html/ CONTENT_EX
接下來,建立一個文件 aide.txt
在目錄中 /var/www/html/
使用以下命令:
echo "Test AIDE" > /var/www/html/aide.txt
現在執行 AIDE 檢查並確保偵測到已建立的檔案。
aide --check
您應該看到以下內容:
Start timestamp: 2020-01-16 03:09:40 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!
Summary:
Total number of entries: 49475
Added entries: 1
Removed entries: 0
Changed entries: 0
---------------------------------------------------
Added entries:
---------------------------------------------------
f++++++++++++++++: /var/www/html/aide.txt
我們看到創建的文件被檢測到 aide.txt
.
分析偵測到的變更後,更新 AIDE 資料庫。
aide --update
更新後您將看到以下內容:
Start timestamp: 2020-01-16 03:10:41 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!
New AIDE database written to /var/lib/aide/aide.db.new.gz
Summary:
Total number of entries: 49475
Added entries: 1
Removed entries: 0
Changed entries: 0
---------------------------------------------------
Added entries:
---------------------------------------------------
f++++++++++++++++: /var/www/html/aide.txt
上面的指令將會建立一個新的資料庫 aide.db.new.gz
在目錄中
/var/lib/aide/
您可以使用以下命令查看它:
ls -l /var/lib/aide/
其結果是:
total 5600
-rw------- 1 root root 2864012 Jan 16 03:09 aide.db.gz
-rw------- 1 root root 2864100 Jan 16 03:11 aide.db.new.gz
現在再次重新命名新資料庫,以便 AIDE 使用新資料庫來追蹤進一步的變更。 您可以將其重命名如下:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
再次執行檢查以確保 AIDE 使用新資料庫:
aide --check
您應該看到以下內容:
Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!
我們自動化檢查
每天進行 AIDE 檢查並郵寄報告是個好主意。 這個過程可以使用 cron 自動化。
nano /etc/crontab
若要每天 10:15 執行 AIDE 檢查,請將以下行新增至檔案末端:
15 10 * * * root /usr/sbin/aide --check
AIDE 現在將會透過郵件通知您。 您可以使用以下命令檢查您的郵件:
tail -f /var/mail/root
可以使用以下指令查看AIDE日誌:
tail -f /var/log/aide/aide.log
結論
在本文中,您學習如何使用 AIDE 偵測檔案變更並識別未經授權的伺服器存取。 對於其他設置,您可以編輯 /etc/aide.conf 設定檔。 出於安全原因,建議將資料庫和設定檔儲存在唯讀媒體上。 更多資訊可以在文件中找到
來源: www.habr.com