1. 程式人生 > >Linux後門入 侵檢測工具RKHunter和ClamAV的使用

Linux後門入 侵檢測工具RKHunter和ClamAV的使用

最新版 shc 簡單 3.5 fresh 移動 免費 文件系統 目前

一、關於rookit

rootkit是Linux平臺下最常見的一種木 馬後門工具,它主要通過替換系統文件來達到攻 擊和和隱蔽的目的,這種木 馬比普通木 馬後門更加危險和隱蔽,普通的檢測工具和檢查手段很難發現這種木 馬。rootkit攻 擊能力極強,對系統的危害很大,它通過一套工具來建立後門和隱藏行跡,從而讓攻 擊者保住權限,以使它在任何時候都可以使用root權限登錄到系統。

二、rootkit後門檢測工具RKHunter

Rkhunter的中文名叫“Rootkit獵手”, 目前可以發現大多數已知的rootkits和一些嗅探器以及後門程序。它通過執行一系列的測試腳本來確認服務器是否已經感染rootkits,比如檢查rootkits使用的基本文件,可執行二進制文件的錯誤文件權限,檢測內核模塊等等。在官方的資料中,RKHunter可以作的事情有:

1、MD5校驗測試,?檢測文件是否有改動
2、檢測rootkit使用的二進制和系統工具文件
3、檢測特洛伊木 馬程序的特征碼
4、檢測常用程序的文件屬性是否異常
5、檢測系統相關的測試
6、檢測隱藏文件
7、檢測可疑的核心模塊LKM
8、檢測系統已啟動的監聽端口

1、安裝RKHunter

RKHunter的官方網頁地址為:http://rootkit.nl/projects/rootkit_hunter.html, 目前的最新版本是rkhunter-1.4.6.tar.gz。 可以從https://sourceforge.net/projects/rkhunter/files/下載, RKHunter的安裝非常簡單,可以通過源碼安裝,也可以在線yum安裝,這裏以centos7.5為例,過程如下:

[root@server ~]#yum install epel-release
[root@server ~]#yum install rkhunter
註:centos6經測試無法使用yum安裝,只能編譯安裝了

2、使用rkhunter命令

rkhunter命令的參數較多,但是使用非常簡單,直接運行rkhunter即可顯示此命令的用法。下面簡單介紹下rkhunter常用的幾個參數選項。

常用的幾個參數選項有:
c, --check 必選參數,表示檢測當前系統
configfile <file> 使用特定的配置文件
cronjob   作為cron任務定期運行
sk, --skip-keypress   自動完成所有檢測,跳過鍵盤輸入
summary   顯示檢測結果的統計信息
update    檢測更新內容

3、使用rkhunter開始檢測系統
直接執行下面命令,即可開始檢查:

[root@server ~]#rkhunter -c

技術分享圖片

從圖中可以看出,檢查主要分成6個部分:

第一部分是進行系統命令的檢查,主要是檢測系統的二進制文件,因為這些文件最容易被rootkit。顯示OK字樣表示正常,顯示Warning表示有異常,需要引起註意,而顯示“Not found”字樣,一般無需理會。
第二部分,主要檢測常見的rootkit程序,顯示綠色的“Not found”表示系統未感染此rootkit。
第三部分,主要是一些特殊或附加的檢測,例如對rootkit文件或目錄檢測、對惡意軟件檢測以及對指定的內核模塊檢測。
第四部分,主要對網絡、系統端口、系統啟動文件、系統用戶和組配置、SSH配置、文件系統等進行檢測。
第五部分,主要是對應用程序版本進行檢測。
第六部分,其實是上面輸出的一個總結,通過這個總結,可以大概了解服務器目錄的安全狀態。

在Linux終端使用rkhunter來檢測,最大的好處在於每項的檢測結果都有不同的顏色顯示,如果是綠色的表示沒有問題,如果是紅色的,那就要引起關註了。另外,在上面執行檢測的過程中,在每個部分檢測完成後,需要以Enter鍵來繼續。如果要讓程序自動運行,可以執行如下命令:

[root@server ~]#rkhunter --check --skip-keypress

同時,如果想讓檢測程序每天定時運行,那麽可以在/etc/crontab中加入如下內容:

10 3 * * * root /usr/local/bin/rkhunter --check --cronjob 

這樣,rkhunter檢測程序就會在每天的3:10分運行一次。

Rkhunter擁有並維護著一個包含rootkit特征的數據庫,然後它根據此數據庫來檢測系統中的rootkits,所以可以對此數據庫進行升級,rkhunter --update

[root@server ~]# rkhunter --update

那麽簡單來講,RKhunter就像我們的殺毒軟件,有著自己的病毒數據庫,對每一個重點命令進行比對,當發現了可疑代碼則會提示用戶。

三、Linux安全防護工具ClamAV的使用

