Rsync 使用關(guān)于檢測系統(tǒng)完整性命令介紹
對系統(tǒng)管理員來說,可能由于諸多原因而傾向于采用另外的方法來完成完 整性檢測。Rsync 使用工具就具備這個功能。它所具有的校驗功能能夠?qū)⒃嘉募涂截惡蟮奈募M行對比,可以判斷并檢查出哪些文件被改變,還 可以判斷這些文件的更改操作是否合法,是否具備足夠的授權(quán)。
對文件系統(tǒng)的完整性檢測來說,Rsync 使用所做的第一件事情是為文件系統(tǒng)創(chuàng)建一份 快照。這必須在檢查文件系統(tǒng)的完整性之前完成,因為必須有一份完好無缺的拷貝用于檢查文件系統(tǒng)是否正確。
完成上述操作之后,在命令行簡單地運行一條Rsync 使用復(fù)制命令。這里需要注意一下:為了確保所使用Rsync 使用版本不可被入侵者用于和他自己的版 本進行比較,這樣文件系統(tǒng)的變化就無法被檢測出,需要拷貝一個rsync的二進制文件版本(可能位于/usr/bin/rsync)到一個可寫的媒介上,如 光盤上。然后,當使用rsync時,還需要指定rsync二進制文件位于哪個媒介上,而不是指向計算機上的某個版本。例如,如CD安裝/mnt/cdrom ,運行如下命令,可從一臺計算機上復(fù)制文件到另外一臺主機上:
rsync -av --rsync-path=/mnt/cdrom/rsync -e ssh host:/ localdir
上述命令表示,從遠端主機上復(fù)制整個文件系統(tǒng)(期望被檢查的文件系統(tǒng))到運行Rsync 使用所在機器的一個本地文件目錄中,一旦擁有了文件系統(tǒng) 的快照,就可以使用如下的命令來檢查文件系統(tǒng)的完整性了:
rsync -avn --rsync-path=/mnt/cdrom/rsync -e ssh host:/ localdir
前面提到的-n選項是用來確保沒有任何文件被拷貝。而在Rsync 使用工具中則有所不同,它僅報告拷貝之前和拷貝之后的差別所在。如果不希望兩者 間出現(xiàn)差別,就應(yīng)該對它們進行仔細檢查,確保沒有發(fā)生未授權(quán)的更改。bin/ls, /bin/bash, 和/bin/sshd等文件若發(fā)生改變的話是需要特別 留意一下的,如果它們本來是不應(yīng)該被更改的但卻被改動了,這可能表示系統(tǒng)已遭受了某種安全威脅。但是,如果系統(tǒng)自動更新程序正在運行 ,這些文件被更新進程所改變就是很正常的了。因此,最好讓更新程序做好日志記錄,將那些更新進程替換過的包或文件都做好標記,再和 rsync的完整性檢測報告中列出來的所有被更改過的文件進行對照,這樣就可以檢測出哪些文件已經(jīng)被非法更改了。
【編輯推薦】