好美啊 發表於 2025-5-2 00:00:00

Linux安装杀毒工具ClamAV,并配置实时监控和邮件告警

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>ClamAV简介</li><li>ClamAV的安装<ul class="second_class_ul"><li>更新病毒库</li><li>ClamAV的使用</li><ul class="third_class_ul"><li>ClamAV的语法</li><li>ClamAV常用参数</li><li>ClamAV的用法</li><li>创建日志保存路径</li></ul></ul></li><li>安装配置邮件服务<ul class="second_class_ul"></ul></li><li>配置定时扫描和邮件告警<ul class="second_class_ul"><li>发送邮件告警样式演示</li><ul class="third_class_ul"></ul><li>删除病毒方式</li><ul class="third_class_ul"></ul><li>配置定时扫描</li><ul class="third_class_ul"></ul></ul></li><li>总结<ul class="second_class_ul"></ul></li></ul></div><p class="maodian"></p><h2>ClamAV简介</h2>
<p>ClamAV是Linux操作系统一款免费的杀毒工具,可以通过命令执行病毒库升级、查找病毒和删除病毒。ClamAV属于免费开源产品,支持多种平台,如:Linux/Unix、MAC OS X、Windows、OpenVMS。</p>
<p>ClamAV是基于病毒扫描的命令行工具,但同时也有支持图形界面的ClamTK工具。 &emsp; ClamAV主要用于邮件服务器扫描邮件。它有多种接口从邮件服务器扫描邮件,支持文件格式有如:ZIP、RAR、TAR、GZIP、BZIP2、HTML、DOC、PDF,、SIS CHM、RTF等等。 &emsp; ClamAV可以自动升级病毒库,还可以从共享库中运行。&nbsp;</p>
<p>clamav 有两个命令:clamdscan、clamscan:</p>
<ul><li>clamscan 命令:通用,不依赖服务,命令参数较多,执行速度稍慢</li><li>clamdscan 命令:是一个搭配clamd常驻服务的扫毒工具,功能非常类似clamscan,执行效率较高,但是可用的参数较少(因为部分功能是由 clamd 控制的)。不用带 -r ,默认会递归扫描子目录</li></ul>
<p class="maodian"></p><h2>ClamAV的安装</h2>
<p>centos安装方式:</p>
<div class="jb51code"><pre>#添加扩展源
yum -y install epel-release
yum -y install clamav clamavd clamav-update</pre></div>
<p>ubuntu安装方式:</p>
<div class="jb51code"><pre>#升级apt源
apt update
apt -y install clamav clamtk clamav-daemon clamdscan device-tree-compiler</pre></div>
<p class="maodian"></p><h3>更新病毒库</h3>
<div class="jb51code"><pre>freshc</pre></div>
<p style="text-align:center"><img alt="【Linux】安装杀毒软件(漏洞扫描工具)ClamAV 并配置邮件告警操作指南_运维" src="https://img.jbzj.com/file_images/article/202504/2025041915554956.png" width="950" /></p>
<p>这样就是更新成功了;</p>
<p class="maodian"></p><h3>ClamAV的使用</h3>
<p class="maodian"></p><h4>ClamAV的语法</h4>
<div class="jb51code"><pre>clamscan [选项/参数/简便参数] [文件/目录]</pre></div>
<p class="maodian"></p><h4>ClamAV常用参数</h4>
<p style="text-align:center"><img alt="【Linux】安装杀毒软件(漏洞扫描工具)ClamAV 并配置邮件告警操作指南_运维_02" src="https://img.jbzj.com/file_images/article/202504/2025041915554957.png" width="950" /></p>
<p class="maodian"></p><h4>ClamAV的用法</h4>
<p>扫描病毒</p>
<div class="jb51code"><pre>#对/data/目录扫描,并将扫描的日志放到该文件中
clamscan -i -r /data/ -l ./clamav.log</pre></div>
<ul><li>-i 只显示被感染的文件</li><li>-r 扫描目录,后面需跟目录</li><li>-l 保存日志文件的位置,后面需跟文件名</li></ul>
<p>注意:上述命令仅扫描病毒,不会对病毒文件进行删除,需手动删除。目录越大扫描速度越慢。</p>
<p>扫描结果如下:</p>
<p style="text-align:center"><img alt="【Linux】安装杀毒软件(漏洞扫描工具)ClamAV 并配置邮件告警操作指南_运维_03" src="https://img.jbzj.com/file_images/article/202504/2025041915554958.png" width="950" /></p>
<p>这种的是没有病毒;Infected files 显示0,则没有扫到病毒,1或其他则扫出了病毒。</p>
<div class="jb51code"><pre>Known viruses &emsp; &emsp;&emsp;&emsp;#已知病毒
Engine version &emsp;&emsp; &emsp;&emsp;#发动机版本
Scanned directories&emsp; &emsp;#扫描的目录
Scanned files &emsp; &emsp;#扫描的文件
Infected files&emsp; &emsp; &emsp;#受感染的文件
Data scanned &emsp; &emsp;#扫描数据
Data read &emsp;&emsp;&emsp; &emsp;#数据读取
Time &emsp;&emsp;&emsp;&emsp;&emsp; &emsp;#时间
Start Date &emsp;&emsp;&emsp; &emsp;#开始日期:
End Date &emsp;&emsp;&emsp; &emsp;#结束日期</pre></div>
<p>扫描病毒并自动删除病毒</p>
<div class="jb51code"><pre>#对/data/目录扫描,并将扫描的日志放到该文件中,有病毒则自动删除
clamscan -i -r /data/ --remove=yes -l ./clamav.log</pre></div>
<p style="text-align:center"><img alt="【Linux】安装杀毒软件(漏洞扫描工具)ClamAV 并配置邮件告警操作指南_linux_04" src="https://img.jbzj.com/file_images/article/202504/2025041915555059.png" width="950" /></p>
<p>删除完可以再去哪个目录看看。</p>
<p class="maodian"></p><h4>创建日志保存路径</h4>
<p>后续可以将病毒扫描结果保存到/var/log/clamav/ 文件夹下。</p>
<div class="jb51code"><pre>mkdir -p /var/log/clamav/</pre></div>
<p>扫描/home/下是否有病毒;目录越大扫描速度越慢。</p>
<div class="jb51code"><pre>clamscan -i -r /home/ -l /var/log/clamav/clamav.log</pre></div>
<p class="maodian"></p><h2>安装配置邮件服务</h2>
<p>安装邮件服务这里就不详细介绍了,后面会写文章详细介绍。</p>
<p class="maodian"></p><h2>配置定时扫描和邮件告警</h2>
<p>ClamAV扫描邮件告警脚本可以选择下载也可以选择直接复制,不下载的希望多一个浏览量,谢谢蟹蟹;</p>
<p>ClamAV扫描邮件告警脚本:ClamAV病毒扫描之邮件告警脚本</p>
<p>ClamAV扫描邮件告警脚本:</p>
<blockquote><p>ClamAV病毒扫描之邮件告警脚本,里面内容可根据自己的情况自行修改。 自行修改的内容有: &emsp;&emsp;mail 邮件收件人 &emsp;&emsp;要扫描的路径(默认为/根目录) &emsp;&emsp;日志存储的路径(默认为/var/log/clamav/)</p>
<p>还有就是最后的if判断那边也要记得修改自己的邮件收件人,判断三个都要改。 &emsp;&emsp;如果是一个人的话,可以直接写邮箱地址;如果是多个人的话在判断后面改为$mail_A,然后把需要通知的人写到最上面的mail_A环境变量中</p></blockquote>
<div class="jb51code"><pre>#!/bin/bash
freshclam   ##病毒库更新

