Linux安裝殺毒工具ClamAV,并配置郵件告警
ClamAV簡(jiǎn)介
ClamAV是Linux操作系統(tǒng)一款免費(fèi)的殺毒工具,可以通過(guò)命令執(zhí)行病毒庫(kù)升級(jí)、查找病毒和刪除病毒。ClamAV屬于免費(fèi)開(kāi)源產(chǎn)品,支持多種平臺(tái),如:Linux/Unix、MAC OS X、Windows、OpenVMS。
ClamAV是基于病毒掃描的命令行工具,但同時(shí)也有支持圖形界面的ClamTK工具。 ClamAV主要用于郵件服務(wù)器掃描郵件。它有多種接口從郵件服務(wù)器掃描郵件,支持文件格式有如:ZIP、RAR、TAR、GZIP、BZIP2、HTML、DOC、PDF,、SIS CHM、RTF等等。 ClamAV可以自動(dòng)升級(jí)病毒庫(kù),還可以從共享庫(kù)中運(yùn)行。
clamav 有兩個(gè)命令:clamdscan、clamscan:
- clamscan 命令:通用,不依賴服務(wù),命令參數(shù)較多,執(zhí)行速度稍慢
- clamdscan 命令:是一個(gè)搭配clamd常駐服務(wù)的掃毒工具,功能非常類似clamscan,執(zhí)行效率較高,但是可用的參數(shù)較少(因?yàn)椴糠止δ苁怯?clamd 控制的)。不用帶 -r ,默認(rèn)會(huì)遞歸掃描子目錄
ClamAV的安裝
centos安裝方式:
#添加擴(kuò)展源 yum -y install epel-release yum -y install clamav clamavd clamav-update
ubuntu安裝方式:
#升級(jí)apt源 apt update apt -y install clamav clamtk clamav-daemon clamdscan device-tree-compiler
更新病毒庫(kù)
freshc

這樣就是更新成功了;
ClamAV的使用
ClamAV的語(yǔ)法
clamscan [選項(xiàng)/參數(shù)/簡(jiǎn)便參數(shù)] [文件/目錄](méi)
ClamAV常用參數(shù)

ClamAV的用法
掃描病毒
#對(duì)/data/目錄掃描,并將掃描的日志放到該文件中 clamscan -i -r /data/ -l ./clamav.log
- -i 只顯示被感染的文件
- -r 掃描目錄,后面需跟目錄
- -l 保存日志文件的位置,后面需跟文件名
注意:上述命令僅掃描病毒,不會(huì)對(duì)病毒文件進(jìn)行刪除,需手動(dòng)刪除。目錄越大掃描速度越慢。
掃描結(jié)果如下:

這種的是沒(méi)有病毒;Infected files 顯示0,則沒(méi)有掃到病毒,1或其他則掃出了病毒。
Known viruses #已知病毒 Engine version #發(fā)動(dòng)機(jī)版本 Scanned directories #掃描的目錄 Scanned files #掃描的文件 Infected files #受感染的文件 Data scanned #掃描數(shù)據(jù) Data read #數(shù)據(jù)讀取 Time #時(shí)間 Start Date #開(kāi)始日期: End Date #結(jié)束日期
掃描病毒并自動(dòng)刪除病毒
#對(duì)/data/目錄掃描,并將掃描的日志放到該文件中,有病毒則自動(dòng)刪除 clamscan -i -r /data/ --remove=yes -l ./clamav.log

