Linux后门入 侵检测工具RKHunter和ClamAV的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux后门入 侵检测工具RKHunter和ClamAV的使用相关的知识,希望对你有一定的参考价值。

一、关于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为例,过程如下:

[[email protected] ~]#yum install epel-release
[[email protected] ~]#yum install rkhunter
注:centos6经测试无法使用yum安装,只能编译安装了

2、使用rkhunter命令

rkhunter命令的参数较多,但是使用非常简单,直接运行rkhunter即可显示此命令的用法。下面简单介绍下rkhunter常用的几个参数选项。

常用的几个参数选项有:
c, --check 必选参数,表示检测当前系统
configfile <file> 使用特定的配置文件
cronjob   作为cron任务定期运行
sk, --skip-keypress   自动完成所有检测,跳过键盘输入
summary   显示检测结果的统计信息
update    检测更新内容

3、使用rkhunter开始检测系统
直接执行下面命令,即可开始检查:

[[email protected] ~]#rkhunter -c

技术分享图片

从图中可以看出,检查主要分成6个部分:

第一部分是进行系统命令的检查,主要是检测系统的二进制文件,因为这些文件最容易被rootkit。显示OK字样表示正常,显示Warning表示有异常,需要引起注意,而显示“Not found”字样,一般无需理会。
第二部分,主要检测常见的rootkit程序,显示绿色的“Not found”表示系统未感染此rootkit。
第三部分,主要是一些特殊或附加的检测,例如对rootkit文件或目录检测、对恶意软件检测以及对指定的内核模块检测。
第四部分,主要对网络、系统端口、系统启动文件、系统用户和组配置、SSH配置、文件系统等进行检测。
第五部分,主要是对应用程序版本进行检测。
第六部分,其实是上面输出的一个总结,通过这个总结,可以大概了解服务器目录的安全状态。

在Linux终端使用rkhunter来检测,最大的好处在于每项的检测结果都有不同的颜色显示,如果是绿色的表示没有问题,如果是红色的,那就要引起关注了。另外,在上面执行检测的过程中,在每个部分检测完成后,需要以Enter键来继续。如果要让程序自动运行,可以执行如下命令:

[[email protected] ~]#rkhunter --check --skip-keypress

同时,如果想让检测程序每天定时运行,那么可以在/etc/crontab中加入如下内容:

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

这样,rkhunter检测程序就会在每天的3:10分运行一次。

Rkhunter拥有并维护着一个包含rootkit特征的数据库,然后它根据此数据库来检测系统中的rootkits,所以可以对此数据库进行升级,rkhunter --update

[[email protected] ~]# 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中要编译安装

[[email protected] ~]# yum install epel-release
[[email protected] ~]# yum -y install clamav clamav-milter

3.2、更新病毒库
clamav安装好后,不能马上使用,需要先更新一下病毒特征库,不然会有告警信息。更新病毒库方法如下:

[[email protected] ~]# 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)、查杀当前目录并删除感染的文件

[[email protected] ~]# clamscan -r --remove

(2)、扫描所有文件并且显示有问题的文件的扫描结果

[[email protected] ~]# clamscan -r --bell -i /

(3)、扫描所有用户的主目录文件

[[email protected] ~]# clamscan -r /home

(4)、扫描系统中所有文件,发现病毒就删除病毒文件,同时保存杀毒日志

[[email protected] ~]# clamscan --infected -r / --remove -l /var/log/clamscan.log

3.4、查杀系统病毒

下面命令是扫描/etc目录下所有文件,仅输出有问题的文件,同时保存查杀日志。

[[email protected] ~]# 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是否能够扫描出来,

[[email protected] mnt]# wget http://www.eicar.org/download/eicar.com
[[email protected] mnt]# ls
eicar.com

然后,重新扫描看是否能够检测出新下载的病毒测试文件。执行如下命令:

[[email protected] ~]# 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的使用的主要内容,如果未能解决你的问题,请参考以下文章

rootkit后门检查工具RKHunter

rootkit后门检查工具RKHunter

rootkit后门检测工具RKHunter

Linux服务器安全策略

一点一滴,成材之基! Linux后门Trojan Horse检测工具

入.侵检测-蜜罐