mail_A=(mail1@,mail2@,mail3@) ## 邮件收件人,可批量

# 获取当前时间(用于创建、读取日志文件)
date=`date +%Y%m%d-%H:%M:%S`

# *填写扫描路径(可根据自己的情况来自定义,默认为/根目录)
clpath=&quot;/&quot;

# *填写要存储日志的路径(可根据自己的情况来自定义,默认为/var/log/clamav/)
clamav_log=&quot;/var/log/clamav&quot;


# 判断是否有存储日志的目录,如果没有则先创建,为了下面的存放日志而创建
if [ -e $clamav_log ];then
      echo &quot;有这个目录&quot; &gt; /dev/null
else
      echo &quot;没有这个目录&quot; &gt; /dev/null
      mkdir -p $clamav_log
fi

#扫描/目录 结果打印到$clamav_log/clamav$date.log
clamscan -r -i $clpath -l $clamav_log/clamav$date.log
#删除WARING开头的内容
sed -i&#39;/^WARNING/d&#39; $clamav_log/clamav$date.log
#删除第一行到第三行的内容
sed -i &#39;1,3d&#39; $clamav_log/clamav$date.log

##获取当前服务器ip ,可以先执行这条命令看看自己的ip对不对。
ip=`hostname -I | awk -F &quot; &quot; &#39;{print $1}&#39;`
#echo $IP

data_log=&quot;&quot;
while read line
do
#data_log+=$line&quot;
&quot;
data_log+=$line&quot;\n&quot;
done &lt; $clamav_log/clamav$date.log

