23.ウイルス対策(Clam AV)」カテゴリーアーカイブ

ClamAV version: 0.93にアップデート

■ Fedora8 / Fedora9
ClamAVがversion: 0.93にアップデートされたので、ソースから手動でインストール。
■ ソースからインストールした古いバージョンのclamavをアンインストール

アンインストール用にバックアップしてあったモジュールを展開。
[root@server ~]# tar zxvf clamav-0.92.1_self.tar.gz
clamav-0.92.1のディレクトリへ移動
[root@server ~]# cd clamav-0.92.1
clamav-0.92.1のアンインストール
[root@server clamav-0.92.1]# make uninstall
clamav-0.92.1のファイルとディレクトリーを削除
[root@server clamav-0.92.1]# cd
[root@server ~]# rm -f clamav-0.92.1_self.tar.gz
[root@server ~]# rm -rf clamav-0.92.1
古いバージョンのディレクトリーの削除
[root@server ~]# rm -rf /usr/local/clamav

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

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

■ 最新版のClamAVをダウンロード 最新版は公式サイトで確認。

[root@server ~]# wget http://freshmeat.net/redir/clamav/29355/url_tgz/clamav-0.93.tar.gz
clamav-0.93を展開
[root@server ~]# tar zxvf clamav-0.93.tar.gz
ダウンロードしたファイルを削除
[root@server ~]# rm -f clamav-0.93.tar.gz
clamav-0.93ディレクトリーへ移動
[root@server ~]# cd clamav-0.93
Makefileを自動作成するためのツール「configure」を実行。
[root@server clamav-0.93]# ./configure --prefix=/usr/local/clamav
makeを実行し、clamavをインストール
[root@server clamav-0.93]# make
[root@server clamav-0.93]# make install

■ アンインストール用にバックアップしておく

[root@server clamav-0.93]# cd
[root@server ~]# tar cvf clamav-0.93_self.tar ./clamav-0.93
[root@server ~]# gzip clamav-0.93_self.tar

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

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

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

[root@server ~]# /usr/local/clamav/bin/freshclam
ClamAV update process started at Sun Apr 27 08:59:28 2008
main.cvd is up to date (version: 46, sigs: 231834, f-level: 26, builder: sven)
WARNING: getfile: daily-6689.cdiff not found on remote server (IP: 219.117.246.122)
WARNING: getpatch: Can't download daily-6689.cdiff from database.clamav.net
WARNING: getfile: daily-6689.cdiff not found on remote server (IP: 219.117.246.122)
WARNING: getpatch: Can't download daily-6689.cdiff from database.clamav.net
nonblock_connect: connect timing out (30 secs)
Can't connect to port 80 of host database.clamav.net (IP: 211.10.155.48)
Trying host database.clamav.net (211.12.214.131)...
WARNING: getfile: daily-6689.cdiff not found on remote server (IP: 211.12.214.131)
WARNING: getpatch: Can't download daily-6689.cdiff from database.clamav.net
WARNING: Incremental update failed, trying to download daily.cvd
nonblock_connect: connect timing out (30 secs)
Can't connect to port 80 of host database.clamav.net (IP: 211.10.155.48)
Trying host database.clamav.net (211.12.214.131)...
Downloading daily.cvd [100%]
daily.cvd updated (version: 6957, sigs: 39725, f-level: 26, builder: arnaud)
Database updated (271559 signatures) from database.clamav.net (IP: 211.12.214.131)

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

[root@server ~]# /usr/local/clamav/bin/clamscan --infected --remove --recursive /etc/passwd
----------- SCAN SUMMARY -----------
Known viruses: 270800
Engine version: 0.93
Scanned directories: 0
Scanned files: 1
Infected files: 0
Data scanned: 0.00 MB
Time: 4.017 sec (0 m 4 s)

version: 0.93でスキャンされてることを確認
■ 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

ClamAV自動アップデート失敗

■ Fedora8
ClamAVの最新版がリリースされると自動でアップデートしてくれるツールclamav-updateをインストールしてたのですが、最新版がリリースされたにもかかわらずアップデートに失敗してるようです。clamav-updateのインストール時にオプション設定しなければならないようですが、暮れで忙しいのでとりあえずソースから手動で最新版をインストールして後日clamav-updateを見直してみたいと思います。
■ ソースからインストールした古いバージョンのclamavをアンインストールします

アンインストール用にバックアップしてあったモジュールを展開。
[root@server ~]# tar zxvf clamav-0.91.2_self.tar.gz
clamav-0.91.2のディレクトリへ移動
[root@server ~]# cd clamav-0.91.2
clamav-0.91.2のアンインストール
[root@server clamav-0.91.2]# make uninstall
clamav-0.91.2のファイルとディレクトリーを削除
[root@server clamav-0.91.2]# cd
[root@server ~]# rm -f clamav-0.91.2_self.tar.gz
[root@server ~]# rm -rf clamav-0.91.2
古いバージョンのディレクトリーの削除
[root@server ~]# rm -rf /usr/local/clamav

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

