Clam AntivirusはGPLライセンスに従って利用することができるオープンソースのソフトウェアであり、LinuxやBSD、Mac OS Xなど各種UNIX系のシステムで動作するアンチウイルスソフト。しかしyumではなかなか最新版にアップデートされないのでwgetでソースからインストールすることにする。
■古いバージョンのclamavがある場合はアンインストールしておく
アンインストール用にバックアップしてあったモジュールを展開。 [root@server1 ~]# tar zxvf clamav-0.97.1_self.tar.gz clamav-0.97.1のディレクトリへ移動 [root@server1 ~]# cd clamav-0.97.1 clamav-0.97.1のアンインストール [root@server1 clamav-0.97.1]# make uninstall clamav-0.97.1のファイルとディレクトリーを削除 [root@server1 clamav-0.97.1]# cd [root@server1 ~]# rm -f clamav-0.97.1_self.tar.gz [root@server1 ~]# rm -rf clamav-0.97.1 古いバージョンのディレクトリーの削除 [root@server1 ~]# rm -rf /usr/local/clamav
■ユーザとグループの作成
clamavはインストールする前に 「clamav」という名前のユーザとグループを作成しておく必要がある。 [root@server1 ~]# groupadd clamav [root@server1 ~]# useradd -g clamav -s /bin/false clamav
■最新版のClamAVをダウンロード (最新版は公式サイトで確認できる)
[root@server11 ~]# wget http://downloads.sourceforge.net/clamav/clamav-0.97.2.tar.gz --2011-09-19 18:44:56-- http://downloads.sourceforge.net/clamav/clamav-0.97.2.tar.gz downloads.sourceforge.net をDNSに問いあわせています... 216.34.181.59 downloads.sourceforge.net|216.34.181.59|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 301 Moved Permanently 場所: http://downloads.sourceforge.net/project/clamav/clamav/0.97.2/clamav-0.97.2.tar.gz [続く] --2011-09-19 18:44:56-- http://downloads.sourceforge.net/project/clamav/clamav/0.97.2/clamav-0.97.2.tar.gz downloads.sourceforge.net:80 への接続を再利用します。 HTTP による接続要求を送信しました、応答を待っています... 302 Found 場所: http://jaist.dl.sourceforge.net/project/clamav/clamav/0.97.2/clamav-0.97.2.tar.gz [続く] --2011-09-19 18:44:57-- http://jaist.dl.sourceforge.net/project/clamav/clamav/0.97.2/clamav-0.97.2.tar.gz jaist.dl.sourceforge.net をDNSに問いあわせています... 2001:200:141:feed::feed, 150.65.7.130 jaist.dl.sourceforge.net|2001:200:141:feed::feed|:80 に接続しています... 失敗しました: 接続を拒否されました. jaist.dl.sourceforge.net|150.65.7.130|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 44703953 (43M) [application/x-gzip] `clamav-0.97.2.tar.gz' に保存中 100%[=========================================================================>] 44,703,953 15.3M/s 時間 2.8s 2011-09-19 18:45:00 (15.3 MB/s) - `clamav-0.97.2.tar.gz' へ保存完了 [44703953/44703953] clamav-0.97.2を展開 [root@server1 ~]# tar zxvf clamav-0.97.2.tar.gz ダウンロードしたファイルを削除 [root@server1 ~]# rm -f clamav-0.97.2.tar.gz clamav-0.97.2ディレクトリーへ移動 [root@server1 ~]# cd clamav-0.97.2 Makefileを自動作成するためのツール「configure」を実行。 [root@server1 clamav-0.97.2]# ./configure --prefix=/usr/local/clamav 途中、zlib-devel パッケージがインストールされてないようでエラーになった。 zlib-devel パッケージをインストール。 [root@server1 ~]# yum install zlib-devel 再度「configure」を実行。 [root@server1 clamav-0.97.2]# ./configure --prefix=/usr/local/clamav makeを実行し、clamavをインストール [root@server1 clamav-0.97.2]# make [root@server1 clamav-0.97.2]# make install
■アンインストール用にバックアップしておく
[root@server1 clamav-0.97.2]# cd [root@server1 ~]# tar cvf clamav-0.97.2_self.tar ./clamav-0.97.2 [root@server1 ~]# gzip clamav-0.97.2_self.tar
■設定ファイル変更
インストールが正常に完了したらまず、二つの設定ファイル
/usr/local/clamav/etc/freshclam.conf
/usr/local/clamav/etc/clamd.conf
をエディタで開きExampleと書かれた行をコメントアウトし、保存。
[root@server1 ~]# vi /usr/local/clamav/etc/freshclam.conf # Comment or remove the line below. Example ↓ #Example [root@server1 ~]# vi /usr/local/clamav/etc/clamd.conf # Comment or remove the line below. Example ↓ #Example
■「freshclam」を使用してVirusDBをアップデート
[root@server1 ~]# /usr/local/clamav/bin/freshclam ClamAV update process started at Mon Sep 19 19:24:31 2011 main.cvd is up to date (version: 53, sigs: 846214, f-level: 53, builder: sven) WARNING: getfile: daily-13357.cdiff not found on remote server (IP: 219.106.242.51) WARNING: getpatch: Can't download daily-13357.cdiff from database.clamav.net WARNING: getfile: daily-13357.cdiff not found on remote server (IP: 203.212.42.128) WARNING: getpatch: Can't download daily-13357.cdiff from database.clamav.net WARNING: getfile: daily-13357.cdiff not found on remote server (IP: 27.96.54.66) WARNING: getpatch: Can't download daily-13357.cdiff from database.clamav.net WARNING: Incremental update failed, trying to download daily.cvd Downloading daily.cvd [100%] daily.cvd updated (version: 13636, sigs: 193983, f-level: 60, builder: arnaud) Downloading bytecode.cvd [100%] bytecode.cvd updated (version: 144, sigs: 41, f-level: 60, builder: edwin) Database updated (1040238 signatures) from database.clamav.net (IP: 120.29.176.126)
■ウィルススキャン確認(/etc/passwdをスキャンしてみる)
[root@server1 ~]# /usr/local/clamav/bin/clamscan --infected --remove --recursive /etc/passwd ----------- SCAN SUMMARY ----------- Known viruses: 1038820 Engine version: 0.97.2 Scanned directories: 0 Scanned files: 1 Infected files: 0 Data scanned: 0.00 MB Data read: 0.00 MB (ratio 0.00:1) Time: 8.935 sec (0 m 8 s) version: 0.97.2でスキャンされてることを確認
■Clam AntiVirusの定期自動実行設定
毎日自動的にウィルス定義ファイル最新化して、全てのファイルのウィルススキャンを行うスプリクトの作成 [root@server1 ~]# vi clamscan #!/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@server1 ~]# chmod 700 clamscan
■cron編集
[root@server1 ~]# crontab -e 00 03 * * * /root/clamscan ← 追加(毎日3:00にClam AntiVirusの定期自動実行)
■スキャン除外設定
/backupディレクトリと/sysディレクトリをスキャン対象外にするように設定 [root@server1 ~]# echo "/backup/" >> clamscan.exclude [root@server1 ~]# echo "/sys/" >> clamscan.exclude