Clam AntiVirusのインストール

概要:Clam Antivirus(クラム・アンチウイルス。略称Clam AV)とは、LinuxやBSD、Mac OS Xなど各種UNIX系のシステムで動作するオープンソース(GPL)で提供されているアンチウイルスソフトです。このClam AntiVirusを導入します。
前提:

1. Clam AntiVirusインストール

# yum -y --enablerepo=epel install clamd ← Clam AntiVirusのインストール
Loaded plugins: downloadonly, fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
84 packages excluded due to repository priority protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package clamd.x86_64 0:0.97.5-1.el6 will be installed
--> Processing Dependency: clamav = 0.97.5-1.el6 for package: clamd-0.97.5-1.el6.x86_64
--> Processing Dependency: libclamav.so.6(CLAMAV_PUBLIC)(64bit) for package: clamd-0.97.5-1.el6.x86_64
--> Processing Dependency: libclamav.so.6(CLAMAV_PRIVATE)(64bit) for package: clamd-0.97.5-1.el6.x86_64
--> Processing Dependency: libclamav.so.6()(64bit) for package: clamd-0.97.5-1.el6.x86_64
--> Running transaction check
---> Package clamav.x86_64 0:0.97.5-1.el6 will be installed
--> Processing Dependency: clamav-db = 0.97.5-1.el6 for package: clamav-0.97.5-1.el6.x86_64
--> Running transaction check
---> Package clamav-db.x86_64 0:0.97.5-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================
 Package               Arch               Version                  Repository        Size
==========================================================================================
Installing:
 clamd                 x86_64             0.97.5-1.el6             epel             131 k
Installing for dependencies:
 clamav                x86_64             0.97.5-1.el6             epel              10 M
 clamav-db             x86_64             0.97.5-1.el6             epel              34 M

Transaction Summary
==========================================================================================
Install       3 Package(s)

Total download size: 45 M
Installed size: 50 M
Is this ok [y/N]: y     ← yを入力
Downloading Packages:
(1/3): clamav-0.97.5-1.el6.x86_64.rpm                              |  10 MB     00:05
(2/3): clamav-db-0.97.5-1.el6.x86_64.rpm                           |  34 MB     00:20
(3/3): clamd-0.97.5-1.el6.x86_64.rpm                               | 131 kB     00:00
------------------------------------------------------------------------------------------
Total                                                     1.7 MB/s |  45 MB     00:26
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : clamav-db-0.97.5-1.el6.x86_64                                          1/3
  Installing : clamav-0.97.5-1.el6.x86_64                                             2/3
  Installing : clamd-0.97.5-1.el6.x86_64                                              3/3
  Verifying  : clamd-0.97.5-1.el6.x86_64                                              1/3
  Verifying  : clamav-0.97.5-1.el6.x86_64                                             2/3
  Verifying  : clamav-db-0.97.5-1.el6.x86_64                                          3/3
Installed:
  clamd.x86_64 0:0.97.5-1.el6
Dependency Installed:
  clamav.x86_64 0:0.97.5-1.el6               clamav-db.x86_64 0:0.97.5-1.el6
Complete!

2. Clam AntiVirus設定

# vi /etc/clamd.conf ← clamd設定ファイル編集
  User clamav
    
  #User clamav ← root権限で動作するようにする
# 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 ← ウィルスデータベース入手元を日本に変更

3. Clam AntiVirus起動と自動起動設定

# /etc/rc.d/init.d/clamd start ← clamd起動
Starting Clam AntiVirus Daemon:
LibClamAV Warning: **************************************************
LibClamAV Warning: ***  The virus database is older than 7 days!  ***
LibClamAV Warning: ***   Please update it as soon as possible.    ***
LibClamAV Warning: **************************************************
                                                           [  OK  ]

# chkconfig clamd on ← clamd自動起動設定

# chkconfig --list clamd ← clamd自動起動設定確認
clamd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
 ← ランレベル2~5のonを確認

4. ウィルス定義ファイル最新化