[root@server ~]# wget http://freshmeat.net/redir/clamav/29355/url_tgz/clamav-0.92.tar.gz
clamav-0.92を展開
[root@server ~]# tar zxvf clamav-0.92.tar.gz
ダウンロードしたファイルを削除
[root@server ~]# rm -f clamav-0.92.tar.gz
clamav-0.92ディレクトリーへ移動
[root@server ~]# cd clamav-0.92
Makefileを自動作成するためのツール「configure」を実行。
[root@server clamav-0.92]# ./configure --prefix=/usr/local/clamav
makeを実行し、clamavをインストール
[root@server clamav-0.92]# make
[root@server clamav-0.92]# make install

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

[root@server clamav-0.92]# cd
[root@server ~]# tar cvf clamav-0.92_self.tar ./clamav-0.92
[root@server ~]# gzip clamav-0.92_self.tar

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

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

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

[root@server ~]# /usr/local/clamav/bin/freshclam
ClamAV update process started at Sat Dec 22 12:21:11 2007
main.cvd is up to date (version: 45, sigs: 169676, f-level: 21, builder: sven)
WARNING: getfile: daily-5111.cdiff not found on remote server (IP: 121.116.26.171)
ERROR: getpatch: Can't download daily-5111.cdiff from database.clamav.net
WARNING: getfile: daily-5111.cdiff not found on remote server (IP: 121.116.26.171)
ERROR: getpatch: Can't download daily-5111.cdiff from database.clamav.net
WARNING: getfile: daily-5111.cdiff not found on remote server (IP: 219.117.246.122)
ERROR: getpatch: Can't download daily-5111.cdiff from database.clamav.net
WARNING: Incremental update failed, trying to download daily.cvd
Downloading daily.cvd [100%]
daily.cvd updated (version: 5216, sigs: 10553, f-level: 21, builder: ccordes)
Database updated (180229 signatures) from database.clamav.net (IP: 61.205.61.201)

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

[root@server ~]# /usr/local/clamav/bin/clamscan --infected --remove --recursive /etc/passwd
----------- SCAN SUMMARY -----------
Known viruses: 180229
Engine version: 0.92
Scanned directories: 0
Scanned files: 1
Infected files: 0
Data scanned: 0.00 MB
Time: 3.234 sec (0 m 3 s)

version: 0.92でスキャンされてることを確認
■ 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

clamav-updateのインストール

■ Fedora7 / Fedora8
ClamAVの最新版がリリースされると手動でアップデートしてたんですが、それを手助けしてくれるツールclamav-updateがあったのでインストールしました。clamav-updateはソースからインストールしたClamAVを、最新版と現在インストールされているバージョンを比較し、新しいバージョンがリリースされているときに、新しいものを自動でダウンロードして、ビルド、インストールしてくれる便利なツールです。
■ clamav-updateのインストール
clamav-updateの最新版はclamav-updateプロジェクトのページからダウンロードできます。

clamav-updateをダウンロード
[root@server ~]# wget http://osdn.dl.sourceforge.jp/clamav-update/26300/clamav-update-2.2.3.tar.gz
アーカイブファイルを展開
[root@server ~]# tar zxvf clamav-update-2.2.3.tar.gz
展開されたディレクトリへ移動
[root@server ~]# cd clamav-update-2.2.3
clamav-updateをインストール
[root@server clamav-update-2.2.3]# ./install.sh
展開先ディレクトリから出る
[root@server clamav-update-2.2.3]# cd
展開先ディレクトリを削除
[root@server ~]# rm -rf clamav-update-2.2.3
ダウンロードしたアーカイブファイルを削除
[root@server ~]# rm -f clamav-update-2.2.3.tar.gz

■ freshclamとclamav-updateの連携
ClamAVを常に最新に保つにはfreshclamがroot権限で動作する必要があります。そのためにはfreshclamのウィルスデータベース更新設定ファイルfreshclam.confでDatabaseOwnerディレクティブをrootに変更します。そして、OnOutdatedExecuteディレクティブをfreshclamがClamAV本体のアップデートを検知したらclamav-updateが実行されるよう設定します。

[root@server ~]# vi /usr/local/clamav/etc/freshclam.conf
# By default when started freshclam drops privileges and switches to the
# "clamav" user. This directive allows you to change the database owner.
# Default: clamav (may depend on installation options)
#DatabaseOwner clamav
↓追記
DatabaseOwner root
# Run command when freshclam reports outdated version.
# In the command string %v will be replaced by the new version number.
# Default: disabled
#OnOutdatedExecute command
↓追記
OnOutdatedExecute /usr/local/bin/clamav-update.pl --config /usr/local/etc/clamav-update.conf

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

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

