Linux安裝殺毒工具ClamAV,并配置郵件告警
ClamAV簡介
ClamAV是Linux操作系統(tǒng)一款免費(fèi)的殺毒工具,可以通過命令執(zhí)行病毒庫升級、查找病毒和刪除病毒。ClamAV屬于免費(fè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)升級病毒庫,還可以從共享庫中運(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安裝方式:
#升級apt源 apt update apt -y install clamav clamtk clamav-daemon clamdscan device-tree-compiler
更新病毒庫
freshc
這樣就是更新成功了;
ClamAV的使用
ClamAV的語法
clamscan [選項(xiàng)/參數(shù)/簡便參數(shù)] [文件/目錄]
ClamAV常用參數(shù)
ClamAV的用法
掃描病毒
#對/data/目錄掃描,并將掃描的日志放到該文件中 clamscan -i -r /data/ -l ./clamav.log
- -i 只顯示被感染的文件
- -r 掃描目錄,后面需跟目錄
- -l 保存日志文件的位置,后面需跟文件名
注意:上述命令僅掃描病毒,不會(huì)對病毒文件進(jìn)行刪除,需手動(dòng)刪除。目錄越大掃描速度越慢。
掃描結(jié)果如下:
這種的是沒有病毒;Infected files 顯示0,則沒有掃到病毒,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 #開始日期: End Date #結(jié)束日期
掃描病毒并自動(dòng)刪除病毒
#對/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 ##病毒庫更新 mail_A=(mail1@,mail2@,mail3@) ## 郵件收件人,可批量 # 獲取當(dāng)前時(shí)間(用于創(chuàng)建、讀取日志文件) date=`date +%Y%m%d-%H:%M:%S` # *填寫掃描路徑(可根據(jù)自己的情況來自定義,默認(rèn)為/根目錄) clpath="/" # *填寫要存儲(chǔ)日志的路徑(可根據(jù)自己的情況來自定義,默認(rèn)為/var/log/clamav/) clamav_log="/var/log/clamav" # 判斷是否有存儲(chǔ)日志的目錄,如果沒有則先創(chuàng)建,為了下面的存放日志而創(chuàng)建 if [ -e $clamav_log ];then echo "有這個(gè)目錄" > /dev/null else echo "沒有這個(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開頭的內(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對不對。 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/病毒庫數(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í)長} data_log=${data_log/Start Date/開始時(shí)間} data_log=${data_log/End Date/結(jié)束時(shí)間} body="殺毒軟件 ClamAV 在$scan_time 對您的服務(wù)器$ip進(jìn)行了掃描,掃描的路徑為:$clpath,掃描結(jié)果:暫未發(fā)現(xiàn)病毒!" body2="殺毒軟件 ClamAV 在$scan_time 對您的服務(wù)器$ip進(jìn)行了掃描,掃描的路徑為:$clpath,掃描結(jié)果:發(fā)現(xiàn)有$infected_files個(gè)高危病毒 ;請立即登錄服務(wù)器處理!詳情可見附件↓ " log2="殺毒軟件 ClamAV 在$scan_time 對您的服務(wù)器$ip進(jìn)行了掃描,掃描的路徑為:$clpath,掃描結(jié)果:發(fā)現(xiàn)有$infected_files個(gè)高危病毒 ;病毒為:\n$data_log\n請立即登錄服務(wù)器處理!??!" echo -e "$log2" > ./${ip}_clamav.txt if [ "$infected_files" -eq "0" ];then echo $body | mail -s "$(echo -e "$ip \r服務(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 :此次查詢失敗,請檢查日志!" mail1@ fi #$mail_A ##收件人地址
注:該腳本只適用于clamscan命令,并不適用于clamdscan命令。
發(fā)送郵件告警樣式演示
顯示內(nèi)容:
刪除病毒方式
方式一:掃描到病毒可以手動(dòng)刪除,進(jìn)入病毒目錄直接刪除就可以;
方式二:也可以找到病毒目錄,再次執(zhí)行掃描病毒命令并指定病毒所在目錄,clamscan -i -r /data/ --remove=yes -l ./clamav.log 來實(shí)現(xiàn)刪除病毒;
配置定時(shí)掃描
配置定時(shí)掃描也就是設(shè)置周期性計(jì)劃任務(wù)
提示:
如果是只掃描某一個(gè)路徑下的,可以一天掃一次就行;
如果是直接掃根目錄,建議一周掃一次。
vim /etc/crontab #以用戶root身份定時(shí)執(zhí)行腳本,sh為執(zhí)行命令,/data/----為腳本絕對路徑;每天凌晨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)的開源殺毒工具,支持多種平臺(tái),可用于郵件服務(wù)器掃描郵件,它可以自動(dòng)升級病毒庫,支持多種文件格式掃描,ClamAV有兩個(gè)命令:clamscan和clamdscan,分別適用于不同的場景,安裝和使用ClamAV需要更新病毒庫,并進(jìn)行掃描和刪除病毒的操作,配置定時(shí)掃描和郵件告警可以幫助實(shí)現(xiàn)自動(dòng)化監(jiān)控和處理
到此這篇關(guān)于Linux安裝殺毒工具ClamAV,并配置郵件告警的文章就介紹到這了,更多相關(guān)Linux殺毒工具ClamAV,郵件告警內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一文詳解Linux系統(tǒng)中的文件描述符與進(jìn)程數(shù)限制
Linux 系統(tǒng)中,文件描述符和進(jìn)程數(shù)是兩個(gè)非常重要的系統(tǒng)資源,它們直接影響系統(tǒng)的性能和穩(wěn)定性,尤其是在高負(fù)載的服務(wù)器環(huán)境中,本文將深入探討如何查看和調(diào)整 Linux 系統(tǒng)中的文件描述符和進(jìn)程數(shù)限制,幫助系統(tǒng)管理員和開發(fā)者更好地優(yōu)化系統(tǒng)配置2025-02-02systemd添加自定義系統(tǒng)服務(wù)設(shè)置自定義開機(jī)啟動(dòng)的方法
下面小編就為大家?guī)硪黄猻ystemd添加自定義系統(tǒng)服務(wù)設(shè)置自定義開機(jī)啟動(dòng)的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12Linux命令行修改IP、網(wǎng)關(guān)、DNS的方法
這篇文章主要介紹了Linux中在命令行中修改IP、網(wǎng)關(guān)、DNS的方法,需要的朋友可以參考下2014-04-04詳解Linux 安裝 JDK、Tomcat 和 MySQL(圖文并茂)
本文會(huì)詳細(xì)介紹 Windows 上安裝虛擬機(jī)之后,如何在 Linux 中安裝 JDK、Tomcat 和 MySQL 的過程,有興趣的可以了解一下2017-08-08Linux使用ssh公鑰實(shí)現(xiàn)免密碼登錄實(shí)例
本篇文章主要介紹了Linux使用ssh公鑰實(shí)現(xiàn)免密碼登錄實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03讓Apache支持shtml實(shí)現(xiàn)include文件解析的配置方法
Apache支持include文件解析shtml首先要應(yīng)該修改Apache配置文件httpd.conf2011-03-03在Apache服務(wù)器中運(yùn)行CGI程序的方法
這篇文章主要介紹了在Apache服務(wù)器中運(yùn)行CGI程序的方法,文中以Perl腳本作為示例,需要的朋友可以參考下2015-07-07