更多好文章见作者电子书集《Linux运维入门指南:生产运维需要掌握的技能》


最近发现有台服务器中毒了,手动去查杀总是会有遗漏,最后安装了Linux下的杀毒软件clamav,使用起来还是不错的。

环境:
Linux 6.8
版本:
clamav-0.99.2.tar.gz
依赖关系:
yum install pcre* zlib zlib-devel libssl-devel libssl
openssl version 0.9.8 or higher

一.安装clamav
有两种方法安装:
1.yum安装方法
用epel源进行安装,但是需要系统能访问外网才行。
安装后会自动生成服务文件,启动服务后,会实时监控扫描连接,虽然安全性高了,不过可能会对服务器性能有影响。
可使用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

安装clamav:
linux6系统会提示找不到一些组件,不用管

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

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

2.源码安装
需要手动编译安装,安装虽然不需要连网,但更新病毒库还是需要联网
安装后不用启动服务,不能使用clamdsacn命令,可使用clamscan命令,扫描速度相对较慢

官网下载clamav:http://www.clamav.net

#tar zxvf clamav-0.99.2.tar.gz
#cd clamav-0.99.2
#要带pcre,要不然执行clamscan会报错
#./configure --prefix=/usr/local/clamav  --with-pcre
#make
#make install

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

#cd /usr/local/clamav/etc/
#cp clamd.conf.sample clamd.conf
#cp freshclam.conf.sample freshclam.conf
注释掉clamd.conf和freshclam.conf中的
# Example 注释掉这一行. 第8 行

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

# useradd clamav -s /sbin/nologin
# mkdir -p /usr/local/clamav/share/clamav
# chown clamav:clamav /usr/local/clamav/share/clamav

二、更新病毒库
执行更新命令,下载病毒库
# /opt/clamav/bin/freshclam

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

#cd /usr/local/clamav/share/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  *

三、命令扫描
注意:clamav有两个命令:clamdscan、clamscan
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 不显示统计信息

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