Clam AntiVirus(ClamAV)是免费而且开放源代码的防毒软件,软件与病毒码的更新皆由社群免费发布。目前ClamAV主要是使用在由Linux、FreeBSD等Unix-like系统架设的邮件服务器上,提供电子邮件的病毒扫描服务。ClamAV本身是在文字接口下运作,但也有许多图形接口的前端工具可用,另外由于其开放源代码的特性,在Windows与Mac OS X平台都有其移植版。

#注:本文采用的安装方法是yum安装,版本为(0.99.2)。编译安装暂时不记录,后期再完善。

1、添加yum源,应为不管是centso6或centos7都官方的yum源里没有ClamAV的。所以需要手动添加。我们这里采用了比较常用的RPM yum源epel和webtatic。

CentOS/RHEL 7.x:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

CentOS/RHEL 6.x:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

 

2、运行安装命令

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

yes继续安装,最后出现 Complete! 就安装完成。

3、配置Clam AntiVirus

vi /etc/clamd.conf  ← 修改clamd的配置文件
ArchiveBlockMax ← 找到这一行,在行首加上“#”(不把大容量的压缩文件看作被感染病毒的文件)
 ↓
#ArchiveBlockMax ← 变为此状态

### centos 6
User clamav  ← 找到这一行,在行首加上“#”(不允许一般用户控制)
 ↓
#User clamav  ← 变为此状态

### centos 
User clamscan  ← 找到这一行,在行首加上“#”(不允许一般用户控制)
 ↓
#User clamscan  ← 变为此状态

4、运行 Clam AntiVirus

chkconfig clamd on   ← 将其设置为自系统启动后启动
chkconfig --list clamd ← ← 查看开机启动设置
# clamd 0:off 1:off 2:on 3:on 4:on 5:on 6:off  ← 确认2--5为on的状态就OK

/etc/rc.d/init.d/clamd start  ← 启动clamd服务(运行Clam AntiVirus)
# Starting Clam AntiVirus Daemon:      [ OK ]  ← 启动成功

5、更新 Clam AntiVirus 的病毒库 安装后建议立即更新病毒库,以保证最新病毒的查杀。

freshclam  ← 更新clam的病毒库

 

6、病毒扫描
然后进行病毒扫描的测试,在这里,我们首先下载测试用的病毒文件。

clamdscan

clamadscan 可以带很多参数、如删除病毒文件、扫描路径、列出可以文件等,具体命令请用clamscan –-help 进行查询。

7、让病毒扫描定期运行

建立自动扫描脚本,如下:

vi scan.sh

centsos6:

#!/bin/bash
PATH=/usr/bin:/bin
CLAMSCANTMP=`mktemp`
clamdscan --recursive --remove / > $CLAMSCANTMP
[ ! -z "$(grep FOUND$ $CLAMSCANTMP)" ] && \
grep FOUND $CLAMSCANTMP | mail -s "Virus Found in `hostname`" root
rm -f $CLAMSCANTMP

centos 7

#!/bin/bash
PATH=/usr/bin:/bin
CLAMSCANTMP=`mktemp`
clamscan --recursive --remove / > $CLAMSCANTMP
[ ! -z "$(grep FOUND$ $CLAMSCANTMP)" ] && \
grep FOUND $CLAMSCANTMP | mail -s "Virus Found in `hostname`" root
rm -f $CLAMSCANTMP

 

chmod 700 scan.sh  ← 赋予脚本可被执行的权限
crontab -e   ← 编辑计划任务,添加如下行
00 03 * * * /root/scan.sh   ← 添加这一行,让其在每天3点钟执行扫描

 

参考文献:

1、 linux下的杀毒软件Clam AntiVirus安装与使用

 

 

 

 

 

 

 

 

 

 

 

 

# centos 7 安装启用

参考文档:http://blog.csdn.net/heiby/article/details/52136340

If you are installing ClamAV for the first time, you have to add a new user and group to your system:

groupadd clamav

useradd -g clamav -s /bin/false -c “Clam AntiVirus” clamav

1.建立源,epel-release

yum install -y epel-release (这是一个源)

yum -y update

2.安装clamav包

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

3.设定clamav守護進程(Configuration of Clam daemon)

cp /usr/share/clamav/template/clamd.conf /etc/clamd.d/clamd.conf

vim /etc/clamd.d/clamd.conf

Example改为#Example

sed -i -e ‘s/^Example/#Example/’ /etc/clamd.d/clamd.conf(这是用命令行来为Example加#)

 

Configure SELinux for ClamAV.You had to write this command to get it working with SELinux:

setsebool -P antivirus_can_scan_system 1   (实际操作并没有用到此行)

4.1修改freshclam配置(Enable Freshclam)

cp /etc/freshclam.conf /etc/freshclam.conf.bak

vim /etc/freshclam.conf

Example改为#Example

sed -i -e ‘s/^Example/#Example/’ /etc/freshclam.conf (这是用命令行来为Example加#)

 

4.2 启用每日自动更新病毒库

freshclam通过/etc/cron.d/clamav-update来运行,默认情况下是禁止的,

vim /etc/sysconfig/freshclam

FRESHCLAM_DELAY=disabled-warn # REMOVE ME改为#FRESHCLAM_DELAY=disabled-warn # REMOVE ME

4.3配置扫描文件

Edit the configuration installed by the clamd-scanner package:

vim /etc/clamd.d/scan.conf

Example改为#Example                             sed -i -e ‘s/^Example/#Example/’ /etc/clamd.d/scan.conf (这是用命令行来为Example加#)

#LocalSocket /var/run/clamd.scan/clamd.sock改为LocalSocket /var/run/clamd.scan/clamd.sock   (85行)

资料:https://www.adminsys.ch/2015/08/21/installing-clamav-epel-centosred-hat-7-nightmare/

4.4建立“clam-freshclam.service”服务

vim /usr/lib/systemd/system/clam-freshclam.service

 

# Run the freshclam as daemon
[Unit]
Description = freshclam scanner
After = network.target
[Service]
Type = forking
ExecStart = /usr/bin/freshclam -d -c 4
Restart = on-failure
PrivateTmp = true
[Install]
WantedBy=multi-user.target

4.5启动更新病毒库服务

systemctl enable clam-freshclam.service
systemctl start clam-freshclam.service
systemctl status clam-freshclam.service

image

看到active字样,就表示clam-freshclam.service安装成功。

4.6 手动更新病毒库:

freshclam

*******************************************************************************************************************************

*******************************************************************************************************************************

*******************************************************************************************************************************

5.启动服务

cd /usr/lib/systemd/system

 

systemctl enable clamd@scan.service

会显示Created symlink from /etc/systemd/system/multi-user.target.wants/clamd@scan.service to /usr/lib/systemd/system/clamd@scan.service.

image

systemctl start clamd@scan.service

systemctl status clamd@scan.service

image

7.扫描home,-r选项表示包含子目录

# clamscan –infected –remove –recursive /home

备注

如果在手动更新病毒库的时候遇到错误,此时就要删除掉旧的镜像地址文件#rm -f /var/lib/clamav/mirrors.dat

再手动更新一次病毒库,#freshclam

 

 

最后修改日期: 2018年1月13日

作者