clamav源码分析(clamav病毒库停止更新)
一、ClamAV简介
Clam AntiVirus是一个C语言开发的,类UNIX系统上使用的开源的 (GPL) 反病毒软件包。主要应用于邮件服务器,采用多线程后台操作,可以自动升级病毒库。ClamAV是一个在命令行下查毒软件,因为它不将杀毒作为主要功能,默认只能查出您计算机内的病毒,但是无法清除。ClamAV可以工作很多的平台上,但是有少数无法支持,这就要取决您所使用的平台的流行程度了。
Linux系统的病毒较少,但是并不意味着病毒免疫,尤其是对于诸如邮件或者归档文件中夹杂的病毒往往更加难以防范,而ClamAV则能起到不少作用。
该软件提供了包含灵活且可伸缩的监控程序、命令行扫描程序以及用于自动更新数据库的高级工具在内的大量实用程序。该软件的核心在于可用于各类场合的反病毒引擎共享库。主要使用ClamAV开源杀毒引擎检测木马、病毒、恶意软件和其他恶意的威胁。
◆ 高性能
ClamAV包括一个多线程扫描程序守护程序,用于按需文件扫描和自动签名更新的命令行实用程序。
◆ 格式支持
ClamAV支持多种文件格式,文件和存档解包以及多种签名语言。PDF、JS、XLS、DOCX、PPT等
特别说明:
经测试,对于ClamAV版本为 0.102.x(0.102.0、0.102.1、0.102.2、0.102.3、0.102.4),需要Curl version >= 7.45 确保支持clamonacc使用的所有选项。CentOS7系统YUM源的最新版本为7.29.0,可使用下列方法确保ClamAV安装编译通过:
①使用第三方YUM源升级curl。
②使用官方提供的软件源包编译安装高版本的curl 。
③禁用clamonacc,在执行 ./configure 时再加上 –disable-clamonacc 参数。
注:ClamAV编译时报如上图错误。
##curl库安装
Github地址:https://github.com/curl/curl
cd /data/tools
wget https://curl.haxx.se/download/curl-7.69.1.tar.gz
tar xf curl-7.69.1.tar.gz
cd curl-7.69.1
./configure
make && make install
二、环境准备
OS:CentOS 7.8 x64
测试服务器IP:192.168.168.100
Software:clamav-0.103.1
注:系统为最小化安装,部署前已完成系统初始化、内核及安全优化。
三、安装Clamav
1.安装依赖
rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install gcc gcc-c++ bzip2 bzip2-devel pcre2 pcre2-devel ncurses ncurses-devel zlib zlib-devel openssl openssl-devel llvm-devel libxml2 libxml2-devel libcurl-devel libtool-ltdl-devel
注:①centos系统的库是openssl、openssl-devel;ubuntu系统的库是libssl、libssl-devel
②libtool-ltdl-devel 更新病毒库时会报错,如下图。
2.创建用户及用户组
groupadd clamav
useradd -g clamav -s /bin/false -c “Clam AntiVirus” clamav
注:若不创建用户组及用户,则ClamAV编译时需加 –disable-clamav 参数选项将禁用对clamav用户和组是否存在的检查,但是clamscan仍然需要无特权的帐户才能在超级用户模式下工作。
3.下载解压编译安装
cd /data/tools
wget http://www.clamav.net/downloads/production/clamav-0.102.2.tar.gz
tar xf clamav-0.102.2.tar.gz
cd clamav-0.102.2
./configure –prefix=/usr/local/clamav –with-pcre2 –disable-clamonacc
make && make install
四、配置Clamav
1.创建日志目录
mkdir -p /data/logs/clamav/
touch /data/logs/clamav/{freshclam.log,clamd.log}
chown -R clamav.clamav /data/logs/clamav
2.创建病毒库目录
mkdir -p /usr/local/clamav/updata
chown -R root.clamav /usr/local/clamav/
chown -R clamav.clamav /usr/local/clamav/updata/
3.修改配置文件
cd /usr/local/clamav/etc
cp clamd.conf.sample clamd.conf
cp freshclam.conf.sample freshclam.conf
## 修改: clamd.conf
vi clamd.conf
Example //注释掉这一行(第8行)
添加下面三行:
LogFile /data/logs/clamav/clamd.log
PidFile /data/logs/clamav/clamd.pid
DatabaseDirectory /usr/local/clamav/updata/
## 修改: freshclam.conf
vi freshclam.conf
Example //注释掉这一行(第8行)
添加下面三行:
UpdateLogFile /data/logs/clamav/freshclam.log
PidFile /data/logs/clamav/freshclam.pid
DatabaseDirectory /usr/local/clamav/updata
五、下载或更新病毒库
在运行clamd,clamdscan或clamscan,必须在系统上的适当位置安装ClamAV病毒数据库(.cvd)文件。这些数据库文件的默认位置是/usr/local/share/clamav。
## 国内下载可能会有点慢,多台机器的话,可以一台下载之后再拷贝
/usr/local/clamav/bin/freshclam
注:更新病毒库时必须先停止freshclam服务。systemctl stop clamav-freshclam.service
更新结果如下图:
六、Clamav服务管理
## 启动
systemctl start clamav-freshclam.service
## 查看Clamav状态
systemctl status clamav-freshclam.service
## 配置开机启动
systemctl enable clamav-freshclam.service
## 停止服务
systemctl stop clamav-freshclam.service
七、ClamAV的使用
## 创建软链接,方便命令操作
ln -s /usr/local/clamav/bin/clamscan /usr/local/sbin/clamscan
## 查看相应的帮助信息
clamscan -h
## 扫描目录文件显示扫描结果但并不隔离或删除文件
clamscan -r –bell -i ${路径}
如:clamscan -r –bell -i /home/
## 扫描计算机上的所有文件并且显示所有的文件的扫描结果
clamscan -r /
## 扫描所有用户的主目录
clamscan -r /home
## 扫描文件
clamscan targetfile
## 递归扫描home目录,并且记录日志
clamscan -r -i /home -l /data/logs/clamav/clamscan.log
## 递归扫描home目录,将病毒文件删除,并且记录日志
clamscan -r -i /home –remove -l /data/logs/clamav/clamscan.log
## 扫描指定目录,然后将感染文件移动到指定目录,并记录日志
mkdir -p /data/virus_collection
clamscan -r -i /home –move=/data/virus_collection -l /data/logs/clamav/clamscan.log
八、计划任务——实际生产环境应用
编写shell脚本,使用计划任务,让服务器每天晚上定时更新病毒库和定时杀毒,保存杀毒日志。
mkdir -p /data/shell
cd /data/shell
vi clamscan.sh //输入如下内容
#!/bin/bash
## USAGE:
## ClamAV SCAN
##停止服务
systemctl stop clamav-freshclam.service
##更新病毒库
/usr/local/clamav/bin/freshclam
##启动服务
systemctl start clamav-freshclam.service
##创建目录
mkdir -p /data/virus_collection
chown -R clamav.clamav /data/virus_collection
##扫描杀毒,将感染文件移动到指定目录,并记录日志
clamscan -r -i / --move=/data/virus_collection -l /data/logs/clamav/clamscan.log
## 设置定时计划任务,每天早上4点执行计划任务
crontab -e //输入如下内容
###Scan virus
0 4 * * * sh /data/shell/clamscan.sh
注:脚本执行时间自定义。
-
无相关信息
- 1bat的大数据(BAT的大数据来源)
- 2三星s8屏幕上端2(三星s8屏幕上端2个按键)
- 3三星屏幕坏了如何导出(三星屏幕摔坏了如何导出数据么)
- 4红米3x怎么关闭自动更新(红米k40s怎么关闭自动更新)
- 5微信上防止app自动下载软件怎么办(微信上防止app自动下载软件怎么办啊)
- 6押镖多少钱(押镖一个月有多少储备金)
- 7瑞星个人防火墙胡功能(瑞星个人防火墙协议类型有哪些)
- 8cf现在等级是多少(cf等级2020最新)
- 9老滑头多少条鱼(钓鱼老滑头有什么用)
- 10WPS自动调整语法(wps如何修改语法)
- 11dell控制面板防火墙(dell的防火墙怎么关闭)
- 12丑女技能升多少(丑女技能需要满级吗)
- 13智能家居系统怎么样(智能家居系统好吗)
- 14戴尔屏幕(戴尔屏幕闪烁)
- 15y85屏幕信息(vivoy85息屏显示时间怎么设置)
- 16魅蓝note3屏幕出现方格(魅蓝note屏幕竖条纹)
- 17v8手指按屏幕(触屏手指)
- 18金为液晶广告机(液晶广告机lb420)
- 19三星显示器怎么校色(三星显示器 调色)
- 20hkc显示器dvi音频(hkc显示器有音响么)
- 21康佳液晶智能电视机(康佳液晶智能电视机怎么样)
- 22做液晶画板电脑(做液晶画板电脑怎么操作)
- 23液晶屏极化现象原理(液晶屏极化现象原理是什么)
- 24企业网络安全防火墙(企业网络防护)
- 256splus黑屏屏幕不亮(苹果6s plus屏幕突然黑屏)
- 26充电导致屏幕失灵(充电导致屏幕失灵怎么办)
- 27超极本屏幕旋转(笔记本电脑屏幕旋转,怎么转过来?)
- 28igmp防火墙(防火墙配置ipv6)
- 29荣耀王者多少经验(王者荣耀经验多少一级)
- 30lol老将还剩多少(qg老将)