アンチウィルスソフト ClamAV の導入
ClamAV とは、Linuxで動作するGPLのアンチウィルスソフトウェアです。
詳しくはClamAVのページをご覧ください。
最近のコンテンツではありがちですが、私がインストールした時の防備録程度のメモで申し訳ありません。
こんなメモでもいつか、誰かのお役に立てるかもしれませんので公開しておきます。
アンチウィルスソフトという性質上、セキュリティ面には十分注意してください。
当サイトで紹介している設定の中にはウィルスと判定されると即削除するパラメータを扱っています。
必要なファイルがウィルスと判定され削除されてしまう場合も考えられますので、十分に注意して設定を行ってください。
ページ内コンテンツ一覧
デフォルト状態のyumではインストールできない為、 サードパーティリポジトリの設定を行います。
■Clam AntiVirusインストールCentOS5の場合
# wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm ← rpmforgeリポジトリのダウンロード
# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm ← rpmforgeリポジトリインストール
# rm -f rpmforge-release-0.3.6-1.el5.rf.i386.rpm ← rpmforgeリポジトリ削除
CentOS4の場合
# wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.i386.rpm ← rpmforgeリポジトリダウンロード
# rpm -Uvh rpmforge-release-0.3.6-1.el4.rf.i386.rpm ← rpmforgeリポジトリインストール
# rm -f rpmforge-release-0.3.6-1.el4.rf.i386.rpm ← rpmforgeリポジトリ削除
CentOS4、CentOS5共通
# sed -i 's/enabled = 1/enabled = 0/g' /etc/yum.repos.d/rpmforge.repo ← 基本リポジトリとのパッケージ競合を避けるため、デフォルトは無効にしておく
# yum --enablerepo=rpmforge install clamd ← Clam AntiVirusインストール
clamav、clamav-db、clamdがインストールされます。
設定ファイルをエディタで開き以下を修正します。
# vi /etc/clamd.conf
User clamav
↓
#User clamav ← コメントにする
設定できたら保存しら終了します。
# /etc/rc.d/init.d/clamd start Starting Clam AntiVirus Daemon: [ OK ]
自動起動の設定
# chkconfig clamd on
自動起動の確認
# chkconfig --list clamd
clamd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
定義ファイルの設定ファイルを編集
# vi /etc/freshclam.conf
# Comment or remove the line below.
#Example ← コメントにする
ウィルス定義ファイルを最新版にする
# freshclam
(省略)
Downloading daily-2650.cdiff [100%]
Downloading daily-2651.cdiff [100%]
Downloading daily-2652.cdiff [100%]
Downloading daily-2653.cdiff [100%]
Downloading daily-2654.cdiff [100%]
Downloading daily-2655.cdiff [100%]
Downloading daily-2656.cdiff [100%]
Downloading daily-2657.cdiff [100%]
daily.cvd updated (version: 2657, sigs: 11323, f-level: 13, builder: sven)
Database updated (95274 signatures) from db.jp.clamav.net (IP: 61.205.61.201)
Clamd successfully notified about the update.
freshclam は今後、Cron(/etc/cron.daily/freshclam)により毎日実行されます。
システム全体をスキャンする
# clamscan -r /
スキャンするディレクトリを指定する場合は以下のコマンドを実行。
例では/home以下のみをスキャンする。
# clamscan -r /home
設定例 特定のディレクトリやファイルを除外して検索する場合 --exclude (ファイル指定) --exclude-dir (ディレクトリ指定) 上記を踏まえて。。 /etc/ 以下と /var/ 以下を除外する場合。
# clamscan -r / --exclude-dir="etc|var"
*.core という拡張子と *.snap という拡張子が付くファイルを除外する場合。# clamscan -r / --exclude=".*\.core|.*\.snap"$
ウィルスを発見次第削除する場合には以下のオプションを付けて実行。
# clamscan --remove
テスト用のウィルスファイルをダウンロードしてのテスト
# wget http://www.eicar.org/download/eicar.com.txt
# wget http://www.eicar.org/download/eicar.com
# wget http://www.eicar.org/download/eicarcom2.zip
システム全体をスキャンし、ウィルスを発見次第削除する
# clamscan --remove -r /
(省略)
/root/eicar.com: Eicar-Test-Signature FOUND
/root/eicar.com: Removed.
/root/eicar.com: Removed.
(省略)
----------- SCAN SUMMARY -----------
Infected files: 15
Time: 3004.568 sec (50 m 4 s)
時間掛かります・・・。 Clam AntiVirus のインストール時テスト用ウィルスもインストールされるので、 必ずウィルスが検出されます。
ウィルススキャン用のスクリプトを新規作成します。
# vi clamscan.sh
#!/bin/sh PATH=/usr/bin:/bin TMPCLAMSCAN=`mktemp` clamscan -r / --exclude="/usr/bin/dar.*"$ > $TMPCLAMSCAN grep "FOUND" $TMPCLAMSCAN > /var/log/clamav.log rm -r $TMPCLAMSCAN
実行権限を与える
# chmod +x clamscan.sh
Cronで毎日実行させたいので、/etc/cron.daily/に移動する。
# mv clamscan.sh /etc/cron.daily/
ClamAV をインストールすると、clamav-db と clamav 衝突し、yum による update ができなくなります。
ですので、yumのアップデート対象からClamav関連のパッケージを除外します。
(抜本的解決にはなりませんが、ClamAVの為にyum updateが出来ない方が問題なので、今回の措置を取ることにしました。)
yum の設定ファイルである yum.conf をエディタで開きます。
# vi /etc/yum.conf
以下の一文を追記します。
exclude=clamav*
これで yum のアップデート対象から「clamav」の文字を含んだものが除外されます。
以上です。