Linux病毒扫描工具ClamAV(Clam AntiVirus)
Linux病毒扫描工具ClamAV(Clam AntiVirus)
原文:Linux病毒扫描工具ClamAV(Clam AntiVirus)安装使用 - 知乎 (zhihu.com)
一、简介
ClamAV(Clam AntiVirus)是Linux平台上的开源病毒扫描程序,主要应用于邮件服务器,采用多线程后台操作,可以自动升级病毒库。
二、安装
安装epel软件源
# 安装
[root@localhost ~]# yum install -y epel-release
# 缓存
[root@localhost ~]# yum clean all && yum makecache
安装clamav程序
[root@localhost ~]# yum -y install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd
三、配置SELinux
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统
配置ClamAV权限
[root@localhost ~]# setsebool -P antivirus_can_scan_system 1
[root@localhost ~]# setsebool -P clamd_use_jit 1
查看设置结果
[root@localhost ~]# getsebool -a | grep antivirus
antivirus_can_scan_system --> on
antivirus_use_jit --> on
如果使用命令的时出现以下信息:
[root@VM-0-9-centos ~]# getsebool -a | grep antivirus
getsebool: SELinux is disabled
解决办法是修改/etc/selinux/config配置文件:
vim /etc/selinux/config
强制模式SELINUX=enforcing:表示所有违反安全策略的行为都将被禁止。
宽容模式SELINUX=permissive:表示所有违反安全策略的行为不被禁止,但是会在日志中作记录
我们设置SELINUX=permissive即可。
修改config文件后,需要重启实例,但直接重启实例将会出现系统无法启动的错误。因此在重启之前需要在根目录下新建autorelabel文件。
touch /.autorelabel
四、配置ClamAV
1.删除示列
[root@localhost ~]# sed -i -e "s/^Example/#Example/" /etc/clamd.d/scan.conf
[root@localhost ~]# sed -i -e "s/^Example/#Example/" /etc/freshclam.conf
2.编辑配置文件
[root@localhost ~]# vim /etc/clamd.d/scan.conf
3.找到以下行
#LocalSocket /var/run/clamd.scan/clamd.sock
- 删除
#
符号并保存您的更改
五、更新病毒库
[root@localhost ~]# freshclam
病毒库保存位置:
/var/lib/clamav/daily.cvd
/var/lib/clamav/main.cvd
六、启动Clamd服务
[root@localhost ~]# sudo systemctl start clamd@scan [root@localhost ~]# sudo systemctl enable clamd@scan
七、扫描病毒
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"
4.定时扫描
# crontab -e
0 0 */10 * * /usr/bin/freshclam --quiet -l /var/log/clamav/clamav.log # 定时升级病毒库,此项对于一些无法联网的服务器可以忽略
30 3 * * * clamscan -r -i / --move=/tmp/clamav -l /var/log/clamav.log # 定时扫描