|
ここで解説するウィルススキャンとは |
|
RaQ4を利用するクライアントがメールでウィルス感染や発信を防ぐことを第一義としています
また、それを全てオープンソースで完結することを、第二義としています
ClamAVを実装すると、RaQ4上で感染ファイルなどを削除する機能も実装されますが、
ここではその解説は含みません |
|
|
|
MailScannerによるデメリット ※ClamAVではデメリットは生じておりません |
|
RaQ4に、メールスキャン機能を持たせた結果生じたデメリットに関しては
以下が発生致しましたので、事前にご注意下さい |
|
・メール配送時間の遅延(導入後、5秒程度 配送に時間がかかるようになります) |
|
・併用しているCGIでタイムアウトが発生(大容量のメールにてスキャンに時間が
かかる場合CGIがタイムアウトする可能性があります) |
|
デメリットは全てPerlで書かれているMailScannerによるCPU負荷に
起因すると考えられるものとなりますので、CGIでクリティカルな
作業を行っているRaQ4にMailScannerを導入することは避けられることをお勧めします |
|
|
|
ClamAVをRaQ4にインストールする |
|
操作手順について |
|
全て、Telnetを用いての作業での解説となります
そのためWeb上での作業ではありません Telnetを用いての作業や、viエディタに
不慣れであるという場合は作業をお勧めできません
また、ClamAVはRPMだとバージョンが若干古いため
RPMではなくソースからの実装手順を紹介しています
RPM形式でインストールする場合は、他サイトを参考にして下さい
|
|
|
|
事前準備 |
|
Cobalt RaQ4は2004年12月末日までにリリースされた
公式パッチは全て適用済みにしておいて下さい
パッチ未適用の場合では、予期せぬ事態になる可能性があります
また、SCMUツールを用いたデータバックアップをお勧め致します
|
|
|
|
1.ClamAVを稼動させるため、root権限以外のユーザを発行 |
|
|
|
# /usr/sbin/groupadd clamav
# /usr/sbin/useradd -g clamav -s /bin/false -c "Clam Antivirus" clamav |
|
としてグループとユーザを発行 |
|
このグループとユーザは、RaQ4のWeb管理画面からでは
表示されないユーザとなるため注意が必要 |
|
|
|
2.FTPまたはwgetなどでClamAVをRaQ4へ転送させる |
|
/home以下に任意のフォルダ(この場合は/temp)を作り、adminユーザが
アクセスできるようにしておく |
|
# cd /home
# mkdir temp
# chown admin temp |
|
ClamAV公式サイトより最新版のClamAVのソース(tar.gz形式)をダウンロード後、
adminユーザとしてFTPで/home/temp内へ転送 |
|
転送後、ClamAVのソースを解凍する
※この場合はclamav-0.65.tar.gzを用いていますがファイル名は読み替えて下さい |
|
$ tar xvzf clamav-0.65.tar.gz
$
cd clamav-0.65 |
|
|
|
3.ClamAVをmakeする |
|
$ ./configure --prefix=/usr/local
$ make |
|
以下、必ずスーパーユーザで |
|
# make install |
|
|
|
4.ClamAVの設定変更 |
|
viエディタを用いて設定ファイルを書き換えます |
|
# cd /usr/local/etc
# vi clamav.conf |
|
バージョンによって、多少設定ファイルの内容が違いますが
次の内容に変更が必要です |
|
Example 行をコメントアウト ・・・頭に#をつける
LocalSocket 行の設定がLocalSocket /var/run/clamd.sock となっているか確認
ScanMail 行のコメントを外して有効に・・・・頭についている#を削除
StreamSaveToDisk 行のコメントを外して有効に・・・・頭についている#を削除 |
|
|
|
5.ウィルス定義ファイルの更新 |
|
ウィルス定義ファイルを更新して、最新のウィルスに対応させます |
|
# /usr/local/bin/freshclam |
|
この時に、SECURITYWARNINGという警告が出ますが
とりあえず無視しても大丈夫です
これで、ClamAVのインストールは完了
起動はMailScannerのインストール後行います |
|
|
|
MailScanner-4.26.8-1のインストール |
|
MailScannerのバージョンにより、要求されるperlモジュールが異なります
解説に従い、確実に動作させたい場合はMailScanner-4.26.8-1を
インストールすることをお勧めします
最新版の場合は紹介しているモジュールだけでは
足らないことを確認しています(2004/07/29) |
|
|
|
1.MailSCannerをRaQ4に転送させる |
|
ClamAVと同様にFTPまたは、wgetでRaQ4にもってきます
MailScanneにはRPMだけでのインストールはできないため
ソースからインストールします
この場合は、wgetでMailScanner-4.26.8-1の操作方法を紹介します |
|
$ cd /home/temp
$ wget www.sng.ecs.soton.ac.uk/mailscanner/files/4/rpm/MailScanner-4.26.8-1.rpm.tar.gz (一行で実行すること) |
|
|
|
2.MailScannerを解凍する |
|
$ tar zxvf MailScanner-4.26.8-1.rpm.tar.gz
$ cd MailScanner-4.26.8-1 |
|
|
|
3.MailScannerが必要とするPerlモジュールをインストールする |
|
以下、スーパーユーザで |
|
# ./Update-MakeMaker.sh |
|
実行すると、必要なモジュールがリストアップされます
尚、最新版にはUpdate-MakeMaker.shは含まれていないので注意 |
|
|
|
Perl module ExtUtils::MakeMaker が無いというエラーだったら、もう一度 |
|
# ./Update-MakeMaker.sh |
|
を実行すれば、インストールされます(実際には出なかったため未検証) |
|
|
|
"TokeParser" またはmodule HTML::Parser が無いというエラーだった場合は |
|
# cd /usr/lib/perl5/5.00503/i386-linux/CORE
# touch opnames.h
# touch perlapi.h
# touch utf8.h
# touch warnings.h |
|
(実際には、このエラーは出なかったため未検証) |
|
|
|
また、次のエラーが出た場合は(これは実際に出た) |
|
Can't locate object method "rel2abs" via package "File::Spec" at Makefile.PL
line 55.
BEGIN failed--compilation aborted at Makefile.PL line 57.
make: *** No targets specified and no makefile found. Stop.
make: *** No rule to make target `install'. Stop. |
|
File::Specが足らないためなので、インストールします
この場合は、File-Spec-0.82.tar.gzをwgetで持ってきて
ソースからインストールしました |
|
# wget http://search.cpan.org/CPAN/authors/id/R/RB/RBS/File-Spec-0.82.tar.gz
# tar zxvf File-Spec-0.82.tar.gz
# cd File-Spec-0.82
# perl Makefile.PL
# make
# make test
# make install
# cd .. |
|
|
|
全てのエラーに対する対策が終わったら、
もう一度Update-MakeMaker.shを実行します |
|
# ./Update-MakeMaker.sh |
|
実行して最後に、 |
|
Done. Please now run ./install.sh again. |
|
が出れば成功です |
|
|
|
4.MailScannerインストールする |
|
# ./install.sh |
|
install.shが通過できればインストールは無事完了です
これで、MailScannerがインストールできた状態となります |
|
|
|
5.MailScannerの設定変更 |
|
viエディタで設定を変更します |
|
# vi /etc/MailScanner/MailScanner.conf |
|
|
|
Virus Scanners = none を次に書き換える
Virus Scanners = clamavmodule |
|
最初から次のようになっていたが、
なっていない場合は問題なので次の設定の部分も確認しておきましょう |
|
Outgoing Queue Dir = /var/spool/mqueue |
|
|
|
※それ以外に変更すべきような場所 |
|
Virus Subject Text = ウィルスアラートメールのSubjectなので任意に
Information Header Value = ウィルスアラートメールのヘッダーなので任意に
ヘッダーに関しては、デフォルトだとSobig-Fウィルスのヘッダーと同じになるので
以下の行だけは変更しておくのが望ましいと思われる
Clean Header Value = Found to be clean
を次のような任意のものに
Clean Header Value = Virus Cleaning System
Deliver Cleaned Messages = yes ウィルス到着お知らせメールのON/OFF (この場合はON)
Notify Senders Of Viruses = no ウィルス発信お知らせメールのON/OFF (この場合はOFF) |
|
|
|
6.SendMailの停止 |
|
※この作業を行うことにより、RaQ4のメール機能は一度停止します
そのため、作業の際は注意して下さい |
|
|
|
CobaltのWeb管理画面を開いて「サーバの管理」
「サービス」内の「電子メール」のチェックを外す
外したら画面下記の「変更を保存」ボタンをクリックしてSendMailを停止させる |
|
|
|
7.SendMailのスプール設定変更 |
|
Sendmailのスプール場所の変更をする
viエディタで変更させる |
|
# vi /etc/mail/sendmail.cf |
|
このファイルの |
|
O QueueDirectory=/var/spool/mqueue/q* |
|
を |
|
O QueueDirectory=/var/spool/mqueue |
|
へ変更 |
|
|
|
次にメール機能が稼動状態か否かで作業が異なる
○非稼動状態・スプールも無い状態ならば |
|
# cd /var/spool
# mv /var/spool/mqueue.in/ /home/spool/
# ln -s ../../home/spool/mqueue.in /var/spool/mqueue.in |
|
|
|
○稼動状態・スプールがある状態ならば |
|
# cd /var/spool
# mv /var/spool/mqueue/q*/* /var/spool/mqueue
# mv /var/spool/mqueue.in/ /home/spool/
# ln -s ../../home/spool/mqueue.in /var/spool/mqueue.in |
|
となる
その後、稼動・非稼動ともにスプールをいつも保存するフォルダを削除 |
|
# rmdir /var/spool/mqueue/q* |
|
これでq1〜q4が削除される |
|
|
|
これで設定完了だが
実際にMailScannerを稼動させるには再起動が必要なので
RaQ4の前面パネルから再起動を行います |
|
|
|
正常に稼動すれば |
|
# ps aux | more |
|
の結果で |
|
root 23790 0.0 0.9 2492 1176 ? S 00:16 0:00 sendmail: accepting connections
root 23793 0.0 0.9 2492 1180 ? S 00:16 0:00 /usr/sbin/sendmail -q15m
root 23802 0.0 6.4 9472 8236 ? S 00:16 0:00 perl -I/usr/lib/MailScanner /usr/sbin/MailScanner /etc/MailScanner/Ma
root 23803 0.2 6.9 10120 8876 ? S 00:16 0:00 perl -I/usr/lib/MailScanner /usr/sbin/MailScanner /etc/MailScanner/Ma
root 23809 0.2 6.9 10120 8876 ? S 00:16 0:00 perl -I/usr/lib/MailScanner /usr/sbin/MailScanner /etc/MailScanner/Ma
root 23833 0.2 6.9 10120 8876 ? S 00:17 0:00 perl -I/usr/lib/MailScanner /usr/sbin/MailScanner /etc/MailScanner/Ma
root 23843 0.2 6.9 10120 8876 ? S 00:17 0:00 perl -I/usr/lib/MailScanner /usr/sbin/MailScanner /etc/MailScanner/Ma
root 23848 0.3 6.9 10120 8876 ? S 00:17 0:00 perl -I/usr/lib/MailScanner /usr/sbin/MailScanner /etc/MailScanner/Ma |
|
のようになるはずです |
|
|
|
また、実際にウィルススキャンしている場合は
メールログをリアルタイムで確認すると |
|
# tail -f -n100 /var/log/maillog |
|
次のようになるはずです |
|
Feb 23 00:13:12 raq4i3 MailScanner[21677]: MailScanner child caught a SIGHUP
Feb 23 00:13:12 raq4i3 MailScanner[21713]: MailScanner child caught a SIGHUP
Feb 23 00:13:12 raq4i3 MailScanner[21684]: MailScanner child caught a SIGHUP
Feb 23 00:13:12 raq4i3 MailScanner[21718]: MailScanner child caught a SIGHUP
Feb 23 00:13:12 raq4i3 MailScanner[21689]: MailScanner child caught a SIGHUP
Feb 23 00:16:38 raq4i3 sendmail[23786]: alias database /etc/mail/aliases rebuilt by admin
Feb 23 00:16:38 raq4i3 sendmail[23786]: /etc/mail/aliases: 17 aliases, longest 10 bytes, 189 bytes total
Feb 23 00:16:38 raq4i3 sendmail[23786]: alias database /etc/mail/aliases.majordomo rebuilt by admin
Feb 23 00:16:38 raq4i3 sendmail[23786]: /etc/mail/aliases.majordomo: 12 aliases, longest 69 bytes, 519 bytes total
Feb 23 00:16:38 raq4i3 sendmail[23790]: starting daemon (8.10.2): SMTP
Feb 23 00:16:38 raq4i3 sendmail[23793]: starting daemon (8.10.2): queueing@00:15:00
Feb 23 00:16:41 raq4i3 MailScanner[23803]: MailScanner
Feb 23 00:16:41 raq4i3 MailScanner[23803]: MailScanner E-Mail Virus Scanner version 4.26.8-1 starting...
Feb 23 00:16:41 raq4i3 MailScanner[23803]: Using locktype = flock
Feb 23 00:16:51 raq4i3 MailScanner[23809]: MailScanner
Feb 23 00:16:51 raq4i3 MailScanner[23809]: MailScanner E-Mail Virus Scanner version 4.26.8-1 starting...
Feb 23 00:16:51 raq4i3 MailScanner[23809]: Using locktype = flock
Feb 23 00:17:01 raq4i3 MailScanner[23833]: MailScanner |
|
|
|
|
|
追記 |
|
コマンドラインから
mailscannerを起動・停止させるには |
|
#/etc/rc.d/init.d/MailScanner start 起動させる
#/etc/rc.d/init.d/MailScanner stop 停止させる |
|
|
|
コマンドラインから
ClamAVを起動させる |
|
/usr/local/sbin/clamd --config-file=/usr/local/etc/clamav.conf |
|
|
|
ウィルス検知アラートのメールの内容等は
/etc/MailScanner/reports/の中に入っているので任意に変更可となっています
差し替えるだけで設定が変更されているので再起動は不要です |
|
|
|
ウィルススキャンの稼動テストする時には
clamavのソースの中にtest.zipが無害な仮想ウィルスファイル
としてあるので利用してみて下さい |
|
|
|
送受信ともに、ウィルススキャンがかかるようになっています |
|
|
|
削除されたウィルスメールの実物は、/var/spool/MailScanner/quarantineに
日時ディレクトリ内のファイルとして保存されていきます
/varの容量が心配な場合は、この中のファイルを
定期的に日時ディレクトリごと削除して下さい |
|
|
|
ClamAVの定義ファイルはRaQ4再起動すれば自動的に
1日2回更新されていきますが手動で更新したい場合は
前述の「5.ウィルス定義ファイルの更新」を参考にして下さい |
|
|
|
ClamAVの最新ウィルス対応は、市販ウィルス駆除ソフトなみに
早いように個人的には感じています
特に、感染力の高いウィルスの場合は速やかに
リリースされる傾向が高いようです
しかしながら、市販ウィルス駆除ソフトよりも
対応ウィルス数が少ないのも事実です |
|
|
|
2004/02/10 Wriing by Shinichiro Koike |
|
|
|
追記 RaQ550に関しては英語サイトですがPKGファイルを配布している
サイトがありました MailScannerも同梱されている模様ですので
メールウィルスも駆除されると思われます
[Links]より、dePoPo.netを開いて参考にして下さい
尚、当方ではdePoPo.netサイトで配布しているPKGファイルの動作確認はしておりません
|
|
2004/09/27 |