ウィルス対策(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 ← #を追加してコメントアウトする

ウィルス対策(BitDefender)

■ FC2~FC5
Fedora coor5の時にインストールしていたBitDefenderについて一応書いておきます。
BitDefenderはルーマニアのSOFTWIN社が販売する、検知率の高さに定評のある商用ウィルス対策ソフトウェアーです。個人ユーザーの非商用利用については無償で利用できます。
■BitDefenderのインストール
Linux版のBitDefenderは、SOFTWIN社のWEBサイトからダウンロードできます。ディストリビューションの種類別にいくつかのファイルが用意されていますが、Fedora coor5 の場合は、gcc3系列でビルドされたrpmパッケージを導入します。

gcc3系のBitDefenderをダウンロード
[root@server ~]# wget http://download.bitdefender.com/unices/old/linux/free/bitdefender-console/en/BitDefender-Console-Antivirus-7.1-3.linux-gcc3x.i386.rpm
--03:11:32--  http://download.bitdefender.com/unices/old/linux/free/bitdefender-console/en/BitDefender-Console-Antivirus-7.1-3.linux-gcc3x.i386.rpm
download.bitdefender.com をDNSに問いあわせています... 61.208.229.136, 61.208.229.134
download.bitdefender.com|61.208.229.136|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 4392295 (4.2M) [text/plain]
Saving to: `BitDefender-Console-Antivirus-7.1-3.linux-gcc3x.i386.rpm'
100%[===========================================================>] 4,392,295    368K/s   in 13s
03:11:46 (337 KB/s) - `BitDefender-Console-Antivirus-7.1-3.linux-gcc3x.i386.rpm' を保存しました [4392295/4392295]
BitDefenderのインストール
[root@server ~]# rpm -ivh BitDefender-Console-Antivirus-7.1-3.linux-gcc3x.i386.rpm
準備中...                   ########################################### [100%]
1:BitDefender-Console-Ant########################################### [100%]
You have new mail in /var/spool/mail/root
ダウンロードしたファイルを削除
[root@server ~]# rm -f BitDefender-Console-Antivirus-7.1-3.linux-gcc3x.i386.rpm

■最新のウィルス定義ファイルを取得

[root@server ~]# bdc --update
BDC/Linux-Console v7.1 (build 2559) (i386) (Jul  6 2005 16:28:53)
Copyright (C) 1996-2004 SOFTWIN SRL. All rights reserved.
/opt/bdc/Plugins/alz.xmd ............ updated
/opt/bdc/Plugins/arc.xmd . updated
/opt/bdc/Plugins/arj.xmd .. updated
/opt/bdc/Plugins/bzip2.xmd ............ updated
・
・
・

■BitDefenderに必要なファイルを提供するパッケージを検索

[root@server ~]# yum provides BitDefender
Loading "installonlyn" plugin
Loading "fastestmirror" plugin
Searching Packages:
Setting up repositories
livna                                                                [1/4]
core                                                                 [2/4]
updates                                                              [3/4]
extras                                                               [4/4]
Loading mirror speeds from cached hostfile
Reading repository metadata in from local files
Importing additional filelist information
BitDefender-Console-Antivirus.i386       7.1-3                  installed
Matched from:
BitDefender-Console-Antivirus
特に必要なパッケージは無さそうです。

■BitDefenderを使ったウィルススキャン

全てのファイルを検査対象(--all)、感染ファイルは削除(--delet)、作業情報の表示(--list)
全ディレクトリーを検査対象(/)を指定して実行。
[root@server ~]# bdc --all --arc --delete --list /
BDC/Linux-Console v7.1 (build 2559) (i386) (Jul  6 2005 16:28:53)
Copyright (C) 1996-2004 SOFTWIN SRL. All rights reserved.
・
・
/opt/bdc/plugins.htm  ok
/.autofsck  ok
Results:
Folders           :10765
Files             :314241
Packed            :6781
Archives          :15176
Infected files    :0 ← 感染ファイル0件
Suspect files     :0
Warnings          :0
Deleted files     :0
I/O errors        :2672
Files/second      :105
Scan time         :00:49:31

■ウィルス定義ファイルの更新&スキャンの自動実行
次のような設定を /etc/cron.daily/bdc ファイルとして保存しておけば、毎日1回自動的に定義ファイルの更新とウィルス検知作業を実施できます。

root権限でテキスト・エディタを起動し、次のように記述します。
[root@server ~]# vi /etc/cron.daily/bdc
/opt/bdc/bdc --update
/opt/bdc/bdc --all --delete /
このbdcファイルにはchmodコマンドを次のように実行して、実行権限を付加しておきます。
[root@fedora ~]# chmod +x /etc/cron.daily/bdc