>> HOME >> CentOS 4 MENU >> アンチウィルスソフト(Clam AntiVirus)
Linux用のフリーのアンチウィルスソフトである Clam AntiVirus を導入します。

1. Clam AntiVirus インストール
1 ) Clam AntiVirus インストール
2. Clam AntiVirus 設定
1 ) Clam AntiVirus 設定ファイル /etc/clamd.conf の編集
3. Clam AntiVirus の起動と自動起動設定
1 ) Clam AntiVirus の起動
2 ) Clam AntiVirus の自動起動設定
4. ウィルス定義ファイル最新化
1 ) 設定ファイル /etc/freshclam.conf の編集
2 ) ウィルス定義ファイル最新化
5. ウィルスチェック
1 ) ウィルスが検出されない場合
2 ) ウィルスが検出された場合
6. ウィルス定義ファイルの自動更新とウィルススキャンの自動化
1 ) シェルスクリプトを作成
2 ) スケジューラ(cron)への登録
1. Clam AntiVirus インストール
1 ) Clam AntiVirus インストール
[root@linux ~]# yum -y install clamd 
Repository dag is listed more than once in the configuration
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for clamd to pack into transaction set.
clamd-0.88.3-2.el4.rf.i38 100% |=========================| 5.4 kB    00:00
---> Package clamd.i386 0:0.88.3-2.el4.rf set to be updated
--> Running transaction check
--> Processing Dependency: clamav = 0.88.3-2.el4.rf for package: clamd
--> Processing Dependency: libidn.so.11 for package: clamd
--> Processing Dependency: libcurl.so.3 for package: clamd
--> Processing Dependency: libclamav.so.1 for package: clamd
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package clamav.i386 0:0.88.3-2.el4.rf set to be updated
---> Package libidn.i386 0:0.5.6-1 set to be updated
---> Package curl.i386 0:7.12.1-8.rhel4 set to be updated
--> Running transaction check
--> Processing Dependency: clamav-db = 0.88.3-2.el4.rf for package: clamav
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package clamav-db.i386 0:0.88.3-2.el4.rf set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 clamd                   i386       0.88.3-2.el4.rf  dag                64 k
Installing for dependencies:
 clamav                  i386       0.88.3-2.el4.rf  dag               724 k
 clamav-db               i386       0.88.3-2.el4.rf  dag               5.1 M
 curl                    i386       7.12.1-8.rhel4   base              231 k
 libidn                  i386       0.5.6-1          base              169 k

Transaction Summary
=============================================================================
Install      5 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 6.3 M
Downloading Packages:
(1/1): clamd-0.88.3-2.el4 100% |=========================|  64 kB    00:00
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: libidn                       ######################### [1/5]
  Installing: curl                         ######################### [2/5]
  Installing: clamav-db                    ######################### [3/5]
  Installing: clamav                       ######################### [4/5]
  Installing: clamd                        ######################### [5/5]

Installed: clamd.i386 0:0.88.3-2.el4.rf
Dependency Installed: clamav.i386 0:0.88.3-2.el4.rf clamav-db.i386 0:0.88.3-2.el4.rf curl.i386 0:7.12.1-8.rhel4
libidn.i386 0:0.5.6-1
Complete!
2. Clam AntiVirus 設定
1 ) Clam AntiVirus 設定ファイル /etc/clamd.conf の編集
[root@linux ~]# vi /etc/clamd.conf 

  :
  :
# Run as a selected user (clamd must be started by root).
# Default: disabled
# コメントアウト ( root 権限で動作させる )
#User clamav
  :
  :

# Mark encrypted archives as viruses (Encrypted.Zip, Encrypted.RAR).
# Default: no
# パスワード付きZIPファイルをウイルスアラートとしない
ArchiveBlockEncrypted no

# Mark archives as viruses (e.g. RAR.ExceededFileSize, Zip.ExceededFilesLimit)
# if ArchiveMaxFiles, ArchiveMaxFileSize, or ArchiveMaxRecursion limit is
# reached.
# Default: no
# 容量の大きなアーカイブファイルをウィルス感染ファイルとみなさない
ArchiveBlockMax no
  :
  :
Clamav を再起動時に
ERROR: Parse error at line 34: Option LogTime requires boolean argument.
ERROR: Can't open/parse the config file /etc/clamd.conf

というエラーが出る場合は以下の設定をします。
[root@linux ~]# vi /etc/clamd.conf 

  :
  :
# 43行目 ( 引数として真偽値を追加 )
# Use system logger (can work together with LogFile).
# Default: no
LogSyslog no  # syslog を使用するかどうか

  :
  :
# 149行目 ( 引数として真偽値を追加 )
# Initialize supplementary group access (clamd must be started by root).
# Default: no
AllowSupplementaryGroups no  # 補助グループアクセスを初期化するかどうか

  :
  :
