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

教程大全 2026-01-08 00:31:42 浏览
目录

ClamAV简介

ClamAV是Linux操作系统一款免费的杀毒工具,可以通过命令执行病毒库升级、查找病毒和删除病毒。ClamAV属于免费开源产品,支持多种平台,如:Linux/UNIX、MAC OS X、Windows、OpenVMS。

ClamAV是基于病毒扫描的命令行工具,但同时也有支持图形界面的ClamTK工具。ClamAV主要用于邮件服务器扫描邮件。它有多种接口从邮件服务器扫描邮件,支持文件格式有如:ZIP、RAR、TAR、GZIP、BZIP2、HTML、DOC、PDF,、SIS CHM、RTF等等。ClamAV可以自动升级病毒库,还可以从共享库中运行。

clamav 有两个命令:clAMDscan、clamscan:

ClamAV的安装

centOs安装方式:

#添加扩展源yum -y install epel-releaseyum -y install clamav clamavd clamav-update

ubuntu安装方式:

#升级apt源apt updateapt -y install clamav clamtk clamav-daemon clamdscan device-tree-compiler

更新病毒库

这样就是更新成功了;

ClamAV的使用

ClamAV的语法

clamscan [选项/参数/简便参数] [文件/目录]

ClamAV常用参数

ClamAV的用法

扫描病毒

#对/data/目录扫描,并将扫描的日志放到该文件中clamscan -i -r /data/ -l ./clamav.log
并配置实时监控和邮件告警

注意:上述命令仅扫描病毒,不会对病毒文件进行删除,需手动删除。目录越大扫描速度越慢。

扫描结果如下:

这种的是没有病毒;Infected Files 显示0,则没有扫到病毒,1或其他则扫出了病毒。

扫描病毒并自动删除病毒

#对/data/目录扫描,并将扫描的日志放到该文件中,有病毒则自动删除clamscan -i -r /data/ --remove=yes -l ./clamav.log

删除完可以再去哪个目录看看。

创建日志保存路径

后续可以将病毒扫描结果保存到/var/log/clamav/ 文件夹下。

mkdir -p /var/log/clamav/

扫描/home/下是否有病毒;目录越大扫描速度越慢。

clamscan -i -r /home/ -l /var/log/clamav/clamav.log

安装配置邮件服务

安装邮件服务这里就不详细介绍了,后面会写文章详细介绍。

配置定时扫描和邮件告警

ClamAV扫描邮件告警脚本可以选择下载也可以选择直接复制,不下载的希望多一个浏览量,谢谢蟹蟹;

ClamAV扫描邮件告警脚本:ClamAV病毒扫描之邮件告警脚本

ClamAV扫描邮件告警脚本:

#!/bin/bashfreshclam##病毒库更新mail_A=(mail1@,mail2@,mail3@) ## 邮件收件人,可批量# 获取当前时间(用于创建、读取日志文件)date=`date +%Y%m%d-%H:%M:%S`# *填写扫描路径(可根据自己的情况来自定义,默认为/根目录)clpath="/"# *填写要存储日志的路径(可根据自己的情况来自定义,默认为/var/log/clamav/)clamav_log="/var/log/clamav"# 判断是否有存储日志的目录,如果没有则先创建,为了下面的存放日志而创建if [ -e $clamav_log ];thenecho "有这个目录" > /dev/nullelseecho "没有这个目录" > /dev/nullmkdir -p $clamav_logfi#扫描/目录 结果打印到$clamav_log/clamav$date.logclamscan -r -i $clpath -l $clamav_log/clamav$date.log#删除WARING开头的内容sed -i'/^WARNING/d' $clamav_log/clamav$date.log#删除第一行到第三行的内容sed -i '1,3d' $clamav_log/clamav$date.log##获取当前服务器ip ,可以先执行这条命令看看自己的ip对不对。ip=`hostname -I | awk -F " " '{print $1}'`#echo $IPdata_log=""while read linedo#data_log+=$line""data_log+=$line"\n"done < $clamav_log/clamav$date.log##获取高危病毒的个数infected_files=$(cat $clamav_log/clamav$date.log | grep "Infected files" | awk -F ": " '{print $2}')##获取执行时的时间scan_time=$(cat $clamav_log/clamav$date.log | grep "Start Date" | awk -F ": " '{print $2}')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="杀毒软件 ClamAV 在$scan_time对您的服务器$ip进行了扫描,扫描的路径为:$clpath,扫描结果:暂未发现病毒!"body2="杀毒软件 ClamAV 在$scan_time对您的服务器$ip进行了扫描,扫描的路径为:$clpath,扫描结果:发现有$infected_files个高危病毒 ;请立即登录服务器处理!详情可见附件↓ "log2="杀毒软件 ClamAV 在$scan_time对您的服务器$ip进行了扫描,扫描的路径为:$clpath,扫描结果:发现有$infected_files个高危病毒 ;病毒为:\n$data_log\n请立即登录服务器处理!!!"echo -e "$log2" > ./${ip}_clamav.txtif [ "$infected_files" -eq "0" ];thenecho $body | mail -s "$(echo -e "$ip \r服务器病毒处理通知-无病毒")"mail1@elif [ "$infected_files" -gt "0" ];thenecho $body2 | mail -a ./${ip}_clamav.txt -s "$(echo -e "$ip \r服务器病毒处理通知-有 $infected_files 个高危病毒")"mail1@elseecho $body2 | mail -s "$ip :此次查询失败,请检查日志!" mail1@fi#$mail_A##收件人地址

注:该脚本只适用于clamscan命令,并不适用于clamdscan命令。

发送邮件告警样式演示

显示内容:

删除病毒方式

配置定时扫描

配置定时扫描也就是设置周期性计划任务

vim /etc/crontab#以用户root身份定时执行脚本,sh为执行命令,/data/----为脚本绝对路径;每天凌晨4点扫描一次0 4 * * * root /bin/sh /data/clamav/###每周日凌晨1点clamav扫描漏洞(扫描根目录推荐)0 1 * * 7root /bin/sh /home/clamav/

配置完成之后保存退出即可。

总结

ClamAV是一款免费的开源杀毒工具,支持多种平台,可用于邮件服务器扫描邮件,它可以自动升级病毒库,支持多种文件格式扫描,ClamAV有两个命令:clamscan和clamdscan,分别适用于不同的场景,安装和使用ClamAV需要更新病毒库,并进行扫描和删除病毒的操作,配置定时扫描和邮件告警可以帮助实现自动化监控和处理

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