CentOS5.5/ClamAV

Last-modified: 2011-02-07 (月) 10:59:09
最終更新:2011-02-07 (月) 10:59:09
アクセス数(合計):?
利用者; ? アクセス数(本日):? アクセス数(昨日):?

アンチウイルスソフト導入 ClamAV

アンチウイルスソフト ClamAVを導入する。
オープンソース(GPL)で提供されており、Unix系OSでは広く使用されている。


目的

サーバ上でアンチウイルスソフトを稼動することによりセキュリティを強化する

構築条件

構築機器

作成環境

OS    CentOS 5.5 64bit版

サーバ作成条件

サーバIP192.168.0.10/24
ホスト名hogehogeServer
user   hogehoge
userpasswdhogehogepass

手順記入ルール

  • コマンド行頭記号で 「$」はユーザ権限 「#」はスーパーユーザー権限 を表示
  • コマンドが長くなる場合は、行末に「\」を記述し複数行に記述。

ファイル入手

サイト

今回インストールしたファイル

前準備

  1. CentOSインストール 実施
  2. yumリポジトリ設定 実施
  3. 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/