# 192行目 ( 引数として真偽値を追加 )
# With this option clamav will try to detect broken executables and mark
# them as Broken.Executable
# Default: no
DetectBrokenExecutables no  # 壊れた実行ファイルを検出し Broken.Executable として報告するかどうか

  :
  :
# 214行目 ( 引数として真偽値を追加 )
# Enable internal e-mail scanner.
# Default: yes
ScanMail yes  # 内部のメールスキャナーを有効にするかどうか

  :
  :
3. Clam AntiVirus の起動と自動起動設定
1 ) Clam AntiVirus の起動
[root@linux ~]# service clamd start 
Starting Clam AntiVirus Daemon:                            [  OK  ]
2 ) Clam AntiVirus の自動起動設定
[root@linux ~]# chkconfig clamd on 
[root@linux ~]# chkconfig --list clamd 
clamd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
4. ウィルス定義ファイル最新化
1 ) 設定ファイル /etc/freshclam.conf の編集
[root@linux ~]# vi /etc/freshclam.conf 

##
## Example config file for freshclam
## Please read the freshclam.conf(5) manual before editing this file.
##


# Comment or remove the line below.
# コメントアウト
#Example

  :
  :

# Send the RELOAD command to clamd.
# Default: disabled
#NotifyClamd
# By default it uses the hardcoded configuration file but you can force an
# another one.
# コメントアウト
#NotifyClamd /etc/clamd.conf

  :
  :
2 ) ウィルス定義ファイル最新化
[root@linux ~]# freshclam 
ClamAV update process started at Fri Aug 18 22:38:35 2006
Downloading main.cvd [*]
main.cvd updated (version: 40, sigs: 64138, f-level: 8, builder: tkojm)
Downloading daily.cvd [*]
daily.cvd updated (version: 1682, sigs: 1616, f-level: 8, builder: ccordes)
Database updated (65754 signatures) from db.jp.clamav.net (IP: 219.106.242.51)
Clamd successfully notified about the update.
ウィルス定義ファイルのアップデートは /etc/cron.daily/freshclam により毎日自動で行われます。
5. ウィルスチェック
ウィルス感染をチェックには、clamscan コマンドを使用します。
ここでは、例として、/home/centos をチェックします。
※ Clam AntiVirus によって検出されたウィルスは自動的に削除されるので、管理者は特に対処の必要はありません。
1 ) ウィルスが検出されない場合
Infected files 行の値が 0 ならば、ウィルスは検出されなかった事を表します。
[root@linux ~]# clamscan --log=/var/log/clamav.log --infected --remove --recursive /home/centos/ 

----------- SCAN SUMMARY -----------
Known viruses: 64690
Engine version: 0.88.3
Scanned directories: 1
Scanned files: 9
Infected files: 0
Data scanned: 0.05 MB
Time: 2.343 sec (0 m 2 s)
2 ) ウィルスが検出された場合
無害の試験用ウィルスをダウンロードして試験します。
Infected files 行の値が 2 となり、2個のウィルスが検出された事を表します。
[root@linux ~]# cd /home/centos 
[root@linux centos]# wget http://www.eicar.org/download/eicar.com 
[root@linux centos]# wget http://www.eicar.org/download/eicarcom2.zip 
[root@linux centos]# cd 
[root@linux ~]# clamscan --log=/var/log/clamav.log --infected --remove --recursive /home/centos/ 
/home/eicarcom2.zip: Eicar-Test-Signature FOUND
/home/eicarcom2.zip: Removed
/home/eicar.com: Eicar-Test-Signature FOUND
/home/eicar.com: Removed

----------- SCAN SUMMARY -----------
Known viruses: 64690
Engine version: 0.88.3
Scanned directories: 1
Scanned files: 11
Infected files: 2
Data scanned: 0.05 MB
Time: 2.515 sec (0 m 2 s)
6. ウィルス定義ファイルの自動更新とウィルススキャンの自動化
毎日自動的に全ファイルのウィルススキャンが行われ、ウィルスを検知した場合に、root宛にメールが送られてくるようにします。
※ Clam AntiVirus インストールディレクトリに試験用ウィルスがある為、インストール後最初の全体スキャンでは必ず検知メールが送られます。
1 ) シェルスクリプトを作成
[root@linux ~]# vi clamav.sh 

#!/bin/sh

PATH=/usr/bin:/bin

LOGFILE=`mktemp`

clamscan --infected --remove --recursive / > $LOGFILE 2>&1
[ ! -z "$(grep FOUND$ $LOGFILE)" ] && \
grep FOUND$ $LOGFILE | mail -s "Virus Found in `hostname`" root

rm -f $LOGFILE
[root@linux ~]# chmod 700 clamav.sh 
2 ) スケジューラ(cron)への登録
[root@linux ~]# crontab -e 

# 毎日 00:00 に自動実行します。
00 00 * * * /root/clamav.sh > /dev/null 2>&1