刪除完可以再去哪個(gè)目錄看看。
創(chuàng)建日志保存路徑
后續(xù)可以將病毒掃描結(jié)果保存到/var/log/clamav/ 文件夾下。
mkdir -p /var/log/clamav/
掃描/home/下是否有病毒;目錄越大掃描速度越慢。
clamscan -i -r /home/ -l /var/log/clamav/clamav.log
安裝配置郵件服務(wù)
安裝郵件服務(wù)這里就不詳細(xì)介紹了,后面會(huì)寫文章詳細(xì)介紹。
配置定時(shí)掃描和郵件告警
ClamAV掃描郵件告警腳本可以選擇下載也可以選擇直接復(fù)制,不下載的希望多一個(gè)瀏覽量,謝謝蟹蟹;
ClamAV掃描郵件告警腳本:ClamAV病毒掃描之郵件告警腳本
ClamAV掃描郵件告警腳本:
ClamAV病毒掃描之郵件告警腳本,里面內(nèi)容可根據(jù)自己的情況自行修改。 自行修改的內(nèi)容有: mail 郵件收件人 要掃描的路徑(默認(rèn)為/根目錄) 日志存儲(chǔ)的路徑(默認(rèn)為/var/log/clamav/)
還有就是最后的if判斷那邊也要記得修改自己的郵件收件人,判斷三個(gè)都要改。 如果是一個(gè)人的話,可以直接寫郵箱地址;如果是多個(gè)人的話在判斷后面改為$mail_A,然后把需要通知的人寫到最上面的mail_A環(huán)境變量中
#!/bin/bash
freshclam ##病毒庫(kù)更新
mail_A=(mail1@,mail2@,mail3@) ## 郵件收件人,可批量
# 獲取當(dāng)前時(shí)間(用于創(chuàng)建、讀取日志文件)
date=`date +%Y%m%d-%H:%M:%S`
# *填寫掃描路徑(可根據(jù)自己的情況來(lái)自定義,默認(rèn)為/根目錄)
clpath="/"
# *填寫要存儲(chǔ)日志的路徑(可根據(jù)自己的情況來(lái)自定義,默認(rèn)為/var/log/clamav/)
clamav_log="/var/log/clamav"
# 判斷是否有存儲(chǔ)日志的目錄,如果沒(méi)有則先創(chuàng)建,為了下面的存放日志而創(chuàng)建
if [ -e $clamav_log ];then
echo "有這個(gè)目錄" > /dev/null
else
echo "沒(méi)有這個(gè)目錄" > /dev/null
mkdir -p $clamav_log
fi
#掃描/目錄 結(jié)果打印到$clamav_log/clamav$date.log
clamscan -r -i $clpath -l $clamav_log/clamav$date.log
#刪除WARING開(kāi)頭的內(nèi)容
sed -i '/^WARNING/d' $clamav_log/clamav$date.log
#刪除第一行到第三行的內(nèi)容
sed -i '1,3d' $clamav_log/clamav$date.log
##獲取當(dāng)前服務(wù)器ip ,可以先執(zhí)行這條命令看看自己的ip對(duì)不對(duì)。
ip=`hostname -I | awk -F " " '{print $1}'`
#echo $IP
data_log=""
while read line
do
# data_log+=$line"<br>"
data_log+=$line"\n"
done < $clamav_log/clamav$date.log
##獲取高危病毒的個(gè)數(shù)
infected_files=$(cat $clamav_log/clamav$date.log | grep "Infected files" | awk -F ": " '{print $2}')
##獲取執(zhí)行時(shí)的時(shí)間
scan_time=$(cat $clamav_log/clamav$date.log | grep "Start Date" | awk -F ": " '{print $2}')
data_log=${data_log/SCAN SUMMARY/掃描結(jié)果}
data_log=${data_log/Known viruses/病毒庫(kù)數(shù)量}
data_log=${data_log/Engine version/引擎版本}
data_log=${data_log/Scanned directories/已掃描目錄}
data_log=${data_log/Scanned files/已掃描文件}
data_log=${data_log/Infected files/已發(fā)現(xiàn)病毒文件}
data_log=${data_log/Total errors/錯(cuò)誤總數(shù)}
data_log=${data_log/Data scanned/已掃描數(shù)據(jù)}
data_log=${data_log/Data read/讀取數(shù)據(jù)}
data_log=${data_log/Time/掃描時(shí)長(zhǎng)}
data_log=${data_log/Start Date/開(kāi)始時(shí)間}
data_log=${data_log/End Date/結(jié)束時(shí)間}
body="殺毒軟件 ClamAV 在$scan_time 對(duì)您的服務(wù)器$ip進(jìn)行了掃描,掃描的路徑為:$clpath,掃描結(jié)果:暫未發(fā)現(xiàn)病毒!"
body2="殺毒軟件 ClamAV 在$scan_time 對(duì)您的服務(wù)器$ip進(jìn)行了掃描,掃描的路徑為:$clpath,掃描結(jié)果:發(fā)現(xiàn)有$infected_files個(gè)高危病毒 ;請(qǐng)立即登錄服務(wù)器處理!詳情可見(jiàn)附件↓ "
log2="殺毒軟件 ClamAV 在$scan_time 對(duì)您的服務(wù)器$ip進(jìn)行了掃描,掃描的路徑為:$clpath,掃描結(jié)果:發(fā)現(xiàn)有$infected_files個(gè)高危病毒 ;病毒為:\n$data_log\n請(qǐng)立即登錄服務(wù)器處理?。?!"
echo -e "$log2" > ./${ip}_clamav.txt
if [ "$infected_files" -eq "0" ];then
echo $body | mail -s "$(echo -e "$ip \r服務(wù)器病毒處理通知-無(wú)病毒")" mail1@
elif [ "$infected_files" -gt "0" ];then
echo $body2 | mail -a ./${ip}_clamav.txt -s "$(echo -e "$ip \r服務(wù)器病毒處理通知-有 $infected_files 個(gè)高危病毒")" mail1@
else
echo $body2 | mail -s "$ip :此次查詢失敗,請(qǐng)檢查日志!" mail1@
fi
#$mail_A ##收件人地址注:該腳本只適用于clamscan命令,并不適用于clamdscan命令。
發(fā)送郵件告警樣式演示

