1. 程式人生 > >Linux上防毒軟體的使用

Linux上防毒軟體的使用

ClamAV介紹

ClamAV是一個可以在命令列下查毒軟體,開源(GPLv2)的反病毒工具包。它提供了許多實用程式,包括靈活且可擴充套件的多執行緒守護程式,命令列掃描程式和用於自動資料庫更新的高階工具。該軟體包的核心是一個以共享庫形式提供的反病毒引擎。

功能

  1. ClamAV旨在快速掃描檔案。
  2. 實時保護(僅限Linux)。我們的掃描守護程式支援現代版Linux上的按訪問掃描,包括在掃描檔案之前阻止檔案訪問的功能。
  3. ClamAV可檢測超過100萬種病毒,蠕蟲和特洛伊木馬,包括Microsoft Office巨集病毒,移動惡意軟體和其他威脅。
  4. 內建的位元組碼直譯器允許ClamAV簽名編寫者建立和分發非常複雜的檢測例程,並遠端增強掃描器的功能。
  5. 簽名簽名資料庫確保ClamAV僅執行可信簽名定義。
  6. ClamAV掃描檔案和壓縮檔案,但也可以防止檔案炸彈。

ClamAV 安裝及使用

ClamAV 的安裝過程比較簡單,就常用的編譯安裝。 下面的安裝環境是 CentOS7.4 的環境,其它linux環境差不多,只需要滿足相關依賴即可。

1,下載ClamAV

下載安裝包,下載的是原始碼,linux、mac都適用

2,安裝ClamAV

安裝依賴(centos7.4環境)

yum -y install gcc-c++ pcre-devel zlib-devel 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 ### --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

  1. 掃描病毒(可新增定時任務進行掃描)

/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) ## 掃描花費的時間

  1. 掃描病毒並清除(可新增定時任務進行掃描)

clamscan -r –remove ${路徑}

  1. 掃描並移動病毒和感染檔案到指定目錄(掃描並隔離)(可新增定時任務進行掃描)

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'