1. 程式人生 > 實用技巧 >Linux 防毒軟體ClamAV安裝部署

Linux 防毒軟體ClamAV安裝部署

環境說明

系統安全需求,批量安裝免費防毒軟體;

作業系統統一為CentOS 7 x64,在此選擇免費開源防毒軟體ClamAV;

若物理環境和系統環境規格完全相同,批量安裝可選擇藉助ansible工具。在此個人選擇secureCRT工具,同時連線操作多臺伺服器,因為物理節點和系統配置差異較大,此工具也便於隨時對特殊節點觀察以及更改配置資訊;

兩種安裝方式

1.yum 安裝;

2.原始碼包編譯安裝;

安裝參考網址:

https://www.clamav.net/documents/upgrading-clamav

https://github.com/vrtadmin/clamav-faq/raw/master/manual/clamdoc.pdf

方案1:yum安裝

安裝後自動生成服務檔案,啟動服務後,可使用clamdscan命令掃描,速度快;

啟動服務後,會實時監控掃描連結,安全性高,但是對伺服器效能有一定影響;

安裝命令

yum install -y clamav clamav-server clamav-data clamav-update clamav-filesystem clamav-scanner-systemd \
clamav-devel clamav-lib clamav-server-systemd pcre* gcc zlib zlib-devel libssl-devel libssl openssl

安裝完成後,病毒庫預設地址是/var/lib/clamav;

#此方式相對簡單,在此不做過多介紹,詳細操作見原始碼包安裝以及後續使用操作;

方案2:原始碼包編譯安裝

1)下載安裝包;

2)建立clamav使用者和存放病毒庫路徑;

3)解壓安裝包;

4)安裝依賴;

5)編譯安裝;

6)配置clamav;

7)啟動clamav;

8)更新病毒庫;

9)掃描防毒;

10)定時防毒;

安裝包下載地址

cd /usr/local/
https://www.clamav.net/downloads  #或者直接下載
wget https://www.clamav.net/downloads/production/clamav-0.101.4.tar.gz

安裝依賴

yum install gcc* openssl openssl-devel -y

clamav 使用者和使用者組

useradd -s /sbin/nologin -M clamav clamav && id clamav

日誌存放目錄

mkdir -p /usr/local/clamav/logs
touch /usr/local/clamav/logs/clamd.log
touch /usr/local/clamav/logs/freshclam.log
chown clamav:clamav /usr/local/clamav/logs/clamd.log
chown clamav:clamav /usr/local/clamav/logs/freshclam.log

病毒存放目錄

mkdir -p /usr/local/clamav/update
chown -R root:clamav /usr/local/clamav/
chown -R clamav:clamav /usr/local/clamav/update

解壓安裝

tar zxf clamav-0.101.4.tar.gz
cd clamav-0.101.4
cd /usr/local/clamav-0.101.4
./configure --prefix=/usr/local/clamav --with-pcre
make && make install

配置clamav

cd /usr/local/clamav/etc
cp clamd.conf.sample clamd.conf
cp freshclam.conf.sample freshclam.conf
vim clamd.conf
#登出Example 一行
#Example
#新增配置項
LogFile /usr/local/clamav/logs/clamd.log
PidFile /usr/local/clamav/update/clamd.pid
DatabaseDirectory /usr/local/clamav/update
cd /usr/local/clamav/etc
vim freshclam.conf
#登出Example 一行
#Example
#新增配置項
DatabaseDirectory /usr/local/clamav/update
UpdateLogFile /usr/local/clamav/logs/freshclam.log
PidFile /usr/local/clamav/update/clamd.pid

啟動clamav

chown -R clamav:clamav /usr/local/clamav
systemctl start clamav-freshclam.service
systemctl enable clamav-freshclam.service
systemctl status clamav-freshclam.service

停止freshclam

systemctl stop clamav-freshclam.service

更新病毒庫,耗時根據網路質量而定  

/usr/local/clamav/bin/freshclam

下載病毒庫到儲存目錄,更新

cd /usr/local/clamav/update/
wget http://database.clamav.net/main.cvd
wget http://database.clamav.net/daily.cvd
wget http://database.clamav.net/bytecode.cvd

更新完成後,病毒庫存放路徑下生成四個病毒庫檔案

cd /usr/local/clamav/update/
bytecode.cvd daily.cvd main.cvd mirrors.dat

為掃描操作可執行檔案建立軟連線

ln -s /usr/local/clamav/bin/clamscan /usr/local/sbin/clamscan

注意:

若手動更新病毒庫報錯,需要進入病毒庫存放路徑,刪除舊的映象地址檔案,重新手動更新;

rm -f /usr/local/clamav/update/mirrors.dat

或者刪除所有病毒庫檔案,重新更新

rm -rf /usr/local/clamav/update/*

掃描防毒-命令引數

1)clamdscan
通常使用yum安裝才能使用此掃描操作,需要啟動clamd服務,掃描速度快;
若不使用-r 引數指定路徑,預設遞迴掃描子目錄;
clamdscan /usr
2)clamscan
通用命令,不依賴其他服務(例如clamd),命令引數多,執行速度慢;
-r/--recursive[=yes/no] 遞迴掃描子目錄,所有檔案;
-i 只顯示發現的病毒檔案;
--no-summary 不顯示統計資訊;
--log=FILE/ -l FILE 增加掃描報告,即輸出掃描日誌到指定檔案;
--move [路徑] 移動病毒檔案到指定路徑;
--remove [路徑] 刪除指定路徑下的病毒檔案;
--quiet 只輸出錯誤資訊;
--infected/-i 只輸出被感染檔案;
--suppress-ok-results/-o 跳過掃描OK的檔案;
--bell 掃描到病毒檔案發出警報聲音;
--unzip(unrar) 解壓壓縮檔案執行掃描;

示例:

#從根目錄下開始,掃描所有檔案並且只顯示有問題的檔案,發現病毒檔案發出警報聲音
clamscan -r --bell -i /
#不顯示統計資訊,只顯示找到的病毒檔案,且將病毒檔案移動到/tmp路徑下;
clamscan --no-summary -ri /tmp
#掃描home路徑以及其路徑下所有子目錄,只輸出被感染檔案,且將病毒檔案、被感染檔案直接刪除;
clamscan --infected --remove --recursive /home
定時防毒
#定製任務計劃,凌晨3:00開始更新病毒庫,3:30開始防毒,掃描/home目錄以及子目錄檔案,將掃描出來的病毒檔案直接刪除,並儲存防毒日誌
crontab -e
0 3 /usr/local/clamav/bin/freshclam --quiet
30 3 /usr/local/clamav/bin/clamscan -r /home/ --remove -l /var/log/clamscan.log

clamscan -ri --log=/var/log/clamav/clamav.log

注意:安裝版本如果是0.102.2需要注意如下事項

要求
On-Access僅在Linux系統上可用。在Linux上,On-Access需要一個kernel version >= 3.8。這是因為它利用稱為fanotify的核心api 來阻止程序嘗試訪問惡意檔案。這種預防措施發生在核心空間中,因此比純使用者空間解決方案提供了更強大的保護。
對於版本> = 0.102.0
它還需要Curl version >= 7.45 確保支援clamonacc使用的所有捲曲選項。打包了較舊版本的libcurl的Linux作業系統上的使用者有許多選擇:
•  等待您的軟體包維護者提供更高版本的libcurl。
•  從源安裝更高版本的libcurl 。
•  禁用clamonacc帶有./configure標誌的安裝和讀寫掃描功能--disable-clamonacc。

至此部署完成