平时我们使用杀毒软件几乎都会在win系统上安装杀毒软件但是一般也没有见过linux的杀毒软件是什么样子的,那么我今天就给大家介绍一下这个Linux杀毒软件。

ClamAV 【Clam AntiVirus】是免费而且开放源代码的杀毒软件,软件与病毒码的更新皆由社群免费发布。目前 ClamAV 主要是使用在由Linux、FreeBSD等Unix-like系统架设的邮件服务器上,提供邮箱的病毒扫描服务。今天怪先生就给大家分享一下 ClamAV 在CentOS上的安装和使用方法。

hqdefault.jpg

明月推荐用epel源进行安装,虽然需要系统能访问外网才行。但是比较适合我们 VPS 使用。安装后会自动生成服务文件,启动服务后,会实时监控扫描连接,虽然安全性高了,不过可能会对服务器性能有影响,这个大家根据自己服务器性能自由取舍即可,一般建议是使用clamdsacn命令手动扫描系统,扫描速度快,不占用系统资源,需要的时候用就可以了!

安装

根据自己的系统版本下载相应的epel安装文件

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

或者

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

安装epel:

rpm -ivh epel-release-latest-6.noarch.rpm

或者:

rpm -ivh epel-release-latest-7.noarch.rpm

安装ClamAV:

注:CentOS 6系统会提示找不到一些组件,不用管

yum install clamav clamav-server clamav-data clamav-update clamav-filesystem clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd

这种方法安装后,病毒库默认地址是/var/lib/clamav

CentOS 7系统下yum 直接安装

yum install -y epel-release
yum install -y clamav
yum install -y clamd

配置文件(yum安装的话这些步骤大部分可以省略,会自动创建)

注释掉/etc/clamd.d/scan.conf/etc/freshclam.conf中的

# Example 注释掉这一行. 第8 行

创建用户,创建存放病毒库目录

useradd clamav -s /sbin/nologin

chown clamav:clamav /var/lib/clamav

更新病毒库

执行更新命令,下载病毒库

/usr/bin/freshclam

有可能一直下载不了,我们可以不使用更新命令,直接下载病毒库到本地

cd /var/lib/clamav
wget http://database.clamav.net/main.cvd
wget http://database.clamav.net/daily.cvd
wget http://database.clamav.net/bytecode.cvd
chown clamav:clamav  *

install-clamav.jpg

命令扫描

注意:ClamAV有两个命令:clamdscanclamscan

  • clamdscan命令是用yum安装方法才能使用,需要启动clamd服务,执行速度快
  • clamscan命令通用,如果是源码安装的就使用这个命令。不依赖服务,命令参数较多,执行速度稍慢

clamdscan:

service clamd start

用clamdscan扫描,需要开始服务才能使用。速度快,不用带-r,默认会递归扫描子目录

clamdscan /usr

clamscan:

clamscan扫描,不需要开始服务就能使用。速度慢,要带-r,才会递归扫描子目录

clamscan -r /usr

这个命令不仅会显示找到的病毒,正常的扫描文件也会显示出来。

可以用下面这个命令,只显示找到的病毒信息

clamscan --no-summary -ri /tmp

  • -r 递归扫描子目录
  • -i 只显示发现的病毒文件
  • --no-summary 不显示统计信息
  • --quiet 使用安静模式,仅仅打印出错误信息
  • -d<文件> 以指定的文件作为病毒库,一代替默认的/var/clamav目录下的病毒库文件
  • -l <文件> 指定日志文件,以代替默认的/var/log/clamav/freshclam.log文件
  • --move=<目录> 把感染病毒的文件移动到指定目录
  • --remove 删除感染病毒的文件

示例:

clamscan /bin/uame  #扫描指定的单个文件

calmscan #扫描当前目录下的所有文件

clamscan -r /home #扫描/home目录下的所有文件和子目录

#以/tmp/newclamdb文件或/tmp/newclamdb目录中的所有.cvd文件为病毒库,扫描/tmp目录下的所有文件和子目录

clamscan -d /tmp/newclamdb -r /tmp 

cat testfile | clamscan -  #扫描一个数据流

clamscan -r /var/spool/mail   #扫描邮箱目录,以查找包含病毒的邮件

----------- SCAN SUMMARY -----------
Known viruses: 6293114                    #病毒库中包含的病毒种类数
Engine version: 0.99.2                         #引擎版本
Scanned directories: 1                        #扫描目录数
Scanned files: 24                                  #扫描文件数
Infected files: 0                                      #被感染文件数
Data scanned: 0.40 MB                       #总的扫描字节数
Data read: 0.21 MB (ratio 1.87:1)       #数据读取
Time: 7.917 sec (0 m 7 s)                   #花费的总时间

可以写个脚本,用这句命令定期扫描,有返回值即触发告警。

clamav-default.jpg