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 # 定时扫描

八 、参考文献

How to Install ClamAV on CentOS 7: A Step-by-Step Guidewww.hostinger.com/tutorials/how-to-install-clamav-centos7Linux病毒扫描工具ClamAV(Clam AntiVirus)

上一篇:nginx中简单使用转发和轮询


下一篇:Android项目实战(二十):浅谈ListView悬浮头部展现效果