# freshclam ← ウィルス定義ファイル最新化
ClamAV update process started at Sat Sep 22 15:52:24 2012
main.cvd is up to date (version: 54, sigs: 1044387, f-level: 60, builder: sven)
WARNING: getfile: daily-15104.cdiff not found on remote server (IP: 203.178.137.175)
WARNING: getpatch: Can't download daily-15104.cdiff from db.jp.clamav.net
WARNING: getfile: daily-15104.cdiff not found on remote server (IP: 218.44.253.75)
WARNING: getpatch: Can't download daily-15104.cdiff from db.jp.clamav.net
WARNING: getfile: daily-15104.cdiff not found on remote server (IP: 203.212.42.128)
WARNING: getpatch: Can't download daily-15104.cdiff from db.jp.clamav.net
WARNING: Incremental update failed, trying to download daily.cvd
Downloading daily.cvd [100%]
daily.cvd updated (version: 15389, sigs: 263681, f-level: 63, builder: guitar)
Downloading bytecode.cvd [100%]
bytecode.cvd updated (version: 190, sigs: 36, f-level: 63, builder: neo)
Database updated (1308104 signatures) from db.jp.clamav.net (IP: 211.10.155.48)

注:以後のウィルス定義ファイルのアップデートは、/etc/cron.daily/freshclamにより毎日自動で行われる。

5. ウィルススキャンテスト

  1. ) ウィルススキャンテスト(ウィルスなしの場合)
    # clamscan --infected --remove --recursive
    Known viruses: 1302753
    Engine version: 0.97.5
    Scanned directories: 205
    Scanned files: 1245
    Infected files: 0 ← ウィルスは検知されなかった
    Data scanned: 37.70 MB
    Data read: 33.79 MB (ratio 1.12:1)
    Time: 10.574 sec (0 m 10 s)
    
  2. ) ウィルススキャンテスト(ウィルスありの場合)
    # wget http://www.eicar.org/download/eicar.com ← テスト用ウィルスをダウンロード
    # wget http://www.eicar.org/download/eicar.com.txt ← 〃
    # wget http://www.eicar.org/download/eicar_com.zip ← 〃
    # wget http://www.eicar.org/download/eicarcom2.zip ← 〃
    
    # clamscan --infected --remove --recursive
    /root/eicar.com: Eicar-Test-Signature FOUND ← ウィルス検知
    /root/eicar.com: Removed ← ウィルス削除
    /root/eicar.com.txt: Eicar-Test-Signature FOUND ← ウィルス検知
    /root/eicar.com.txt: Removed ← ウィルス削除
    /root/eicar_com.zip: Eicar-Test-Signature FOUND ← ウィルス検知
    /root/eicar_com.zip: Removed ← ウィルス削除
    /root/eicarcom2.zip: Eicar-Test-Signature FOUND ← ウィルス検知
    /root/eicarcom2.zip: Removed ← ウィルス削除
    
    ----------- SCAN SUMMARY -----------
    Known viruses: 1302753
    Engine version: 0.97.5
    Scanned directories: 10
    Scanned files: 15
    Infected files: 4 ← 4つのウィルスを検知
    Data scanned: 0.14 MB
    Data read: 0.13 MB (ratio 1.06:1)
    Time: 3.711 sec (0 m 3 s)
    

6. ウィルススキャン定期自動実行設定

# vi /etc/cron.daily/clamscan ← ウィルススキャン実行スクリプト作成
#!/bin/bash

PATH=/usr/bin:/bin

# clamd update
yum -y update clamd > /dev/null 2>&1

# 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

# signature update
freshclam > /dev/null

# virus scan
CLAMSCANTMP=`mktemp`
clamscan --recursive --remove ${excludeopt} / > $CLAMSCANTMP 2>&1
[ ! -z "$(grep FOUND$ $CLAMSCANTMP)" ] && \

# report mail send
grep FOUND$ $CLAMSCANTMP | mail -s "Virus Found in `hostname`" root
rm -f $CLAMSCANTMP
# chmod 700 /etc/cron.daily/clamscan ← ウィルススキャン実行スクリプトへ実行権限付加

これで、毎日定期的に全ファイルのウィルススキャンが行われ、ウィルスを検知した場合のみroot宛にメールが送られてくるようになります。

7. スキャン対象外にする方法の例

# echo "/backup/backup.tar.bz2" >> /root/clamscan.exclude
 ← 例として/backup/backup.tar.bz2をスキャン対象外にする。
# echo "/sys/" >> /root/clamscan.exclude
 ← 例として/sysディレクトリをスキャン対象外にする。

注:ディレクトリを除外する場合は末尾に「/」を付加する。

 

最終更新のRSS
Last-modified: 2014-03-11 (火) 02:00:03 (3698d)