顯示內(nèi)容:


刪除病毒方式
方式一:掃描到病毒可以手動(dòng)刪除,進(jìn)入病毒目錄直接刪除就可以;
方式二:也可以找到病毒目錄,再次執(zhí)行掃描病毒命令并指定病毒所在目錄,clamscan -i -r /data/ --remove=yes -l ./clamav.log 來(lái)實(shí)現(xiàn)刪除病毒;
配置定時(shí)掃描
配置定時(shí)掃描也就是設(shè)置周期性計(jì)劃任務(wù)
提示:
如果是只掃描某一個(gè)路徑下的,可以一天掃一次就行;
如果是直接掃根目錄,建議一周掃一次。
vim /etc/crontab #以用戶root身份定時(shí)執(zhí)行腳本,sh為執(zhí)行命令,/data/----為腳本絕對(duì)路徑;每天凌晨4點(diǎn)掃描一次 0 4 * * * root /bin/sh /data/clamav/ ###每周日凌晨1點(diǎn)clamav掃描漏洞(掃描根目錄推薦) 0 1 * * 7 root /bin/sh /home/clamav/


配置完成之后保存退出即可。
總結(jié)
ClamAV是一款免費(fèi)的開(kāi)源殺毒工具,支持多種平臺(tái),可用于郵件服務(wù)器掃描郵件,它可以自動(dòng)升級(jí)病毒庫(kù),支持多種文件格式掃描,ClamAV有兩個(gè)命令:clamscan和clamdscan,分別適用于不同的場(chǎng)景,安裝和使用ClamAV需要更新病毒庫(kù),并進(jìn)行掃描和刪除病毒的操作,配置定時(shí)掃描和郵件告警可以幫助實(shí)現(xiàn)自動(dòng)化監(jiān)控和處理
到此這篇關(guān)于Linux安裝殺毒工具ClamAV,并配置郵件告警的文章就介紹到這了,更多相關(guān)Linux殺毒工具ClamAV,郵件告警內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Ubuntu18.04(linux)安裝MySQL的方法步驟
本篇文章主要介紹了Ubuntu18.04(linux)安裝MySQL的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
centos配置mutt和msmtp實(shí)現(xiàn)郵件發(fā)送
這篇文章主要為大家詳細(xì)介紹了centos配置mutt和msmtp實(shí)現(xiàn)郵件發(fā)送,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
apache .htaccess文件詳解和配置技巧總結(jié)
這篇文章主要介紹了apache .htaccess文件詳解和配置技巧總結(jié),需要的朋友可以參考下2014-04-04

