ClamAV介紹linux
ClamAV是一個能夠在命令行下查毒軟件,開源(GPLv2)的反病毒工具包。它提供了許多實用程序,包括靈活且可擴展的多線程守護程序,命令行掃描程序和用於自動數據庫更新的高級工具。該軟件包的核心是一個以共享庫形式提供的反病毒引擎。c++
功能數據庫
ClamAV 安裝及使用centos
ClamAV 的安裝過程比較簡單,就經常使用的編譯安裝。 下面的安裝環境是 CentOS7.4 的環境,其它linux環境差很少,只須要知足相關依賴便可。bash
1,下載ClamAV服務器
下載安裝包,下載的是源碼,linux、mac都適用多線程
2,安裝ClamAVcurl
安裝依賴(centos7.4環境)工具
yum -y install gcc-c++ pcre-devel zlib-devel openssl-devel llvm-devel libxml2 libxml2-devel libcurl-develurl
解壓及編譯安裝
tar zxf clamav-0.100.0.tar.gzcd clamav-0.100.0
./configure --prefix=/opt/clamav ### --prefix 參數指定軟件安裝目錄
make && make install ### 安裝
3,配置ClamAV
建立掃描用戶及相關目錄
groupadd clamav ### 建立clamav組
useradd clamav -s /sbin/nologin ### 建立clamav用戶
mkdir /opt/clamav/logs
mkdir /opt/clamav/share/update
touch /opt/clamav/logs/{freshclam.log,clamd.log}
chown -R clamav:clamav /opt/clamav/logs
修改配置文件
cp -a /opt/clamav/etc/clamd.conf.sample /opt/clamav/etc/clamd.conf### 修改: clamd.conf
Example ### 註釋掉這一行
LogFile /opt/clamav/logs/clamd.log ### 指定log文件
PidFile /opt/clamav/updata/clamd.pid ### 指定pid文件
DatabaseDirectory /opt/clamav/updata/
cp /opt/clamav/etc/freshclam.conf.sample /opt/clamav/etc/freshclam.conf### 修改: freshclam.conf
Example ### 註釋掉這一行
4,下載或更新病毒庫
下載會有點慢,多臺機器的話,能夠一臺下載以後再拷貝,下載的文件在 /opt/clamav/share/clamav 目錄
### 執行獲取最新病毒庫命令/opt/clamav/bin/freshclam
也能夠在官網上下載而後放到上面提到的目錄裏面。
5,使用ClamAV
/opt/clamav/bin/clamscan -r --bell -i ${路徑}
例如:
[root@centos7 clamav]# ./bin/clamscan -r --bell -i /home/
----------- SCAN SUMMARY -----------
Known viruses: 6526435 ## 病毒庫
Engine version: 0.100.0 ## 引擎版本
Scanned directories: 2 ## 掃描的目錄
Scanned files: 3 ## 掃描的文件
Infected files: 0 ## 感染的文件數
Data scanned: 0.00 MB ## 掃描文件的大小
Data read: 0.00 MB (ratio 0.00:1)
Time: 20.303 sec (0 m 20 s) ## 掃描花費的時間
clamscan -r –remove ${路徑}
clamscan -r --move=/home/bill/my_virus_collection ${路徑}
掃描出現病毒文件,刪除後,須要重啓服務器,目的是防止文件正在被使用或者在內存中。若狀況特殊暫時不能重啓服務器,可以使用 ps -ef 命令查看文件是否被進程使用,亦能夠在刪除被感染的病毒的文件以前,使用 lsof 命令查看病毒文件 被什麼程序調用,kill相應的進程,適時再重啓。
爲方便安裝,附安裝腳本
#!/bin/bash# USAGE: install clamav### Install
yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel llvm-devel libxml2 libxml2-devel libcurl-devel
tar zxf clamav-0.100.0.tar.gzcd clamav-0.100.0
./configure --prefix=/opt/clamav
make && make install
### Setting
groupadd clamav
useradd clamav -g clamav -s /sbin/nologin
mkdir /opt/clamav/logs
mkdir /opt/clamav/share/clamav
touch /opt/clamav/logs/freshclam.log
touch /opt/clamav/logs/clamd.log
chown -R clamav.clamav /opt/clamav/logs
chown clamav.clamav /opt/clamav/share/clamav
cp /opt/clamav/etc/clamd.conf.sample /opt/clamav/etc/clamd.conf
cp /opt/clamav/etc/freshclam.conf.sample /opt/clamav/etc/freshclam.conf
sed -i 's/^Example/\#Example/g' /opt/clamav/etc/freshclam.conf
sed -i 's/^Example/\#Example/g' /opt/clamav/etc/clamd.conf
sed -i 's/^#LogFile\ \/tmp\/clamd.log/LogFile\ \/opt\/clamav\/logs\/clamd.log/g' /opt/clamav/etc/clamd.conf
sed -i 's/^#PidFile\ \/var\/run\/clamd.pid/PidFile\ \/opt\/clamav\/updata\/clamd.pid/g' /opt/clamav/etc/clamd.conf
sed -i 's/^#DatabaseDirectory\ \/var\/lib\/clamav/DatabaseDirectory\ \/opt\/clamav\/updata/g' /opt/clamav/etc/clamd.conf
cd ..## 病毒庫的壓縮包clamav.virus_data.tar.gz,解壓這個壓縮包後,獲得一個calmav目錄,目錄裏面是官網上下載的病毒庫
tar zxf clamav.virus_data.tar.gz
cp clamav/* /opt/clamav/share/clamav/
### 添加定時掃描任務
mkdir /tmp/virus_collectionecho "#scan virus" >>/etc/crontabecho '30 4 5 * * /opt/clamav/bin/clamscan -r --move=/tmp/virus_collection / >/dev/null 2>&1' >>/etc/crontab