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
看到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.
systemctl start clamd@scan.service
systemctl status clamd@scan.service
7.扫描home,-r选项表示包含子目录
# clamscan –infected –remove –recursive /home
备注
如果在手动更新病毒库的时候遇到错误,此时就要删除掉旧的镜像地址文件#rm -f /var/lib/clamav/mirrors.dat
再手动更新一次病毒库,#freshclam