clamav源码分析_clamav病毒库停止更新

clamav源码分析_clamav病毒库停止更新,第1张

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/curlcd /data/toolswget https://curl.haxx.se/download/curl-7.69.1.tar.gztar xf curl-7.69.1.tar.gzcd curl-7.69.1./configuremake && make install二、环境准备OS:CentOS 7.8 x64测试服务器IP:192.168.168.100Software:clamav-0.103.1注:系统为最小化安装,部署前已完成系统初始化、内核及安全优化。

三、安装Clamav1.安装依赖rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmyum -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 clamavuseradd -g clamav -s /bin/false -c “Clam AntiVirus” clamav注:若不创建用户组及用户,则ClamAV编译时需加 –disable-clamav 参数选项将禁用对clamav用户和组是否存在的检查,但是clamscan仍然需要无特权的帐户才能在超级用户模式下工作。

3.下载解压编译安装cd /data/toolswget http://www.clamav.net/downloads/production/clamav-0.102.2.tar.gztar xf clamav-0.102.2.tar.gzcd clamav-0.102.2./configure –prefix=/usr/local/clamav –with-pcre2 –disable-clamonaccmake && make install四、配置Clamav1.创建日志目录mkdir -p /data/logs/clamav/touch /data/logs/clamav/{freshclam.log,clamd.log}chown -R clamav.clamav /data/logs/clamav2.创建病毒库目录mkdir -p /usr/local/clamav/updatachown -R root.clamav /usr/local/clamav/chown -R clamav.clamav /usr/local/clamav/updata/3.修改配置文件cd /usr/local/clamav/etccp clamd.conf.sample clamd.confcp freshclam.conf.sample freshclam.conf## 修改: clamd.confvi clamd.confExample //注释掉这一行(第8行)添加下面三行:LogFile /data/logs/clamav/clamd.logPidFile /data/logs/clamav/clamd.pidDatabaseDirectory /usr/local/clamav/updata/## 修改: freshclam.confvi freshclam.confExample //注释掉这一行(第8行)添加下面三行:UpdateLogFile /data/logs/clamav/freshclam.logPidFile /data/logs/clamav/freshclam.pidDatabaseDirectory /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_collectionclamscan -r -i /home –move=/data/virus_collection -l /data/logs/clamav/clamscan.log八、计划任务——实际生产环境应用编写shell脚本,使用计划任务,让服务器每天晚上定时更新病毒库和定时杀毒,保存杀毒日志。

mkdir -p /data/shellcd /data/shellvi 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_collectionchown -R clamav.clamav /data/virus_collection##扫描杀毒,将感染文件移动到指定目录,并记录日志clamscan -r -i / --move=/data/virus_collection -l /data/logs/clamav/clamscan.log## 设置定时计划任务,每天早上4点执行计划任务crontab -e //输入如下内容###Scan virus0 4 * * * sh /data/shell/clamscan.sh注:脚本执行时间自定义。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/650673.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-17
下一篇 2022-04-17

发表评论

登录后才能评论

评论列表(0条)

保存