ClamAVの最新版をソースからインストール

※ Fedora7
yumで最新版の「version: 0.90.3」になかなかアップデートされないのでwgetでソースからインストールすることにしました。
■ 最初にyumでインストールした「version: 0.90.2」のclamavとclamav-updateをアンインストールしておきます。

[root@linux ~]# yum -y remove clamav clamav-update

■ ソースからインストールする場合は、clamavというグループおよびユーザーを作成します。

[root@linux ~]# groupadd clamav
[root@linux ~]# useradd -g clamav -s /bin/false clamav ←clamavユーザー(clamavグループ、ログイン不可) 

■ ClamAVのインストール
ClamAVを公式サイトからダウンロードします。

[root@linux ~]# wget http://freshmeat.net/redir/clamav/29355/url_tgz/clamav-0.90.3.tar.gz
展開して、インストールします
[root@linux ~]# tar zxvf clamav-0.90.3.tar.gz
clamavディレクトリーへ移動します
[root@linux ~]# cd clamav-0.90.3
[root@linux clamav-0.90.3]# ./configure --prefix=/usr/local/clamav
[root@linux clamav-0.90.3]# make
[root@linux clamav-0.90.3]# make install

■ アンインストール用のバックアップとアンインストール方法

アンインストール用のバックアップ
[root@linux clamav-0.90.3]# cd
[root@linux~]# tar cvf clamav-0.90.3_self.tar ./clamav-0.90.3
[root@linux ~]# gzip clamav-0.90.3_self.tar
アンインストール方法
アンインストール用にバックアップしてあったモジュールを展開。
[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

■Clam AntiVirusの設定

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

■ウィルス定義ファイルの最新化

[root@linux ~]# /usr/local/clamav/bin/freshclam
ClamAV update process started at Thu Jun 28 18:41:35 2007
main.cvd is up to date (version: 43, sigs: 104500, f-level: 14, builder: sven)
Downloading daily-3567.cdiff [100%]
Downloading daily-3568.cdiff [100%]
Downloading daily-3569.cdiff [100%]
Downloading daily-3570.cdiff [100%]
daily.inc updated (version: 3570, sigs: 27119, f-level: 16, builder: ccordes)
Database updated (131619 signatures) from database.clamav.net (IP: 203.212.42.128)

最新版がアップされた時は、freshclam を実行すると自サーバーのバージョンと会わないので以下のような警告が出ます。(この場合は自サーバーのバージョンが 0.90.2 に対して最新バージョンが 0.90.3)この警告が出たら最新版にバージョンアップする必要があります。

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

■Clam AntiVirusの確認

ウィルススキャン確認(/etc/passwdをスキャンしてみる)
[root@linux ~]# /usr/local/clamav/bin/clamscan --infected --remove --recursive /etc/passwd
----------- SCAN SUMMARY -----------
Known viruses: 130699
Engine version: 0.90.3
Scanned directories: 0
Scanned files: 1
Infected files: 0
Data scanned: 0.00 MB
Time: 64.979 sec (1 m 4 s)

■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