一、ClamAV簡(jiǎn)介
Clam AntiVirus是一個(gè)C語(yǔ)言開(kāi)發(fā)的,類UNIX系統(tǒng)上使用的開(kāi)源的 (GPL) 反病毒軟件包。主要應(yīng)用于郵件服務(wù)器,采用多線程后臺(tái)操作,可以自動(dòng)升級(jí)病毒庫(kù)。ClamAV是一個(gè)在命令行下查毒軟件,因?yàn)樗粚⒍咀鳛橹饕δ?,默認(rèn)只能查出您計(jì)算機(jī)內(nèi)的病毒,但是無(wú)法清除。ClamAV可以工作很多的平臺(tái)上,但是有少數(shù)無(wú)法支持,這就要取決您所使用的平臺(tái)的流行程度了。
Linux系統(tǒng)的病毒較少,但是并不意味著病毒免疫,尤其是對(duì)于諸如郵件或者歸檔文件中夾雜的病毒往往更加難以防范,而ClamAV則能起到不少作用。
該軟件提供了包含靈活且可伸縮的監(jiān)控程序、命令行掃描程序以及用于自動(dòng)更新數(shù)據(jù)庫(kù)的高級(jí)工具在內(nèi)的大量實(shí)用程序。該軟件的核心在于可用于各類場(chǎng)合的反病毒引擎共享庫(kù)。主要使用ClamAV開(kāi)源殺毒引擎檢測(cè)木馬、病毒、惡意軟件和其他惡意的威脅。
◆ 高性能
ClamAV包括一個(gè)多線程掃描程序守護(hù)程序,用于按需文件掃描和自動(dòng)簽名更新的命令行實(shí)用程序。
◆ 格式支持
ClamAV支持多種文件格式,文件和存檔解包以及多種簽名語(yǔ)言。PDF、JS、XLS、DOCX、PPT等
特別說(shuō)明:
經(jīng)測(cè)試,對(duì)于ClamAV版本為 0.102.x(0.102.0、0.102.1、0.102.2、0.102.3、0.102.4),需要Curl version >= 7.45 確保支持clamonacc使用的所有選項(xiàng)。CentOS7系統(tǒng)YUM源的最新版本為7.29.0,可使用下列方法確保ClamAV安裝編譯通過(guò):
①使用第三方Y(jié)UM源升級(jí)curl。
②使用官方提供的軟件源包編譯安裝高版本的curl 。
③禁用clamonacc,在執(zhí)行 ./configure 時(shí)再加上 –disable-clamonacc 參數(shù)。

注:ClamAV編譯時(shí)報(bào)如上圖錯(cuò)誤。
##curl庫(kù)安裝
Github地址:https://github.com/curl/curl
cd /data/tools
wget https://curl.haxx.se/download/curl-7.69.1.tar.gz
tar xf curl-7.69.1.tar.gz
cd curl-7.69.1
./configure
make && make install
二、環(huán)境準(zhǔn)備
OS:CentOS 7.8 x64
測(cè)試服務(wù)器IP:192.168.168.100
Software:clamav-0.103.1
注:系統(tǒng)為最小化安裝,部署前已完成系統(tǒng)初始化、內(nèi)核及安全優(yōu)化。
三、安裝Clamav
1.安裝依賴
rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install gcc gcc-c++ bzip2 bzip2-devel pcre2 pcre2-devel ncurses ncurses-devel zlib zlib-devel openssl openssl-devel llvm-devel libxml2 libxml2-devel libcurl-devel libtool-ltdl-devel
注:①centos系統(tǒng)的庫(kù)是openssl、openssl-devel;ubuntu系統(tǒng)的庫(kù)是libssl、libssl-devel
②libtool-ltdl-devel 更新病毒庫(kù)時(shí)會(huì)報(bào)錯(cuò),如下圖。

2.創(chuàng)建用戶及用戶組
groupadd clamav
useradd -g clamav -s /bin/false -c “Clam AntiVirus” clamav
注:若不創(chuàng)建用戶組及用戶,則ClamAV編譯時(shí)需加 –disable-clamav 參數(shù)選項(xiàng)將禁用對(duì)clamav用戶和組是否存在的檢查,但是clamscan仍然需要無(wú)特權(quán)的帳戶才能在超級(jí)用戶模式下工作。
3.下載解壓編譯安裝
cd /data/tools
wget http://www.clamav.net/downloads/production/clamav-0.102.2.tar.gz
tar xf clamav-0.102.2.tar.gz
cd clamav-0.102.2
./configure –prefix=/usr/local/clamav –with-pcre2 –disable-clamonacc
make && make install
四、配置Clamav
1.創(chuàng)建日志目錄
mkdir -p /data/logs/clamav/
touch /data/logs/clamav/{freshclam.log,clamd.log}
chown -R clamav.clamav /data/logs/clamav
2.創(chuàng)建病毒庫(kù)目錄
mkdir -p /usr/local/clamav/updata
chown -R root.clamav /usr/local/clamav/
chown -R clamav.clamav /usr/local/clamav/updata/
3.修改配置文件
cd /usr/local/clamav/etc
cp clamd.conf.sample clamd.conf
cp freshclam.conf.sample freshclam.conf
## 修改: clamd.conf
vi clamd.conf
Example //注釋掉這一行(第8行)
添加下面三行:
LogFile /data/logs/clamav/clamd.log
PidFile /data/logs/clamav/clamd.pid
DatabaseDirectory /usr/local/clamav/updata/

