前言
一提起殺毒軟件,我們第一個想到的可能是360,瑞星,卡巴斯基等軟件以及windows系統,很少有聽說Linux系統需要殺毒的。
Linux一方面是由於它開源以及一切皆文件等特性,一方面使得它被廣大的人羣所維護,另一方面它還能限制病毒的傳播(注意Linux用戶權限,服務要儘量避免使用root權限)。但是,這並不意味着Linux就沒有病毒了,因爲只要你的服務器在網絡上提供服務,就有可能被傳播病毒,最常見的是普通用戶上傳的文件中有可能就帶有病毒。
如果沒有負責網絡的網絡工程師來定期進行網絡巡檢的話,Linux也可以安裝一些軟件來進行殺毒。如果是雲服務器,不同的廠商也有着各自的雲安全工具。
下面介紹的clamav配合郵件發送,對掃描出來的病毒文件進行通知。
(實際上clamav等軟件可以直接對病毒文件進行刪除或移動病毒文件位置,爲了防止某些誤判導致異常,建議由人來進行最終處理)
Clamav的安裝及使用
【1】Clamav安裝
<1>進入官網選擇合適的版本下載
http://www.clamav.net/downloads
or
wget http://www.clamav.net/downloads/production/clamav-0.101.2.tar.gz
<2>安裝
yum -y install gcc-c++ openssl openssl-devel
tar xf clamav-0.101.2.tar.gz
cd clamav-0.101.2
./configure --prefix=/usr/local/clamav -disable-clamav
make -j4
make install
<3>做軟鏈接
ln -s /usr/local/clamav/bin/* /usr/bin/
ln -s /usr/local/clamav/sbin/* /usr/sbin/
<4>創建相關文件
用於更新及日誌記錄等
mkdir -pv /usr/local/clamav/logs/
mkdir -pv /usr/local/clamav/updata/
mkdir -pv /usr/local/clamav/test/
touch /usr/local/clamav/logs/clamd.log
touch /usr/local/clamav/logs/freshclam.log
<5>創建clamav用戶並授權
useradd clamav -s /sbin/nologin
chown -R clamav.clamav /usr/local/clamav
<6>修改配置文件
cd /usr/local/clamav/etc
cp /usr/local/clamav/etc/clamd.conf.sample /usr/local/clamav/etc/clamd.conf
cp /usr/local/clamav/etc/freshclam.conf.sample /usr/local/clamav/etc/freshclam.conf
egrep -v "^$|^#" clamd.conf
LogFile /usr/local/clamav/logs/clamd.log #配置日誌
PidFile /usr/local/clamav/clamd.pid #配置pid位置
DatabaseDirectory /usr/local/clamav/updata #配置更新目錄
LocalSocket /tmp/clamd.socket #配置socket位置
egrep -v "^$|^#" freshclam.conf
DatabaseDirectory /usr/local/clamav/updata #配置更新目錄
UpdateLogFile /usr/local/clamav/logs/freshclam.log #配置日誌
PidFile /usr/local/clamav/freshclam.pid #配置pid位置
DatabaseMirror database.clamav.net #配置病毒庫更新網址
注意要將兩個配置文件中的Example註釋掉,例如:#Example
【2】使用
<1>更新病毒庫
(掃描之前更新病毒庫,依據病毒庫進行殺毒)
freshclam
如更新失敗,可wget下載
cd /usr/local/clamav/updata/
rm -rf mirrors.dat
wget http://database.clamav.net/main.cvd
wget http://database.clamav.net/daily.cvd
wget http://database.clamav.net/bytecode.cvd
chown clamav.clamav *
<2>病毒掃描 clamscan
clamscan不依賴服務,執行速度稍慢,但是不需要開始服務就能使用
常用參數:
-r 遞歸掃描子目錄
-l 增加掃描報告
-i 只顯示發現的病毒文件
-o 跳過掃描OK的文件
--no-summary 不顯示統計信息
--move (+路徑) 移動病毒文件至其他位置
--remove 刪除病毒文件(加此參數後,掃描出的病毒文件會直接刪除)
--quiet 只輸出錯誤消息
--unzip or unrar 解壓壓縮文件進行掃描
clamscan -ri / -l /usr/local/clamav/logs/clamav.`date +%F`\.log
<3> 病毒掃描 clamdscan
clamdscan依賴於clamd服務,執行速度快,參數少(默認遞歸,無需加-r)
clamd start
clamdscan /home
【3】郵件配置
郵箱配置可參考下列鏈接:
https://blog.csdn.net/GX_1_11_real/article/details/100046657
<1>郵件腳本
/script/check_clam.sh
#!/bin/bash
data=`date +%F`
data_log=/usr/local/clamav/logs/clamav.$data.log
if [[ -s $data_log ]];then
mail -s "病毒文件列表" XXX.qq.com < $data_log
else
echo "未檢測到病毒文件"
fi
如有多臺安裝clamav的服務器,可將每臺檢測出的日誌彙總到一臺再進行判斷併發送郵件
【4】計劃任務配置
根據需求配置
10 0 * * * /usr/bin/freshclam
20 0 * * * /usr/bin/clamscan -ri / -l /usr/local/clamav/logs/clamav.`date +%F`\.log
0 8 * * * /script/check_clam.sh >> /var/log/check_clam.log 2>&1 &