今までは、ClamAVの最新版が出るとその都度wgetでソースからインストールしてたが、yumでインストールすることにした。
■古いバージョンのclamavがある場合はアンインストールしておく
アンインストール用にバックアップしてあったモジュールを展開。 [root@server1 ~]# tar zxvf clamav-0.97.2_self.tar.gz clamav-0.97.2のディレクトリへ移動 [root@server1 ~]# cd clamav-0.97.2 clamav-0.97.2のアンインストール [root@server1 clamav-0.97.2]# make uninstall clamav-0.97.2のファイルとディレクトリーを削除 [root@server1 clamav-0.97.2]# cd [root@server1 ~]# rm -f clamav-0.97.2_self.tar.gz [root@server1 ~]# rm -rf clamav-0.97.2 古いバージョンのディレクトリーの削除 [root@server1 ~]# rm -rf /usr/local/clamav
■Clam AntiVirusのインストール
yumでインストールする場合、レポジトリにEPELを追加しておく必要がある
[root@server1 ~]# yum -y install clamd Loaded plugins: fastestmirror, refresh-packagekit Loading mirror speeds from cached hostfile * base: rsync.atworks.co.jp * centosplus: centos.tt.co.kr * epel: ftp.yz.yamagata-u.ac.jp * extras: rsync.atworks.co.jp * updates: centos.tt.co.kr Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package clamd.i686 0:0.97.3-3.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ==================================================================================================== Package Arch Version Repository Size ==================================================================================================== Installing: clamd i686 0.97.3-3.el6 epel 128 k Transaction Summary ==================================================================================================== Install 1 Package(s) Total download size: 128 k Installed size: 380 k Downloading Packages: clamd-0.97.3-3.el6.i686.rpm | 128 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : clamd-0.97.3-3.el6.i686 1/1 Installed: clamd.i686 0:0.97.3-3.el6 Complete!
■設定ファイル変更
ルートで動作するように変更
[root@server1 ~]# vi /etc/clamd.conf User clam ↓ #User clam
■Clam AntiVirusの起動
[root@server1 ~]# /etc/rc.d/init.d/clamd start Starting Clam AntiVirus Daemon: [ OK ] clamdの自動起動設定 [root@server1 ~]# chkconfig clamd on [root@server1 ~]# chkconfig --list clamd clamd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
■「freshclam」を使用してVirusDBをアップデート
ウィルス定義ファイルの更新機能を有効化 [root@server1 ~]# sed -i 's/Example/#Example/g' /etc/freshclam.conf VirusDBをアップデート [root@server1 ~]# freshclam ClamAV update process started at Wed Feb 15 20:23:11 2012 main.cvd is up to date (version: 54, sigs: 1044387, f-level: 60, builder: sven) Downloading daily-14460.cdiff [100%] daily.cld updated (version: 14460, sigs: 97288, f-level: 63, builder: ccordes) bytecode.cld is up to date (version: 167, sigs: 40, f-level: 63, builder: edwin) Database updated (1141715 signatures) from db.jp.clamav.net (IP: 203.178.137.175)
■ウィルススキャン確認(/etc/passwdをスキャンしてみる)
[root@server1 ~]# clamscan --infected --remove --recursive /etc/passwd ----------- SCAN SUMMARY ----------- Known viruses: 1140422 Engine version: 0.97.3 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.730 sec (0 m 8 s) version: 0.97.3でスキャンされてることを確認
■Clam AntiVirusの定期自動実行設定
毎日自動的にウィルス定義ファイル最新化して、全てのファイルのウィルススキャンを行うスプリクトの作成 [root@server1 ~]# vi clamscan #!/bin/bash PATH=/usr/bin:/bin # clamd update yum -y update clamd > /dev/null 2>&1 # 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 # scan CLAMSCANTMP=`mktemp` clamscan --recursive --remove ${excludeopt} / > $CLAMSCANTMP 2>&1 [ ! -z "$(grep FOUND$ $CLAMSCANTMP)" ] && \ # report grep FOUND$ $CLAMSCANTMP | mail -s "Virus Found in `hostname`" root rm -f $CLAMSCANTMP
■Clam AntiVirus定期自動実行スクリプトに実行権限付加
[root@server1 ~]# chmod +x clamscan
■ウィルススキャン実行スクリプトを毎日自動実行されるディレクトリへ移動
[root@server1 ~]# mv clamscan /etc/cron.daily/
■スキャン除外設定
/backupディレクトリと/sysディレクトリをスキャン対象外にするように設定 [root@server1 ~]# echo "/backup/" >> clamscan.exclude [root@server1 ~]# echo "/sys/" >> clamscan.exclude