一.简介
Clam AntiVirus是一个类UNIX系统上使用的反病毒软件包。主要应用于邮件服务器,采用多线程后台操作,可以自动升级病毒库。ClamAV是一个在命令行下查毒软件,因为它不将杀毒作为主要功能,默认只能查出您计算机内的病毒,但是无法清除。
二.安装
1.在线安装
#安装epel yum源
yum install -y epel-release
yum clean all && yum makecache
#安装clamav
yum -y install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd
2.离线安装
#在可以联网的服务器上制作离线yam源
yum install -y epel-release
yum clean all && yum makecache
#下载clamav安装包制作yum源
yum install --downloadonly --downloaddir=/data/clamav/ clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd
createrepo /data/clamav/
#编写repo文件及安装脚本
cat clamav.repo
[clamav]
name=clamav
baseurl=file:///data/clamav/package
gpgcheck=0
enabled=1
cat install.sh
#!/bin/bash
BAO="clamav"
mv /etc/yum.repos.d /etc/yum.repos.d.bak
mkdir /etc/yum.repos.d
cp ${BAO}.repo /etc/yum.repos.d/
yum clean all
yum makecache
yum -y install ${BAO}
rm -rf /etc/yum.repos.d
mv /etc/yum.repos.d.bak /etc/yum.repos.d
#将文件打包并上传到离线服务器执行sh install安装
三.配置SELinux
setsebool -P antivirus_can_scan_system 1
setsebool -P clamd_use_jit 1
#执行getsebool -a | grep antivirus 显示以下内容说明配置正确
antivirus_can_scan_system --> on
antivirus_use_jit --> on
注:如果服务器已经禁用selinux,可跳过这步
四、配置ClamAV
#删除示例
sed -i -e "s/^Example/#Example/" /etc/clamd.d/scan.conf
sed -i -e "s/^Example/#Example/" /etc/freshclam.conf
#编辑配置文件
vim /etc/clamd.d/scan.conf
#找到下面这行将注释#删除,保存
#LocalSocket /var/run/clamd.scan/clamd.sock
五.更新病毒库(在线服务器)
freshclam
#病毒库保存在以下位置
/var/lib/clamav/daily.cvd
/var/lib/clamav/main.cvd
六.离线安装服务器的其他配置
#创建clamscan用户
useradd clamscan
#将用户加入virusgroup组
useradd -g clamscan virusgroup
#创建clamd.scan目录
mkdir /run/clamd.scan
#改变clamd.scan目录的用户和属组
chown clamscan:virusgroup /run/clamd.scan
#由于离线安装无病毒库,需在在线服务器更新病毒库后将最新的病毒库文件传到离线服务器相应目录下
[root@localhost data]# cd /var/lib/clamav/
[root@localhost clamav]# ls
bytecode.cvd daily.cld freshclam.dat main.cvd
#离线安装无启动文件可将在线安装目录下的文件拷贝到离线服务器,也可不拷贝直接启动
/usr/sbin/clamd #clamd文件拷贝到离线服务器
chmod 755 /usr/sbin/clamd
六、启动Clamd服务
systemctl start clamd@scan
systemctl enable clamd@scan
#离线服务器可能无法使用上面命令启动,可使用以下命令启动
/usr/sbin/clamd -c /etc/clamd.d/scan.conf
七、扫描病毒
clamscan 可用以扫描文件, 用户目录亦或是整个系统:
##扫描文件
[root@localhost ~]# clamscan targetfile
##递归扫描home目录,并且记录日志
[root@localhost ~]# clamscan -r -i /home -l /var/log/clamav.log
##递归扫描home目录,将病毒文件删除,并且记录日志
[root@localhost ~]# clamscan -r -i /home --remove -l /var/log/clamav.log
##扫描指定目录,然后将感染文件移动到指定目录,并记录日志
[root@localhost ~]# clamscan -r -i /home --move=/tmp/clamav -l /var/log/clamav.log
说明:
-r -i 递归扫描目录
-l 指定记录日志文件
--remove 删除病毒文件
--move 移动病毒到指定目录
1.重点扫描目录
clamscan -r -i /etc --max-dir-recursion=5 -l /var/log/clamav-etc.log
clamscan -r -i /bin --max-dir-recursion=5 -l /var/log/clamav-bin.log
clamscan -r -i /usr --max-dir-recursion=5 -l /var/log/clamav-usr.log
clamscan -r -i /var --max-dir-recursion=5 -l /var/log/clamav-var.log
2.扫描报告说明
---------- SCAN SUMMARY -----------
Known viruses: 9141451 #已知病毒
Engine version: 0.102.4 #软件版本
Scanned directories: 498 #扫描目录
Scanned files: 738 #扫描文件
Infected files: 4 #感染文件!!!
Data scanned: 530.25 MB #扫描数据
Data read: 14131.60 MB (ratio 0.04:1) #数据读取
Time: 203.805 sec (3 m 23 s) #扫描用时
3.查看病毒文件
cat /var/log/clamav-bin.log | grep "FOUND"
参考文献
https://www.hostinger.com/tutorials/how-to-install-clamav-centos7