Centos7下杀毒软件clamav的安装和使用
Clam AntiVirus(ClamAV)是一个Linux系统上使用的反病毒软件包。主要应用于邮件服务器,采用多线程后台操作,可以自动升级病毒库。Clam AntiVirus(ClamAV)是免费而且开放源代码的防毒软件,软件与病毒码的更新皆由社群免费发布。目前ClamAV主要是使用在由Linux、FreeBSD等Unix-like系统架设的邮件服务器上,提供电子邮件的病毒扫描服务。ClamAV本身是在文字接口下运作,但也有许多图形接口的前端工具可用,另外由于其开放源代码的特性,在Windows与Mac OS X平台都有其移植版。
- 外文名
- Clam AntiVirus
- 简 称
- ClamAV
- 类 别
- 防毒软件
- 特 点
- 免费而且开放源代码
- 使用环境
- Linux系统,Windows系统
一、yum安装
- 安装后会自动生成服务文件,启动服务后,可使用clamdsacn命令,扫描速度快;
- 启动服务后,会实时监控扫描连接,虽然安全性高了,不过可能会对服务器性能有影响;
yum install clamav clamav-server clamav-data clamav-update clamav-filesystem clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd pcre* gcc zlib zlib-devel libssl-devel libssl openssl
这种方法安装后,病毒库默认地址是/var/lib/clamav。
二、编译安装
- 需要手动编译安装,安装虽然不需要连网,但更新病毒库还是需要联网;
- 安装后不用启动服务,不能使用clamdsacn命令,可使用clamscan命令,扫描速度相对较慢;
2.1:下载软件包
#官网地址:
http://www.clamav.net/downloads
#Linux中下载地址:
wget http://www.clamav.net/downloads/production/clamav-0.100.0.tar.gz
#参考文档:
https://github.com/vrtadmin/clamav-faq/raw/master/manual/clamdoc.pdf
2.2:创建clamav用户和存放病毒库目录
#clamav用户和用户组
groupadd clamav && useradd -g clamav clamav && id clamav
#日志存放目录
mkdir -p /usr/local/clamav/logs
touch /usr/local/clamav/logs/clamd.log
touch /usr/local/clamav/logs/freshclam.log
chown clamav.clamav /usr/local/clamav/logs/clamd.log
chown clamav.clamav /usr/local/clamav/logs/freshclam.log
#病毒存放目录
mkdir -p /usr/local/clamav/updata
chown -R root.clamav /usr/local/clamav/
chown -R clamav.clamav /usr/local/clamav/updata/
2.3:解压安装包
tar xf clamav-0.100.0.tar.gz
2.4:安装依赖
yum install gcc openssl openssl-devel -y
2.5:编译安装
cd clamav-0.100.0/
./configure --prefix=/usr/local/clamav --with-pcre
make && make install
echo $?
2.6:配置clamav
cd /usr/local/clamav/etc
cp clamd.conf.sample clamd.conf
cp freshclam.conf.sample freshclam.conf
vim clamd.conf
#Example 注释掉这一行.
添加下面三行:
LogFile /usr/local/clamav/logs/clamd.log
PidFile /usr/local/clamav/updata/clamd.pid
DatabaseDirectory /usr/local/clamav/updata
vim freshclam.conf
#Example 注释掉这一行.
添加下面三行
DatabaseDirectory /usr/local/clamav/updata
UpdateLogFile /usr/local/clamav/logs/freshclam.log
PidFile /usr/local/clamav/updata/freshclam.pid
2.7:启动clamav
chown -R clamav.clamav /usr/local/clamav/
systemctl start clamav-freshclam.service
systemctl enable clamav-freshclam.service
systemctl status clamav-freshclam.service
2.8:更新病毒库
#先停止freshclam
systemctl stop clamav-freshclam.service
#再更新
/usr/local/clamav/bin/freshclam (根据网络质量确定更新时长)
或者
cd /usr/local/clamav/share/clamav
wget http://database.clamav.net/main.cvd
wget http://database.clamav.net/daily.cvd
wget http://database.clamav.net/bytecode.cvd
#更新完成启动
systemctl start clamav-freshclam.service
systemctl status clamav-freshclam.service
#创建软链接
ln -s /usr/local/clamav/bin/clamscan /usr/local/sbin/clamscan
说明:如果在手动更新病毒库的时候遇到错误,此时就要删除掉旧的镜像地址文件#rm -f /var/lib/clamav/mirrors.dat,再手动更新一次病毒库。
2.9:扫描杀毒
clamdscan:
- 一般用yum安装才能使用,需要启动clamd服务,执行速度快;
- 用clamdscan扫描,需要开始服务才能使用。速度快,不用带-r,默认会递归扫描子目录;
clamdscan /usr
clamscan:
- 通用,不依赖服务,命令参数较多,执行速度稍慢;
- 用clamscan扫描,不需要开始服务就能使用;
- -r 递归扫描子目录
- -i 只显示发现的病毒文件
- --no-summary 不显示统计信息
扫描参数:
- -r/--recursive[=yes/no] 所有文件
- --log=FILE/-l FILE 增加扫描报告
- --move [路径] 移动病毒文件至..
- --remove [路径] 删除病毒文件
- --quiet 只输出错误消息
- --infected/-i 只输出感染文件
- --suppress-ok-results/-o 跳过扫描OK的文件
- --bell 扫描到病毒文件发出警报声音
- --unzip(unrar) 解压压缩文件扫描
#扫描所有文件并且显示有问题的文件的扫描结果
clamscan -r --bell -i /
#只显示找到的病毒信息
clamscan --no-summary -ri /tmp
#扫描home
clamscan --infected --remove --recursive /home
2.10:定时杀毒
#让服务器每天晚上定时更新和杀毒,保存杀毒日志,crontab文件如下:
1 3 * * * /usr/local/clamav/bin/freshclam --quiet
20 3 * * * /usr/local/clamav/bin/clamscan -r /home --remove -l /var/log/clamscan.log