如何在CentOS 8上安裝和使用AIDE(進階入侵偵測環境)

課程開始前 《Linux 管理員》 我們準備了有趣材料的翻譯。

如何在CentOS 8上安裝和使用AIDE(進階入侵偵測環境)

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

如何在CentOS 8上安裝和使用AIDE(進階入侵偵測環境)

建立並初始化資料庫

安裝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

添加評論