CommuniGate Proでメールのウイルスチェックを行うにはいくつか方法があるが、ここでは無料のClamAVを利用する設定を行う。
■ClamAVの設定
clamavとは言ってもサーバ動作させるためclamdというデーモンを必要とする。
CentOSの場合、epelリポジトリにclamav-serverパッケージがあり、これがclamdを含むがバージョンが2010/03/11現在0.95.1で最新の0.95.3より2つ古い。ClamAVは最新バージョンを利用しないとログにアラートが大量に出ることから、最新バージョンになっているRPMForgeリポジトリのパッケージを利用することとする。
RPMForgeの準備
- # rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
- # wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm
- # rpm -ivh rpmforge-release-0.5.1-1.el5.rf.i386.rpm
clamdパッケージのインストール
- # yum install clamd
clamdの設定
- # vi /etc/clamd.conf
- #Example
- ↓
- 消す
- User clamav
- ↓
- User root (CGServerと同じユーザで動作させる)
- 大きなファイルを扱う場合(CGPのファイルサイズ制限と合わせる)
- StreamMaxLength 100M
定義ファイル更新設定
- # vi /etc/freshclam.conf
- #Example
- ↓
- 消す
- #DatabaseMirror db.XY.clamav.net
- ↓
- DatabaseMirror db.jp.clamav.net
clamdを起動する
- # service clamd start
定義ファイルを更新する
- # freshclam
更新したら正しく動作しているか確認するためウイルステストファイルをダウンロードしてチェックする。以下のようにSCAN SUMMARYが出ればOK。
- # wget http://www.eicar.org/download/eicar.com
- # clamscan --infected --remove --recursive
- /root/download/cgpav-1.4/eicar.com: Eicar-Test-Signature FOUND
- /root/download/cgpav-1.4/eicar.com: Removed.
- ----------- SCAN SUMMARY -----------
- Known viruses: 726575
- Engine version: 0.95.3
- Scanned directories: 14
- Scanned files: 88
- Infected files: 1
- Data scanned: 1.79 MB
- Data read: 0.95 MB (ratio 1.89:1)
- Time: 1.911 sec (0 m 1 s)
■cgpav-1.4を設定する
clamdの動作確認ができたら次はcgpavを設定する。cgpavはmakeが必要になるので、gccやmakeが入っていないサーバ環境の場合はインストールしておく。
- # yum install gcc make automake
cgpav-1.4をダウンロードしてmakeする
- # cd download/
- # wget http://program.farit.ru/antivir/cgpav-1.4.tar.gz
- # tar xvf cgpav-1.4.tar.gz
- # cd cgpav-1.4
- # ./configure
./configureの途中で設定を確認されるのでここではClamAVのみ設定し、SpamAssassinは使わない設定を行う。
- ***********************************************
- Choose Anti-Virus daemon
- Enter 1, 2, 3, 4, 5, 6
- 1 Clamav (free)
- 2 Sophos sophie
- 3 Kaspersky (KAV)
- 4 Trend Micro trophie
- 5 Dr.Web
- 6 Without Anti-Virus support
- 1
- Will use Clamav Anti-Virus daemon clamd
- ***********************************************
- Enable SpamAssassin support
- Enter 1 or 2
- 1 Enable SpamAssassin support
- 2 Disable SpamAssassin support
- 2
- Will not use SpamAssassin
./configureが終了したらmakeしてinstallする。
- # make
- # make install
CommuniGate Proのデフォルトパスにcgpavが存在するか確認する。
- # ls /var/CommuniGate/
cgpavの設定を行う
- # vi /var/CommuniGate/Settings/cgpav.conf
- clamd_socket = /tmp/clmad
- ↓
- clamd_socket = /var/run/clamav/clamd.sock
- infected_action = discard
- ↓
- infected_action = addheader(標準では有無を言わさずウイルスメール自体を消去するので注意)
- add_not_infected_header = false
- ↓
- add_not_infected_header = true(チェックして問題なかったことがわかる)
- recipients_notification = false(受信先にウイルスメールが来たことを通知する場合trueにする)
ここで、本来ならcgpavの動作確認をするため、以下の手順がドキュメントには記載されているが、なぜかCentOSでもDebianでもうまく動作せず…。CGP経由の動作には問題なかったのでパス。
- # cd /var/CoomuniGate/
- # wget http://www.eicar.org/download/eicar.com
- # ./cgpav
■CommuniGate Proの設定をする
CommuniGate Proでウイルスチェックにメールを渡す設定を行うため、管理画面にアクセスする。
- http://hostname:8010/
「設定」→「全般」→「ヘルパー」を開き、外部コンテンツフィルターに以下のパラメータを入力して更新する。
- オン antivirus
- プログラムパス:cgpav
- タイムアウトと自動再起動は「しない」
「設定」→「メール」→「ルール」に以下の設定追加する。
「viruscheck」と入力して「ルール追加」ボタンを押す
「viruscheck」ルールの編集リンクをクリックする
ここでウイルスチェックをしたいルール条件を設定する。とりあえずテスト用にpostmaster宛てをチェックする設定を以下のように追加する。
- Toアドレス 等しい postmaster@localhost
- 外部フィルター antivirus
これで設定は完了。
■ウイルスチェック試験を行う
ウイルスチェックの動作確認をするため、WebMailにアクセスしてpostmasterでログインする。
- http://hostname:8100/
送信先にpostmaster@localhostと入力して適当なメールを作成し送信してみる。
自分宛てにメールが届き、メールのヘッダに「X-Virus-Scanned: by cgpav」が付加されていれば動作成功。
先ほど試験用にダウンロードしたテストウイルスeicar.comを添付ファイルとしてメールに付けてpostmaster@localhostに送り、届いたメールのヘッダに「X-Virus-Flag: Yes」と付いていれば完璧。
ウイルスチェックの結果は以下でも確認可能。
- # cat /var/log/message | grep cgpav
後はウイルスが発見された場合のヘッダをベースに振り分けルール等を書いて個別に対応する。
■cgpav設定変更の注意
設定の変更はcgpav.confの編集で行うのだが、一度CommuniGate Proから稼働させた場合、設定を変更を反映するためには、該当cgpavプロセスをkillしたりkill -HUPしたりしてもダメで、OSごと再起動しないとなぜかうまく反映されなかったので注意。この辺りもっと検証が必要。
no comment untill now