ClamAV是一個在命令行下查毒軟件,是免費開源產品,支持多種平臺,如:Linux/Unix、MAC OS X、Windows、OpenVMS。ClamAV是基於病毒掃描的命令行工具,但同時也有支持圖形界面的ClamTK工具。為什麽說是查毒軟件呢,因為它不將殺毒作為主要功能,默認只能查出您服務器內的病毒,但是無法清除,至多刪除文件。不過這樣,已經對我們有很大幫助了。

3.1、快速安裝clamav

clamav的官方網站是http://www.clamav.net, 可以從http://www.clamav.net/downloads 下載最新版本,也可以通過yum在線安裝clamav,因為clamav包含在epel源中,所以方便起見,通過yum安裝最簡單。centos6中要編譯安裝

[root@server ~]# yum install epel-release
[root@server ~]# yum -y install clamav clamav-milter

3.2、更新病毒庫
clamav安裝好後,不能馬上使用,需要先更新一下病毒特征庫,不然會有告警信息。更新病毒庫方法如下:

[root@master ~]# freshclam 

保證服務器可以上網,才能下載到病毒庫。
3.3、clamav的命令行使用

clamav有兩個命令,分別是clamdscan和clamscan,其中,clamdscan命令一般用yum安裝才有,需要啟動clamd服務才能使用,執行速度較快;而clamscan命令通用,不依賴服務,命令參數較多,執行速度稍慢。推薦使用clamscan。

執行“clamscan -h”可獲得使用幫助信息,clamscan常用的幾個參數含義如下:

r/--recursive[=yes/no] 表示遞歸掃描子目錄
l FILE/--log=FILE  增加掃描報告
move [路徑] 表示移動病毒文件到指定的路徑
remove [路徑] 表示掃描到病毒文件後自動刪除病毒文件
quiet  表示只輸出錯誤消息
i/--infected 表示只輸出感染文件
o/--suppress-ok-results 表示跳過掃描OK的文件
bell   表示掃描到病毒文件發出警報聲音
unzip(unrar) 表示解壓壓縮文件進行掃描

下面看幾個例子:
(1)、查殺當前目錄並刪除感染的文件

[root@server ~]# clamscan -r --remove

(2)、掃描所有文件並且顯示有問題的文件的掃描結果

[root@server ~]# clamscan -r --bell -i /

(3)、掃描所有用戶的主目錄文件

[root@server ~]# clamscan -r /home

(4)、掃描系統中所有文件,發現病毒就刪除病毒文件,同時保存殺毒日誌

[root@server ~]# clamscan --infected -r / --remove -l /var/log/clamscan.log

3.4、查殺系統病毒

下面命令是掃描/etc目錄下所有文件,僅輸出有問題的文件,同時保存查殺日誌。

[root@server ~]# clamscan   -r /etc  --max-recursion=5  -i -l /mnt/a.log

----------- SCAN SUMMARY -----------
Known viruses: 6691124
Engine version: 0.100.2
Scanned directories: 760
Scanned files: 2630
Infected files: 0
Data scanned: 186.64 MB
Data read: 30.45 MB (ratio 6.13:1)
Time: 72.531 sec (1 m 12 s)

可以看到,掃描完成後有結果統計。

下面我們從eicar.org下載一個用於模擬病毒的文件,看一下clamav是否能夠掃描出來,

[root@server mnt]# wget http://www.eicar.org/download/eicar.com
[root@liumiaocn mnt]# ls
eicar.com

然後,重新掃描看是否能夠檢測出新下載的病毒測試文件。執行如下命令:

[root@server ~]# clamscan   -r /  --max-recursion=5  -i -l /mnt/c.log  
/mnt/eicar.com: Eicar-Test-Signature FOUND

----------- SCAN SUMMARY -----------
Known viruses: 6691124
Engine version: 0.100.2
Scanned directories: 10
Scanned files: 187
Infected files: 1
Data scanned: 214.09 MB
Data read: 498.85 MB (ratio 0.43:1)
Time: 80.826 sec (1 m 20 s)

可以看到,病毒文件被檢測出來了。eicar.com是一個Eicar-Test-Signature類型病毒文件。缺省的方式下,clamscan只會檢測不會自動刪除文件,要刪除檢測出來的病毒文件,使用“--remove”選項即可。

3.5、設置自動更新病毒庫和查殺病毒

病毒庫的更新至關重要,要實現自動更新,可在計劃任務中添加定時更新病毒庫命令,也就是在crontab添加如下內容:

00 1  * *  *  /usr/bin/freshclam  --quiet

表示每天1點更新病毒庫。

實際生產環境應用,一般使用計劃任務,讓服務器每天晚上定時殺毒。保存殺毒日誌,也就是在crontab添加如下內容:

00 22  *  *  *  clamscan -r /  -l /var/log/clamscan.log --remove

此計劃任務表示每天22點開始查殺病毒,並將查殺日誌寫入/var/log/clamscan.log文件中。

病毒是猖獗的,但是只要有防範意識,加上各種查殺工具,完全可以避免牧馬或病毒的入 侵。

Linux後門入 侵檢測工具RKHunter和ClamAV的使用