在Linux系統中,我們通常會面臨需要在不同應用程式和作業系統之間進行資料交換的情況。而傳統的方式就是將資料檔案匯出為XML或CSV等格式進行交換,但是這種方式通常比較麻煩且效率較低。今天,我們將向大家介紹一個更有效率的資料交換方式-ALDE文件,並介紹如何在Linux系統中使用ALDE文件進行快速資料交換。
#AIDE(進階入qin偵測環境)是檔案完整性檢查程式和入qin偵測程式。
特性
主要用途是檢查文件的完整性,審計電腦上哪些文件被更改過。
AIDE根據從/etc/aide.conf設定檔中找到的正規表示式規則建立資料庫。初始化該資料庫後,就可以用來驗證檔案的完整性。也可以檢查所有通常的檔案屬性是否存在不一致。它可以讀取舊版本或更新版本的資料庫。 AIDE資料庫能夠保存檔案的各種屬性,包括:權限(permission)、索引節點序號(inode number)、所屬使用者(user)、所屬使用者群組(group)、檔案大小、最後修改時間(mtime)、建立時間(ctime)、最後造訪時間(atime)、增加的大小以及連線數。 AIDE也能夠使用下列演算法:sha1、md5、rmd160、tiger,以密文形式建立每個檔案的校驗碼或雜湊號碼。
這個資料庫不應該保存那些經常變動的檔案訊息,例如:日誌檔案、郵件、/proc檔案系統、使用者其實目錄、以及暫存目錄。
背景
當一個入qin者進入了你的系統並且種植了木ma,通常會想辦法來隱藏這個木ma(除了木ma自身的一些隱蔽特性外,他會盡量給你檢查系統的過程設置障礙),通常入qin者會修改一些文件,例如管理員通常用ps aux來查看系統進程,那麼入qin者很可能用自己經過修改的ps程序來替換掉你係統上的ps程序,以使用ps命令查不到正在運作的木ma程式。如果入qin者發現管理員正在執行crontab作業,也有可能取代掉crontab程式等等。所以由此可以看出對於系統文件或是關鍵文件的檢查是很必要的。目前就係統完整性檢查的工具用的比較多的有兩款:Tripwire和AIDE,前者是一款商業軟體,後者是一款免費的但功能也很強大的工具。
操作步驟
安裝
[root@CentOS7 ~]# yum -y install aide
修改設定檔
/etc/aide.conf
/etc/aide.conf 預設設定檔路徑
/usr/sbin/aide 預設二進位執行檔路徑
/var/lib/aide 預設資料庫檔案路徑
/var/log/aide 預設日誌檔案路徑
初始化預設的AIDE的函式庫:
`which aide` --init
執行完這步驟操作後會在預設資料庫路徑/var/lib/aide下產生一個名為「aide.db.new.gz」的資料庫文件,/etc/aide.conf中定義的規則都寫入到了該資料庫檔案中。
產生檢查資料庫(建議初始化資料庫存放到安全的地方)
mv /var/lib/aide/aide.db{.new,}.gz
因為aide預設是從aide.db.gz資料庫檔案讀取/etc/aide.conf檔案中定義的規則來偵測檔案完整性的,所以需要重新命名初始化的函式庫檔案。
檢測
`which aide` --check
更新資料庫
`which aide` --update
偵測完需要更新檔案資料庫,否則下次偵測還是從舊的檔案資料庫讀取規則來偵測檔案的完整性。同時需要重命名資料庫檔案
AIDE預設規則
# #p: permissions #i: inode: #n: number of links #u: user #g: group #s: size #b: block count #m: mtime #a: atime #c: ctime #S: check for growing size #acl: Access Control Lists #selinux SELinux security context #xattrs: Extended file attributes #md5: md5 checksum #sha1: sha1 checksum #sha256: sha256 checksum #sha512: sha512 checksum #rmd160: rmd160 checksum #tiger: tiger checksum #haval: haval checksum (MHASH only) #gost: gost checksum (MHASH only) #crc32: crc32 checksum (MHASH only) #whirlpool: whirlpool checksum (MHASH only)
AIDE規則定義及使用
規則定義格式:規則名稱 = 具體規則
【例】:TEST = a m c
規則使用格式:檔案/目錄 規則名稱
【例】:/dir1 TEST
註:如果在檔案或目錄前面加了“!”,則表示忽略檢測
AIDE規則驗證
在/etc/aide.conf檔案中定義如下規則,這裡的/dir1目錄剛開始是空的。
TEST = a c m
/dir1 TES
測試1:
在該目錄下建立一個新的檔案file1,並寫入”hello aide”
[root@CentOS7 ~]# aide --check AIDE, version 0.15.1 ### All files match AIDE database. Looks okay! [root@CentOS7 ~]# echo "hello aide" > /dir1/file1 [root@CentOS7 ~]# aide --check AIDE 0.15.1 found differences between database and filesystem!! Start timestamp: 2019-11-10 19:12:57 Summary: Total number of files: 3 Added files: 1 Removed files: 0 Changed files: 1 --------------------------------------------------- Added files: --------------------------------------------------- added: /dir1/file1 --------------------------------------------------- Changed files: --------------------------------------------------- changed: /dir1 --------------------------------------------------- Detailed information about changes: --------------------------------------------------- Directory: /dir1 Mtime : 2019-11-10 19:12:00 , 2019-11-10 19:12:55 Ctime : 2019-11-10 19:12:00 , 2019-11-10 19:12:55
以上輸出表示在/dir1目錄下新增了file1文件,並且修改了/dir1目錄的Ctime和Mtime屬性
測試2:
將/dir1/file1檔案的內容由”hello aide”修改為”hello world”
[root@CentOS7 ~]# sed -i '/hello/c hello world' /dir1/file1 ; cat /dir1/file1 hello world [root@CentOS7 ~]# aide --check AIDE 0.15.1 found differences between database and filesystem!! Start timestamp: 2019-11-10 19:14:34 Summary: Total number of files: 3 Added files: 1 Removed files: 0 Changed files: 1 --------------------------------------------------- Added files: --------------------------------------------------- added: /dir1/file1 --------------------------------------------------- Changed files: --------------------------------------------------- changed: /dir1 --------------------------------------------------- Detailed information about changes: --------------------------------------------------- Directory: /dir1 Atime : 2019-11-10 19:12:02 , 2019-11-10 19:12:57 Mtime : 2019-11-10 19:12:00 , 2019-11-10 19:14:31 Ctime : 2019-11-10 19:12:00 , 2019-11-10 19:14:31
這時候/dir1目錄的Atime,Mtime,Ctime都被修改了。
透過本文的介紹,我們了解到ALDE檔案是一種非常有效率的資料交換格式,具有靈活性、安全性和可擴展性等優勢。同時,在Linux系統中使用ALDE檔案進行資料交換也非常簡單,只需要安裝對應的ALDE套件並使用相關指令。相較於其他格式,使用ALDE檔案進行資料交換可以有效提高資料交換的效率和效果,成為現代資料交換的尖端技術。
以上是Linux中如何使用ALDE檔案進行高效能資料交換的詳細內容。更多資訊請關注PHP中文網其他相關文章!