ClamAV
   for RaQ4
   
  MySQL
   for RaQ550
   
Static IP address
    for BlueQuartz
   
  PKG Download
   for Blue Quartz 作成中
   
  Links
 

  Cobalt Links

   
  About
    About This page

 

 

 

 

 

 


  ClamAV (+ MailScanner) for RaQ4
 

 Cobalt RaQ4上でメールウィルスを駆除することをオープンソースのソフトを用いて行うことの紹介を
目的としているページです。 メールのスキャンにはClamAVのほか、同じくオープンソースの
MailScannerをRaQ4に実装して、メールスキャンを行います   2004/07/29
追記:RaQ550に関しては海外サイトながらもPKGファイルとしてClamAV
及び、MailScannerを 配布しているところがあり、
そちらについては、このページの最下部にて説明していますので参考にして下さい 2004/09/27

   
  ページの内容について
  このページのドキュメントの内容に関しては、多分に
MailScannerの公式サイトでのRaQ4に関してのFAQ(英文)を参考にしています
   
  ClamAVとは
   オープンソースで、FedoraCoreをはじめFreeBSDなどでも動作する
ウィルス駆除ソフトです 公式サイトは英語ですが、日本語で詳しく解説されて
いるページもあります  詳細については公式ページ(http://www.clamav.net/)などをご覧下さい
 
  MailScannerとは
 

 ClamAVを含む、各種ウィルス駆除ツールと連動し、メールをスキャンし
ウィルスを駆除する機能を持つPerlベースで書かれたオープンソースのソフトです
詳細については、公式ページ(http://www.sng.ecs.soton.ac.uk/mailscanner/)を
ご覧下さい 残念ながら日本語での詳細な解説ページをみたこと
はありません


注意:

RaQの商用・非商用問わず動作保障を行うものではありません
必ず、データは事前にバックアップを行うなど作業は全て自己責任の上で行って下さい

ユーザ発行済みでメールサーバ稼動下での実装方法も紹介しておりますが
ユーザは未発行の状態で実装し、実装後にてユーザ発行やSCMUツールを用いてのユーザデータ移動を強くお勧め致します

 
ここで解説するウィルススキャンとは
 
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権限以外のユーザを発行
 

Telnetでスーパーユーザとしてログイン後

  # /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