## 修改: freshclam.conf
vi freshclam.conf
Example //注釋掉這一行(第8行)
添加下面三行:
UpdateLogFile /data/logs/clamav/freshclam.log
PidFile /data/logs/clamav/freshclam.pid
DatabaseDirectory /usr/local/clamav/updata

五、下載或更新病毒庫(kù)
在運(yùn)行clamd,clamdscan或clamscan,必須在系統(tǒng)上的適當(dāng)位置安裝ClamAV病毒數(shù)據(jù)庫(kù)(.cvd)文件。這些數(shù)據(jù)庫(kù)文件的默認(rèn)位置是/usr/local/share/clamav。
## 國(guó)內(nèi)下載可能會(huì)有點(diǎn)慢,多臺(tái)機(jī)器的話,可以一臺(tái)下載之后再拷貝
/usr/local/clamav/bin/freshclam
注:更新病毒庫(kù)時(shí)必須先停止freshclam服務(wù)。systemctl stop clamav-freshclam.service
更新結(jié)果如下圖:

六、Clamav服務(wù)管理
## 啟動(dòng)
systemctl start clamav-freshclam.service
## 查看Clamav狀態(tài)
systemctl status clamav-freshclam.service
## 配置開(kāi)機(jī)啟動(dòng)
systemctl enable clamav-freshclam.service
## 停止服務(wù)
systemctl stop clamav-freshclam.service
七、ClamAV的使用
## 創(chuàng)建軟鏈接,方便命令操作
ln -s /usr/local/clamav/bin/clamscan /usr/local/sbin/clamscan
## 查看相應(yīng)的幫助信息
clamscan -h
## 掃描目錄文件顯示掃描結(jié)果但并不隔離或刪除文件
clamscan -r –bell -i ${路徑}
如:clamscan -r –bell -i /home/

## 掃描計(jì)算機(jī)上的所有文件并且顯示所有的文件的掃描結(jié)果
clamscan -r /
## 掃描所有用戶的主目錄
clamscan -r /home
## 掃描文件
clamscan targetfile
## 遞歸掃描home目錄,并且記錄日志
clamscan -r -i /home -l /data/logs/clamav/clamscan.log
## 遞歸掃描home目錄,將病毒文件刪除,并且記錄日志
clamscan -r -i /home –remove -l /data/logs/clamav/clamscan.log
## 掃描指定目錄,然后將感染文件移動(dòng)到指定目錄,并記錄日志
mkdir -p /data/virus_collection
clamscan -r -i /home –move=/data/virus_collection -l /data/logs/clamav/clamscan.log
八、計(jì)劃任務(wù)——實(shí)際生產(chǎn)環(huán)境應(yīng)用
編寫shell腳本,使用計(jì)劃任務(wù),讓服務(wù)器每天晚上定時(shí)更新病毒庫(kù)和定時(shí)殺毒,保存殺毒日志。
mkdir -p /data/shell
cd /data/shell
vi clamscan.sh //輸入如下內(nèi)容
#!/bin/bash
## USAGE:
## ClamAV SCAN
##停止服務(wù)
systemctl stop clamav-freshclam.service
##更新病毒庫(kù)
/usr/local/clamav/bin/freshclam
##啟動(dòng)服務(wù)
systemctl start clamav-freshclam.service
##創(chuàng)建目錄
mkdir -p /data/virus_collection
chown -R clamav.clamav /data/virus_collection
##掃描殺毒,將感染文件移動(dòng)到指定目錄,并記錄日志
clamscan -r -i / --move=/data/virus_collection -l /data/logs/clamav/clamscan.log
## 設(shè)置定時(shí)計(jì)劃任務(wù),每天早上4點(diǎn)執(zhí)行計(jì)劃任務(wù)
crontab -e //輸入如下內(nèi)容
###Scan virus
0 4 * * * sh /data/shell/clamscan.sh
注:腳本執(zhí)行時(shí)間自定義。
本文由網(wǎng)上采集發(fā)布,不代表我們立場(chǎng),轉(zhuǎn)載聯(lián)系作者并注明出處:http://m.zltfw.cn/shbk/38549.html