ClamAVの最新版「version: 0.91」のインストール

※ Fedora7
Cron Daemon から以下のようなメールが届いたのでClamAVを 0.91 にバージョンアップします。

WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.90.3 Recommended version: 0.91

■古いバージョンをアンインストール
ソースコードからインストールした場合はアンインストール用にバックアップしてあったモジュールを展開してアンインストールします。

モジュールを展開
[root@linux ~]# tar zxvf clamav-0.90.3_self.tar.gz
clamav-0.90.3のディレクトリへ移動
[root@linux ~]# cd clamav-0.90.3
clamav-0.90.3のアンインストール
[root@linux clamav-0.90.3]# make uninstall

古いバージョンのディレクトリーが残ってた場合はディレクトリーも削除

[root@linux ~]# rm -rf /usr/local/clamav
[root@linux ~]# rm -rf clamav-0.90.3

ClamAVをダウンロードします。 最新版は公式サイトで確認できます。

[root@linux ~]# wget http://freshmeat.net/redir/clamav/29355/url_tgz/clamav-0.91.tar.gz

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

[root@linux ~]# groupadd clamav
[root@linux ~]# useradd -g clamav -s /bin/false clamav

それではインストールです。

clamav-0.91を展開
[root@linux ~]# tar zxvf clamav-0.91.tar.gz
ダウンロードしたファイルを削除
[root@linux ~]# rm -f clamav-0.91.tar.gz
clamav-0.91ディレクトリーへ移動
[root@linux ~]# cd clamav-0.91
Makefileを自動作成するためのツール「configure」を実行。
「configure」を実行することにより、使用されるべきコンパイラ、コンパイラに与えるオプション、リンクすべきライブラリ等、
その他諸々の情報が自動的に収集され、環境に応じたMakefileが作成される。
[root@linux clamav-0.91]# ./configure --prefix=/usr/local/clamav
makeを実行し、clamavをインストール
[root@linux clamav-0.91]# make
[root@linux clamav-0.91]# make install

アンインストール用にバックアップしておきます。

[root@linux ~]# tar cvf clamav-0.91_self.tar ./clamav-0.91
[root@linux ~]# gzip clamav-0.91_self.tar

インストールが正常に完了したらまず、二つの設定ファイル
/usr/local/clamav/etc/freshclam.conf
/usr/local/clamav/etc/clamd.conf
をエディタで開きExampleと書かれた行をコメントアウトし、保存します。

[root@linux clamav-0.91]# vi /usr/local/clamav/etc/freshclam.conf
# Comment or remove the line below.
Example
↓
#Example
[root@linux clamav-0.91]# vi /usr/local/clamav/etc/clamd.conf
# Comment or remove the line below.
Example
↓
#Example

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

[root@linux clamav-0.91]# /usr/local/clamav/bin/freshclam
ClamAV update process started at Thu Jul 12 12:12:31 2007
main.cvd is up to date (version: 43, sigs: 104500, f-level: 14, builder: sven)
Downloading daily-3631.cdiff [100%]
Downloading daily-3632.cdiff [100%]
Downloading daily-3633.cdiff [100%]
Downloading daily-3634.cdiff [100%]
Downloading daily-3635.cdiff [100%]
Downloading daily-3636.cdiff [100%]
Downloading daily-3637.cdiff [100%]
Downloading daily-3638.cdiff [100%]
Downloading daily-3639.cdiff [100%]
Downloading daily-3640.cdiff [100%]
Downloading daily-3641.cdiff [100%]
daily.cvd updated (version: 3641, sigs: 31211, f-level: 16, builder: ccordes)
Database updated (135711 signatures) from database.clamav.net (IP: 61.205.61.201)

ウィルススキャン確認(/etc/passwdをスキャンしてみる)

[root@linux clamav-0.91]# /usr/local/clamav/bin/clamscan --infected --remove --recursive /etc/passwd
----------- SCAN SUMMARY -----------
Known viruses: 135711
Engine version: 0.91
Scanned directories: 0
Scanned files: 1
Infected files: 0
Data scanned: 0.00 MB
Time: 2.468 sec (0 m 2 s)
[root@linux clamav-0.91]#

version: 0.91でスキャンされてることを確認
■Clam AntiVirusの定期自動実行設定

毎日自動的にウィルス定義ファイル最新化して、全てのファイルのウィルススキャンを行うスプリクトの作成
[root@linux ~]# vi clamav.sh
#!/bin/bash
PATH=/usr/bin:/bin
# excludelist
excludelist=/root/clamscan.exclude
if [ -s $excludelist ]; then
for i in `cat $excludelist`
do
if [ $(echo "$i"|grep \/$) ]; then
i=`echo $i|sed -e 's/^\([^ ]*\)\/$/\1/p' -e d`
excludeopt="${excludeopt} --exclude-dir=$i"
else
excludeopt="${excludeopt} --exclude=$i"
fi
done
fi
CLAMSCANTMP=`mktemp`
/usr/local/clamav/bin/freshclam > /dev/null
/usr/local/clamav/bin/clamscan --recursive --remove ${excludeopt} / > $CLAMSCANTMP 2>&1
[ ! -z "$(grep FOUND$ $CLAMSCANTMP)" ] && \
grep FOUND$ $CLAMSCANTMP | mail -s "Virus Found in `hostname`" root
rm -f $CLAMSCANTMP
Clam AntiVirus定期自動実行スクリプトに実行権限付加
[root@linux ~]# chmod 700 clamav.sh
cron編集
[root@linux ~]# crontab -e
00 03 * * * /root/clamav.sh ← 追加(毎日3:00にClam AntiVirusの定期自動実行)

■スキャン除外設定
backupディレクトリをスキャン対象外にするように設定

[root@linux ~]# echo "/backup/" >> clamscan.exclude

追記
全てのファイルのウィルススキャンをAM3:00に実行するようにしてますが、AM3:50分に以下のようなメールが届きました。clamav-0.91のtestディレクトリーに入ってる6個のウィルスをしっかり検出して削除してます。

//root/clamav-0.91/test/clam-v2.rar: ClamAV-Test-File FOUND
//root/clamav-0.91/test/clam-v3.rar: ClamAV-Test-File FOUND
//root/clamav-0.91/test/clam.cab: ClamAV-Test-File FOUND
//root/clamav-0.91/test/clam.zip: ClamAV-Test-File FOUND
//root/clamav-0.91/test/clam.exe.bz2: ClamAV-Test-File FOUND
//root/clamav-0.91/test/clam.exe: ClamAV-Test-File FOUND