10月 19

clamAntiVirus インストール

By ststyle clamAV コメントは受け付けていません。

clamAntiVirus インストール

clamAntiVirus(clamAV) はLinuxで利用できる

オープンソースのアンティウィルスソフトです。

基本的な機能としては

ウィルス定義ファイルを定期的にダウンロードできる

sendmailでメールのウイルスチェックができる

などです。

clamAntiVirusの取得

公式サイトからのリンクで
Sorceforgeにのダウンロードページに行くことができるので
適当なミラーサイトから任意のディレクトリにダウンロードします。

今回は clamav-0.95.2.tar.gz を使用して実装していきます。

事前準備

clamavはインストールする前に
「clamav」という名前のユーザとグループを作成しておく必要があります。


#groupadd clamav
#useradd -g clamav -s /bin/false clamav

展開&コンパイル&インストール

それではインストールです。
特に変わったことはしない素直なインストールで問題ありません。


tar zxvf clamav-0.95.2.tar.gz
cd clamav-0.95.2
./configure --prefix=/usr/local/clamav
make
make install

これでインストール完了です。

設定

【ウイルスDBのアップデート】
皆さんが利用しているアンチウイルスでも
定義ファイル、パターンファイルを日々アップデートしていることと思いますが
clamavも例に漏れずというか当然
パターン(clamavではVirusDBと呼ぶ)をアップデートしておく必要があります。

インストールが正常に完了したら
まず、二つの設定ファイル


vi /usr/local/clamav/etc/freshclam.conf
vi /usr/local/clamav/etc/clamd.conf

をエディタで開き
Exampleと書かれた行をコメントアウトし、保存します。


#Example

「freshclam」を使用してVirusDBをアップデートしましょう。


/usr/local/clamav/bin/freshclam

アップデートが完了したら早速スキャンを行いたいところですが
検出されないファイルをスキャンしても「OK」と出るだけなので
eicarからテストファイルをダウンロードしておきましょう。


cd /usr/local/clamav/bin/

wget http://www.eicar.org/download/eicar.com

テストスキャン

それではいざスキャンです。
eicarからダウンロードしてきたファイルを単体でスキャンします。


/usr/local/clamav/bin/clamscan ./eicar.com
./eicar.com: Eicar-Test-Signature FOUND

----------- SCAN SUMMARY -----------
Known viruses: 630647
Engine version: 0.95.2
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 2.354 sec (0 m 2 s)

うまく検出されました。
ファイル単体ではなくディレクトリ単位で指定することも可能です。

/usr/local/clamav/bin/clamscan スキャンしたいディレクトリ

ウィルススキャン

システム全体をスキャンする


# /usr/local/clamav/bin/clamscan -r /

スキャンするディレクトリを指定する場合は以下のコマンドを実行。
例では/home以下のみをスキャンする。


# /usr/local/clamav/bin/clamscan -r /home

設定例 特定のディレクトリやファイルを除外して検索する場合 –exclude (ファイル指定)
–exclude-dir (ディレクトリ指定)上記を踏まえて。。

/etc/ 以下と /var/ 以下を除外する場合。

# clamscan -r / –exclude-dir=”etc|var”
*.core という拡張子と *.snap という拡張子が付くファイルを除外する場合。

■特定のディレクトリをスキャンする


/usr/local/clamav/bin/clamscan -r /usr/local/apache/htdocs

clamscanコマンド
オプション      説明
–infected                         ウィルスに感染したファイルのみ出力する
–disable-summary      サマリーを出力しない
–remove                          ウィルスに感染したファイルを削除する
–move=DIRECTORY          ウィルスに感染したファイルを指定のディレクトリへ移動する
–force                          エラーを無視しして強制的にスキャンを行う
–recursive                  サブディレクトリごと再帰的に検査。圧縮ファイルは再帰的に解凍して検査

ウィルススキャン実行スクリプト

週1ぐらいで動くようCronに登録します

(検知した場合はメール)


#-------------------
### Virus Scan   ###
#-------------------
00 05 * * 0 /root/bin/virus-scan.sh

vi /root/bin/virus-scan.sh

#!/bin/sh
#################################################
# Virus scanning
#
# author 2008.10.31 s.tsukioka
#################################################

### configuration Section ###
DATE=`date +%Y%m%d`
LOG_FILE="/root/bin/virus-scan.log"
LOG_FILE2="/root/bin/virus-scan-result.log"
ADMIN=xxx@xxx.xx.xx
SCANDIR="/usr/local/apache/htdocs_ssl"

echo "/_/_/_/_/_/_/_/_/_/ Virus scanning /_/_/_/_/_/_/_/_/_/" > ${LOG_FILE}
echo "" >> ${LOG_FILE}
### VirusDB-Update Section ###
echo "### `date '+%Y/%m/%d %H:%M:%S'` VirusDB Update Start ###" >> ${LOG_FILE}
/usr/local/clamav/bin/freshclam >> ${LOG_FILE}
echo "### `date '+%Y/%m/%d %H:%M:%S'` VirusDB Update Ended ###" >> ${LOG_FILE}

### Virus Scanning Section ###
echo "-------------------------------------------------------------------------------" >> ${LOG_FILE}
echo "### `date '+%Y/%m/%d %H:%M:%S'` Virus Scan Start ###" >> ${LOG_FILE}
/usr/local/clamav/bin/clamscan -r ${SCANDIR} >> ${LOG_FILE} 2>&1
echo "### `date '+%Y/%m/%d %H:%M:%S'` Virus Scan Ended ###" >> ${LOG_FILE}
grep "FOUND" ${LOG_FILE} > ${LOG_FILE2}

### Report Mail Section ###
if [ -s ${LOG_FILE2} ]
then
mail -s "[ERR]`hostname -s` Virus-Scanning-Report" $ADMIN < ${LOG_FILE2}
else
mail -s "[NOR]`hostname -s` Virus-Scanning-Report" $ADMIN < ${LOG_FILE}
fi

Tagged with:
preload preload preload