ウィルス対策(Clam Antivirus)

■ FC6 / Fedora7
Clam AntivirusはGPLライセンスに従って利用することができるオープンソースのソフトウェアであり、LinuxやBSD、Mac OS Xなど各種UNIX系のシステムで動作するアンチウイルスソフトです。
■Clam AntiVirusのインストール

[root@linux ~]# yum -y install clamav

■clamav-updateのインストール

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

■Clam AntiVirusの設定

ウィルス定義ファイル最新化の有効化
[root@linux ~]# sed -i 's/Example/#Example/g' /etc/freshclam.conf
[root@linux ~]# sed -i 's/^FRESHCLAM_DELAY\([^ ]*\)/#FRESHCLAM_DELAY\1/g' /etc/sysconfig/freshclam
ウィルス定義ファイルの最新化
[root@linux ~]# freshclam
ClamAV update process started at Mon Jun 11 00:26:46 2007
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.90.2 Recommended version: 0.90.3
DON'T PANIC! Read http://www.clamav.net/support/faq
main.cvd is up to date (version: 43, sigs: 104500, f-level: 14, builder: sven)
WARNING: Removing corrupted incremental directory daily.inc
WARNING: Removing obsolete daily.cvd
Downloading daily.cvd [100%]
daily.cvd updated (version: 3397, sigs: 19932, f-level: 16, builder: arnaud)
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Current functionality level = 15, recommended = 16
DON'T PANIC! Read http://www.clamav.net/support/faq
Database updated (124432 signatures) from database.clamav.net (IP: 61.205.61.201)

※ yumで「clamav」をインストールすると今のところversion: 0.90.2がインストールされます。ところが最新版はversion: 0.90.3ですので「freshclam」を実行すると上記のようなメッセージが出力されます。どうしても最新版を使いたいのであればソースから最新版をダウンロードしてインストールすればいいのですが、とりあえずyumでアップデートされるのを待つことにします。
■Clam AntiVirusの確認

ウィルススキャン確認(/etc/passwdをスキャンしてみる)
[root@linux ~]# clamscan --infected --remove --recursive /etc/passwd
LibClamAV Warning: ***********************************************************
LibClamAV Warning: ***  This version of the ClamAV engine is outdated.     ***
LibClamAV Warning: *** DON'T PANIC! Read http://www.clamav.net/support/faq ***
LibClamAV Warning: ***********************************************************
----------- SCAN SUMMARY -----------
Known viruses: 124432
Engine version: 0.90.2
Scanned directories: 0
Scanned files: 1
Infected files: 0
Data scanned: 0.00 MB
Time: 59.594 sec (0 m 59 s)

■Clam AntiVirusの定期自動実行設定

毎日自動的にウィルス定義ファイル最新化して、全てのファイルのウィルススキャンを行うスプリクトの作成
[root@linux ~]# vi clamav.sh
#!/bin/bash
PATH=/usr/bin:/bin
CLAMSCANTMP=`mktemp`
freshclam > /dev/null
clamscan --recursive --remove / 2>/dev/null > $CLAMSCANTMP
[ ! -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の定期自動実行)
デフォルトでインストールされるウィルス定義ファイル自動最新化スクリプトを削除
[root@linux ~]# rm -f /etc/cron.d/clamav-update

※これで、毎日自動的に定義ファイルの更新とウィルス検知作業を実施できます。 ウィルスを検知した場合のみroot宛にメールが送られてくるようになる。
■Cron Daemonからのエラーメール対策
Cron Daemonから以下のようなエラーメールが届く場合の対処方法

WARNING: update of clamav database is disabled; please see
'/etc/sysconfig/freshclam'
for information how to enable the periodic update resp. how to turn
off this message.

ウィルス定義ファイルの更新が無効になっていると上記のようなエラーメールが届きます。以下のようにコメントアウトすることでチェックを行うようになります。

[root@linux ~]# vi /etc/sysconfig/freshclam
### !!!!! REMOVE ME !!!!!!
### REMOVE ME: By default, the freshclam update is disabled to avoid
### REMOVE ME: network access without prior activation
FRESHCLAM_DELAY=disabled-warn   # REMOVE ME
↓
#FRESHCLAM_DELAY=disabled-warn   # REMOVE ME ← #を追加してコメントアウトする