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