サーバーにClam AntiVirusをインストールしてみました
以前もClam AntiVirusをインストールしていましたが
VineLinuxのapt-getでインストールしたClam AntiVirusはバージョンが古く
サーバーのLOGにアホみたいに警告が残るので今回以下の組み合わせで
インストールしました。
Clam AntiVirus + clamav-update
clamav-updateとはclamav-update自身とClam AntiVirusを
自動的にアップグレードしてくれるソフトです。
# apt-get upgrade
# apt-get install clamav
で自動的にインストールし
[root@localhost root]# wget http://osdn.dl.sourceforge.jp/clamav-update/26300/clamav-update-2.2.3.tar.gz --00:02:54-- http://osdn.dl.sourceforge.jp/clamav-update/26300/clamav-update-2.2.3.tar.gz => `clamav-update-2.2.3.tar.gz' osdn.dl.sourceforge.jp をDNSに問いあわせています... 202.221.179.23 osdn.dl.sourceforge.jp|202.221.179.23|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 26,941 (26K) [application/x-gzip] 100%[====================================>] 26,941 --.--K/s 00:02:55 (279.43 KB/s) - `clamav-update-2.2.3.tar.gz' を保存しました [26941/26941]
このようにwgetコマンドで
clamav-update-2.2.3.tar.gzをダウンロードしてきます。
[root@localhost root]# tar zxvf clamav-update-2.2.3.tar.gz clamav-update-2.2.3/ clamav-update-2.2.3/changelog.ja.utf-8.txt clamav-update-2.2.3/clamav-update-update.conf clamav-update-2.2.3/clamav-update.conf clamav-update-2.2.3/clamav-update.pl clamav-update-2.2.3/COPYING clamav-update-2.2.3/INSTALL clamav-update-2.2.3/install.command clamav-update-2.2.3/INSTALL.ja.utf-8 clamav-update-2.2.3/install.sh clamav-update-2.2.3/README.en.txt clamav-update-2.2.3/README.ja.utf-8.txt clamav-update-2.2.3/template/ clamav-update-2.2.3/template/clamav-update.conf
解凍後clamav-update-2.2.3へ移動しinstall.shを実行します。
[root@localhost root]# cd clamav-update-2.2.3 [root@localhost clamav-update-2.2.3]# ./install.sh
ROOTディレクトリに戻り解凍したディレクトリと
ダウンロードしてきた圧縮ファイルを削除します。
[root@localhost clamav-update-2.2.3]# cd [root@localhost root]# rm -rf clamav-update-2.2.3 [root@localhost root]# rm -f clamav-update-2.2.3.tar.gz
設定ファイルの編集
[root@localhost root]# vi /usr/local/etc/clamav-update.conf #$Setting{option}->{src} = 'http://jaist.dl.sourceforge.net/sourceforge/clamav'; #を消去して有効化 $Setting{option}->{src} = 'http://jaist.dl.sourceforge.net/sourceforge/clamav';
[root@localhost root]# vi /etc/freshclam.conf Exampleを無効化するために#を追記 #Example # 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 実行ユーザーをROOTにするため下記に変更 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 Clam AntiVirusアップデート時にclamav-updateを実行 DatabaseMirror database.clamav.net ウィルスデータベース入手元を日本に変更 DatabaseMirror db.jp.clamav.net
# vi /etc/clamd.conf Exampleを無効化するため#を追記 #Example LogFile /var/log/clamd.log ログの保存場所の変更
Clam AntiVirusの起動
[root@localhost root]# /etc/rc.d/init.d/clamd start Starting ClamAV Daemon: [ OK ]
ウィルス定義ファイル更新
[root@localhost root]# freshclam ClamAV update process started at Tue Aug 11 00:16:14 2009 main.cvd is up to date (version: 51, sigs: 545035, f-level: 42, builder: sven) WARNING: getfile: daily-9451.cdiff not found on remote server (IP: 120.29.176.126) WARNING: getpatch: Can't download daily-9451.cdiff from database.clamav.net Trying host database.clamav.net (218.44.253.75)... WARNING: getfile: daily-9451.cdiff not found on remote server (IP: 218.44.253.75) WARNING: getpatch: Can't download daily-9451.cdiff from database.clamav.net Trying host database.clamav.net (219.94.128.99)... WARNING: getfile: daily-9451.cdiff not found on remote server (IP: 219.94.128.99) WARNING: getpatch: Can't download daily-9451.cdiff from database.clamav.net WARNING: Incremental update failed, trying to download daily.cvd Trying host database.clamav.net (203.178.137.175)... Downloading daily.cvd [100%] daily.cvd updated (version: 9672, sigs: 63892, f-level: 43, builder: acab) Database updated (608927 signatures) from database.clamav.net (IP: 203.178.137.175)
自動起動設定
[root@localhost root]# chkconfig clamd on [root@localhost root]# chkconfig --list clamd clamd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
自動スキャンの設定は多くのサイトで紹介されているんで省略させていただきます。
インストールを含め現在エラーは見当たらないので紹介させていただきました。
RedHat系でclamav-updateのインストールについての記事は
見受けられませんでしたけど無事動いてるのかな^^;?
まぁ、サーバー側からまだ何も怒られていないので良しとしましょう(笑
参考元
VineLinuxで自宅サーバー様
ARISONサーバー様
(追記)
LOGを見たら
ウイルス移動先ディレクトリやバックアップディレクトリを何度もチェックされるという
なんとも困った事が発生してので解決方法を
[root@localhost root]# echo “/var/clamav/virus/” >> clamscan.exclude
[root@localhost root]# echo “/media/BACKUP/” >> clamscan.exclude
これでスキャン対象外にする事ができます。
色々なサイトを見回って
あまり気に入るスクリプトが無かったので
多くのサイトで紹介されているスクリプトを改造して使おうかと考えました。
新たに付け加えた機能としては
# vi /var/log/clamav.log
にLOGを取りながら見つけたウイルスは
# /var/clamav/virus
へ隔離します。
yumコマンドはRedHad系では使えないので
今回clamav-updateもインストールした分けですし
freshclamを実行するように書き換えました。
#!/bin/bash PATH=/usr/bin:/bin # lof file LOG='/var/log/clamav.log' # clamd update freshclam > $LOG # excludeopt setup 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 # virus scan CLAMSCANTMP=`mktemp` clamscan -i --move=/var/clamav/virus -r ${excludeopt} / >> $LOG 2>&1 [ ! -z "$(grep FOUND$ $LOG)" ] && # report mail send grep FOUND$ $LOG | mail -s "Virus Found in `hostname`" orbit
grep FOUND$ $CLAMSCANTMP | mail -s “Virus Found in `hostname`” orbit
この設定ではorbitに送信されることになってますのでorbitを好きなユーザーに変更してください。
実行例)
メールで捕まったウイルスリストを送信します。
今回比較的新しいあの猛威を振るったHDDをフォーマットするウイルスも
対応しているか試してみましたところ無事隔離された事が分かります。
サーバーに保存されているLOGです。
アップデートされたかも詳しく書かれています。
これでコレクションの標本も増えると一石二鳥です^^
0 Comments.