ウィルス対策(Clam Antivirus)
2010, 04, 02
Clam AntivirusはGPLライセンスに従って利用することができるオープンソースのソフトウェアであり、LinuxやBSD、Mac OS Xなど各種UNIX系のシステムで動作するアンチウイルスソフト。しかしyumではなかなか最新版にアップデートされないのでwgetでソースからインストールすることにする。
■古いバージョンのclamavがある場合はアンインストールしておく
■ユーザとグループの作成
■最新版のClamAVをダウンロード (最新版は公式サイトで確認できる)
■アンインストール用にバックアップしておく
■設定ファイル変更
インストールが正常に完了したらまず、二つの設定ファイル
/usr/local/clamav/etc/freshclam.conf
/usr/local/clamav/etc/clamd.conf
をエディタで開きExampleと書かれた行をコメントアウトし、保存。
■「freshclam」を使用してVirusDBをアップデート
■ウィルススキャン確認(/etc/passwdをスキャンしてみる)
■Clam AntiVirusの定期自動実行設定
■Clam AntiVirus定期自動実行スクリプトに実行権限付加
■cron編集
■スキャン除外設定
■古いバージョンのclamavがある場合はアンインストールしておく
アンインストール用にバックアップしてあったモジュールを展開。 [root@server ~]# tar zxvf clamav-0.95.3_self.tar.gz clamav-0.95.3のディレクトリへ移動 [root@server ~]# cd clamav-0.95.3 clamav-0.95.3のアンインストール [root@server clamav-0.95.3]# make uninstall clamav-0.95.3のファイルとディレクトリーを削除 [root@server clamav-0.95.3]# cd [root@server ~]# rm -f clamav-0.95.3_self.tar.gz [root@server ~]# rm -rf clamav-0.95.3 古いバージョンのディレクトリーの削除 [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://downloads.sourceforge.net/clamav/clamav-0.96.tar.gz --2010-04-02 06:55:13-- http://downloads.sourceforge.net/clamav/clamav-0.96.tar.gz downloads.sourceforge.net をDNSに問いあわせています... 216.34.181.59 downloads.sourceforge.net|216.34.181.59|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 302 Found 場所: http://jaist.dl.sourceforge.net/project/clamav/clamav/0.96/clamav-0.96.tar.gz [続く] --2010-04-02 06:55:14-- http://jaist.dl.sourceforge.net/project/clamav/clamav/0.96/clamav-0.96.tar.gz jaist.dl.sourceforge.net をDNSに問いあわせています... 150.65.7.130 jaist.dl.sourceforge.net|150.65.7.130|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 39792593 (38M) [application/x-gzip] `clamav-0.96.tar.gz' に保存中 100%[==========================================================>] 39,792,593 4.76M/s 時間 9.4s 2010-04-02 06:55:23 (4.05 MB/s) - `clamav-0.96.tar.gz' へ保存完了 [39792593/39792593] clamav-0.96を展開 [root@server ~]# tar zxvf clamav-0.96.tar.gz ダウンロードしたファイルを削除 [root@server ~]# rm -f clamav-0.96.tar.gz clamav-0.96ディレクトリーへ移動 [root@server ~]# cd clamav-0.96 Makefileを自動作成するためのツール「configure」を実行。 [root@server clamav-0.96]# ./configure --prefix=/usr/local/clamav makeを実行し、clamavをインストール [root@server clamav-0.96]# make [root@server clamav-0.96]# make install
■アンインストール用にバックアップしておく
[root@server clamav-0.96]# cd [root@server ~]# tar cvf clamav-0.96_self.tar ./clamav-0.96 [root@server ~]# gzip clamav-0.96_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 Fri Apr 2 07:16:41 2010 main.cvd is up to date (version: 52, sigs: 704727, f-level: 44, builder: sven) Downloading daily-10678.cdiff [100%] Downloading daily-10679.cdiff [100%] Downloading daily-10680.cdiff [100%] Downloading daily-10681.cdiff [100%] Downloading daily-10682.cdiff [100%] Downloading daily-10683.cdiff [100%] Downloading daily-10684.cdiff [100%] Downloading daily-10685.cdiff [100%] Downloading daily-10686.cdiff [100%] Downloading daily-10687.cdiff [100%] Downloading daily-10688.cdiff [100%] Downloading daily-10689.cdiff [100%] Downloading daily-10690.cdiff [100%] Downloading daily-10691.cdiff [100%] daily.cld updated (version: 10691, sigs: 49537, f-level: 44, builder: neo) Downloading bytecode.cvd [100%] bytecode.cvd updated (version: 5, sigs: 2, f-level: 44, builder: nervous) Database updated (754266 signatures) from database.clamav.net (IP: 193.1.193.64)
■ウィルススキャン確認(/etc/passwdをスキャンしてみる)
[root@server ~]# /usr/local/clamav/bin/clamscan --infected --remove --recursive /etc/passwd ----------- SCAN SUMMARY ----------- Known viruses: 753570 Engine version: 0.96 Scanned directories: 0 Scanned files: 1 Infected files: 0 Data scanned: 0.00 MB Data read: 0.00 MB (ratio 0.00:1) Time: 3.654 sec (0 m 3 s) version: 0.96でスキャンされてることを確認
■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