アンチウイルスソフト導入 ClamAV
アンチウイルスソフト ClamAVを導入する。
オープンソース(GPL)で提供されており、Unix系OSでは広く使用されている。
目的
サーバ上でアンチウイルスソフトを稼動することによりセキュリティを強化する
構築条件
構築機器
- 仮想サーバ SUN VirtualBox 4.0 で構築
作成環境
OS | CentOS 5.5 64bit版 |
サーバ作成条件
サーバIP | 192.168.0.10/24 |
ホスト名 | hogehogeServer |
user | hogehoge |
userpasswd | hogehogepass |
手順記入ルール
- コマンド行頭記号で 「$」はユーザ権限 「#」はスーパーユーザー権限 を表示
- コマンドが長くなる場合は、行末に「\」を記述し複数行に記述。
ファイル入手
サイト
今回インストールしたファイル
- ダウンロードサイト
http://packages.sw.be/clamav/
- インストールファイル(64bit)
http://packages.sw.be/clamav/clamav-0.96.5-1.el5.rf.x86_64.rpm
http://packages.sw.be/clamav/clamav-db-0.96.5-1.el5.rf.x86_64.rpm
http://packages.sw.be/clamav/clamd-0.96.5-1.el5.rf.x86_64.rpm
- インストールファイル(32bit)
http://packages.sw.be/clamav/clamav-0.96.5-1.el5.rf.i386.rpm
http://packages.sw.be/clamav/clamav-db-0.96.5-1.el5.rf.i386.rpm
http://packages.sw.be/clamav/clamd-0.96.5-1.el5.rf.i386.rpm
前準備
- CentOSインストール 実施
- yumリポジトリ設定 実施
- yumリポジトリ設定(独自) 実施 ★環境2:インタネットへのアクセス不可の場合
yum登録
★サーバ環境にあわせて以下rpmのyumリポジトリ登録を実施
- clamav-0.96.5-1.el5.rf.x86_64.rpm
- clamav-db-0.96.5-1.el5.rf.x86_64.rpm
- clamd-0.96.5-1.el5.rf.x86_64.rpm
環境1:インターネットにアクセス可能
★以下サイト内の最新版リポジトリデータを確認。rpm入手はyumで実施
http://packages.sw.be/rpmforge-release/
- リポジトリデータ入手
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
- リポジトリ登録
# rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
- 確認
# ls -l /etc/yum.repos.d/
-rw-r--r-- 1 root root 739 11月 13 12:55 mirrors-rpmforge -rw-r--r-- 1 root root 717 11月 13 12:55 mirrors-rpmforge-extras -rw-r--r-- 1 root root 728 11月 13 12:55 mirrors-rpmforge-testing -rw-r--r-- 1 root root 1113 11月 13 12:55 rpmforge.repo
環境2:インタネットへのアクセス不可
★手順 yumリポジトリ設定(独自)#rpm にて独自リポジトリにrpmを登録
[今回実施手順]
- ユーザエリア「/home/hogehoge」にrpmファイルをアップ
- ファイルコピー
# cp clam* /home/yum/rpm/
- リポジトリ登録
# createrepo -v /home/yum/rpm/
環境3:イントラ内にリポジトリサーバ有り
★手順 yumリポジトリサーバ#server にてリポジトリサーバにrpmを登録
[今回実施手順(yumリポジトリサーバ側)]
- ユーザエリア「/home/hogehoge」にrpmファイルをアップ
- ファイルコピー
# cp clam* /var/www/html/yum/rpm/
- リポジトリ登録
# createrepo -v /var/www/html/yum/rpm/
yumリポジトリ登録確認
【Telnet】
- rootでログイン
$ su パスワード:
- yumキャッシュクリア
# yum clean all
- 確認
# yum list | grep clam
clamav.x86_64 0.96.5-1.el5.rf local-rpm clamav-db.x86_64 0.96.5-1.el5.rf local-rpm clamd.x86_64 0.96.5-1.el5.rf local-rpm
インストール
(1)インストール
- インストール
# yum install clamd
clamd x86_64 0.96.5-1.el5.rf local-rpm 240 k clamav x86_64 0.96.5-1.el5.rf local-rpm 2.3 M clamav-db x86_64 0.96.5-1.el5.rf local-rpm 25 M
設定
(1)config設定
- ClamAVをroot権限で動作
# vi /etc/clamd.conf
- 以下修正
# Run as another user (clamd must be started by root for this option to work) # Default: don't drop privileges User clamav
↓#User clamav
- ウィルスパターンファイルを日本に変更(確認)
# vi /etc/freshclam.conf
- 以下修正
# Uncomment the following line and replace XY with your country # code. See http://www.iana.org/cctld/cctld-whois.htm for the full list. #DatabaseMirror db.XY.clamav.net DatabaseMirror db.jp.clamav.net ←あることを確認。無い場合は追加
起動登録
- 起動登録
# /etc/rc.d/init.d/clamd start
Starting Clam AntiVirus Daemon: LibClamAV Warning:
:
[ OK ]
- 再ログイン
# su -
- clamd自動起動設定
# chkconfig clamd on
- clamd自動起動設定確認
# chkconfig --list clamd
clamd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ウイルススキャン実行登録
- パターンファイル更新
# freshclam
ClamAV update process started at Mon Jan 31 10:58:10 2011
:
- ウイルススキャン試験
# clamscan -i -r --remove
----------- SCAN SUMMARY -----------
Known viruses: 878314
Engine version: 0.96.5
Scanned directories: 6
Scanned files: 10
Infected files: 0 ← ウィルス検出0確認
Data scanned: 0.06 MB
Data read: 0.04 MB (ratio 1.60:1)
Time: 2.970 sec (0 m 2 s)
- 自動スキャンスクリプト作成
#vi /etc/cron.daily/clamscan.sh
- 全面追加
#!/bin/bash
PATH=/usr/bin:/bin
# clamd更新 yum -y update clamd > /dev/null 2>&1
# 除外リスト処理 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
# ウィルス定義ファイル更新 freshclam > /dev/null
# ウィルススキャン CLAMSCANTMP=`mktemp` clamscan --recursive --remove ${excludeopt} / > $CLAMSCANTMP 2>&1 [ ! -z "$(grep FOUND$ $CLAMSCANTMP)" ] && \
# 検知時メール通知 grep FOUND$ $CLAMSCANTMP | mail -s "Virus Found in `hostname`" root rm -f $CLAMSCANTMP
- 実行権付与
# chmod +x /etc/cron.daily/clamscan.sh
- 確認
# ls -l /etc/cron.daily/
-rwxr-xr-x 1 root root 796 1月 31 11:04 clamscan.sh
- 動作試験
# /etc/cron.daily/clamscan.sh
終了まで10分ぐらいかかる
- 終了
# exit
exit $
遭遇したトラブル
「chkconfig」がnot foundになる
問題:
「chkconfig」コマンドがnot found となって動作しない
原因:
「su -」でのログイン忘れ
謝辞
テキスト作成にあたり、以下サイトを参考にさせて頂きました。ありがとうございます。
http://clamav-jp.sourceforge.jp/
http://www.miloweb.net/clamav.html
http://kgworks.blog47.fc2.com/blog-entry-40.html
http://centossrv.com/clamav.shtml
http://www.mycurse.net/linux%E3%82%B5%E3%83%BC%E3%83%90%E6%A7%8B%E7%AF%89/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3/clamd%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%83%BB%E8%A8%AD%E5%AE%9A/