##获取高危病毒的个数
infected_files=$(cat $clamav_log/clamav$date.log | grep &quot;Infected files&quot; | awk -F &quot;: &quot; &#39;{print $2}&#39;)
##获取执行时的时间
scan_time=$(cat $clamav_log/clamav$date.log | grep &quot;Start Date&quot; | awk -F &quot;: &quot; &#39;{print $2}&#39;)

data_log=${data_log/SCAN SUMMARY/扫描结果}
data_log=${data_log/Known viruses/病毒库数量}
data_log=${data_log/Engine version/引擎版本}
data_log=${data_log/Scanned directories/已扫描目录}
data_log=${data_log/Scanned files/已扫描文件}
data_log=${data_log/Infected files/已发现病毒文件}
data_log=${data_log/Total errors/错误总数}
data_log=${data_log/Data scanned/已扫描数据}
data_log=${data_log/Data read/读取数据}
data_log=${data_log/Time/扫描时长}
data_log=${data_log/Start Date/开始时间}
data_log=${data_log/End Date/结束时间}


body=&quot;杀毒软件 ClamAV 在$scan_time   对您的服务器$ip进行了扫描,扫描的路径为:$clpath,扫描结果:暂未发现病毒!&quot;
body2=&quot;杀毒软件 ClamAV 在$scan_time   对您的服务器$ip进行了扫描,扫描的路径为:$clpath,扫描结果:发现有$infected_files个高危病毒 ;请立即登录服务器处理!详情可见附件&darr; &quot;

log2=&quot;杀毒软件 ClamAV 在$scan_time   对您的服务器$ip进行了扫描,扫描的路径为:$clpath,扫描结果:发现有$infected_files个高危病毒 ;病毒为:\n$data_log\n请立即登录服务器处理!!!&quot;
echo -e &quot;$log2&quot; &gt; ./${ip}_clamav.txt

if [ &quot;$infected_files&quot; -eq &quot;0&quot; ];then
        echo $body | mail -s &quot;$(echo -e &quot;$ip \r服务器病毒处理通知-无病毒&quot;)&quot;mail1@
elif [ &quot;$infected_files&quot; -gt &quot;0&quot; ];then
        echo $body2 | mail -a ./${ip}_clamav.txt -s &quot;$(echo -e &quot;$ip \r服务器病毒处理通知-有 $infected_files 个高危病毒&quot;)&quot;mail1@
else
        echo $body2 | mail -s &quot;$ip :此次查询失败,请检查日志!&quot; mail1@
fi

#$mail_A##收件人地址</pre></div>
<p>注:该脚本只适用于clamscan命令,并不适用于clamdscan命令。</p>
<p class="maodian"></p><h3>发送邮件告警样式演示</h3>
<p style="text-align:center"><img alt="【Linux】安装杀毒软件(漏洞扫描工具)ClamAV 并配置邮件告警操作指南_运维_05" src="https://img.jbzj.com/file_images/article/202504/2025041915555060.png" width="950" /></p>
<p>显示内容:</p>
<p style="text-align:center"><img alt="【Linux】安装杀毒软件(漏洞扫描工具)ClamAV 并配置邮件告警操作指南_服务器_06" src="https://img.jbzj.com/file_images/article/202504/2025041915555061.png" width="950" /></p>
<p style="text-align:center"><img alt="【Linux】安装杀毒软件(漏洞扫描工具)ClamAV 并配置邮件告警操作指南_服务器_07" src="https://img.jbzj.com/file_images/article/202504/2025041915555062.png" width="950" /></p>
<p class="maodian"></p><h3>删除病毒方式</h3>
<blockquote><p>方式一:扫描到病毒可以手动删除,进入病毒目录直接删除就可以;</p>
<p></p>
<p>方式二:也可以找到病毒目录,再次执行扫描病毒命令并指定病毒所在目录,clamscan -i -r /data/ --remove=yes -l ./clamav.log 来实现删除病毒;</p></blockquote>
<p class="maodian"></p><h3>配置定时扫描</h3>
<p>配置定时扫描也就是设置周期性计划任务</p>
<blockquote><p>提示:</p>
<p>如果是只扫描某一个路径下的,可以一天扫一次就行;</p>
<p>如果是直接扫根目录,建议一周扫一次。</p></blockquote>
<div class="jb51code"><pre>vim /etc/crontab

#以用户root身份定时执行脚本,sh为执行命令,/data/----为脚本绝对路径;每天凌晨4点扫描一次
0 4 * * * root /bin/sh /data/clamav/

###每周日凌晨1点clamav扫描漏洞(扫描根目录推荐)
0 1 * * 7   root /bin/sh /home/clamav/</pre></div>
<p style="text-align:center"><img alt="【Linux】安装杀毒软件(漏洞扫描工具)ClamAV 并配置邮件告警操作指南_运维_08" src="https://img.jbzj.com/file_images/article/202504/2025041915555063.png" width="950" /></p>
<p style="text-align:center"><img alt="【Linux】安装杀毒软件(漏洞扫描工具)ClamAV 并配置邮件告警操作指南_ClamAV_09" src="https://img.jbzj.com/file_images/article/202504/2025041915555064.png" width="950" /></p>
<p>配置完成之后保存退出即可。</p>
<p class="maodian"></p><h2>总结</h2>
<p>ClamAV是一款免费的开源杀毒工具,支持多种平台,可用于邮件服务器扫描邮件,它可以自动升级病毒库,支持多种文件格式扫描,ClamAV有两个命令:clamscan和clamdscan,分别适用于不同的场景,安装和使用ClamAV需要更新病毒库,并进行扫描和删除病毒的操作,配置定时扫描和邮件告警可以帮助实现自动化监控和处理</p>
<p>到此这篇关于Linux安装杀毒工具ClamAV,并配置邮件告警的文章就介绍到这了,更多相关Linux杀毒工具ClamAV,邮件告警内容请搜索以前的文章或继续浏览下面的相关文章!</p>
頁: [1]
查看完整版本: Linux安装杀毒工具ClamAV,并配置实时监控和邮件告警