トップページ >玄箱> 玄箱でウィルスチェック(ClamAV + AmaVisD-new)

« イイものはイイんですよ | トップページ | やっぱりMac mini欲しいかも »

2005/02/07

玄箱でウィルスチェック(ClamAV + AmaVisD-new)


ClamAVAMaViS - A Mail Virus Scanner

我が玄箱のメール環境も徐々に整ってきた(気がする)今日この頃、懸案だったウィルスチェックを行う環境の構築に挑戦しました。
今回も、かなり手こずってしまい、作業手順の記録とか設定内容にいまいち不安もあります……

本当にいろいろなところを参考に見せて貰い、その中でも特にお手本にしたのが以下のサイト様です。多謝!

では、以下が簡単な作業記録です。



大まかな作業の流れとしては、 ClamAVの導入、セットアップ → AmaVisD-newの導入、セットアップ → postfixの設定 という感じでしょうか。 それぞれの作業で細々としたパッケージの追加やら、CPANモジュールの追加なども行っています。

1. ClamAVの導入
$ sudo apt-get install clamav clamav-daemon ← まずはapt-getでインストールします
途中でいくつか質問されますので、以下のように答えました。 基本的にはデフォルトです……
ウイルスデータベース更新の方法を選択してください。
---> デーモン

最も近いローカルミラーサイトを選択してください。
---> db.jp.clamav.net (Japan)

HTTP プロキシ情報 (ないなら空のままにしておきます):
--->

更新後に clamd に教示しますか?
---> <はい>

もしかしたら他にも聞かれたかもしれません。

$ sudo /usr/bin/freshclam ← パターンファイル?ウィルス定義ファイル?の更新プログラムを実行します。
#記録を取り損ねています。

本当は、ClamAVを手動で実行してウィルススキャンの確認とかもした方がよいのですが、何か慌てていたので、直ぐさま次に進んでしまいました。

2. AmaVisD-newの導入
AmaVisにはいろいろな種類があって、それぞれ特徴があるわけですが、今回はAmaVisD-newというパッケージを使うことにしました。
$ sudo apt-get install perl-suid ← 必要なパッケージとの情報を見かけましたので、先にインストールします。

$ sudo apt-get install amavisd-new amavis-stats ← AmaVisD-new本体と、統計情報を見るためのAmaVis Stats(RRDTool用?)をインストールします。
途中で一つ(たぶん)質問されたので、以下のように答えました。
RRD ファイルを purge の際に削除しますか?
---> <はい>
#AmaVisD-new本体ではなく、AmaVis StatsのDBファイルの扱いのようです。

$ sudo apt-get install arc lzop lha unarj unrar zoo ← 他にも必要なパッケージがありました。
私の場合、上記のアーカイバ関連が不足気味だったのでインストールしました。

$ su - ← CPANモジュール導入のためrootになります
# perl -MCPAN -e shell ← 以下のようなCPANモジュールを導入します
cpan> install Compress::Zlib
cpan> install Convert::UUlib
cpan> install MIME::Entity
cpan> install Mail::Header
cpan> install Net::DNS
cpan> install Time::HiRes
cpan> install Unix::Syslog
私の場合、上記のようなモジュールが不足気味だったのでインストールしました。

3. AmaVisD-newの設定
$ cd /etc/amavis ← AmaVisD-newの設定ファイルのあるディレクトリに移動します
$ sudo vim amavisd.conf ← AmaVisD-newの設定ファイルを修正します
私は、以下のように修正しました。
$mydomain = 'example.com';      # (no useful default)

$mydomain = 'xxxxxxxx.com';      # (no useful default) ← 自分用のドメインに修正します

@bypass_spam_checks_acl  = qw( . );    # No default dependency on spamassassin

#@bypass_spam_checks_acl  = qw( . );    # No default dependency on spamassassin ← コメントアウトします(理由は……)

$DO_SYSLOG = 1;                 # (defaults to false)

$DO_SYSLOG = 0;                 # (defaults to false) ← 稼働時のログは、SYSLOGではなく、独自のログファイルに記録します

$LOGFILE = "/var/log/amavis.log";  # (defaults to empty, no log)

$LOGFILE = "/var/log/amavis/amavis.log";  # (defaults to empty, no log) ← 記録するログファイル名の指定です。私は、/var/log直下ではなく、amavisディレクトリを作ってそこにログファイルを置くようにしました

$virus_admin = "virusalert@$mydomain";

$virus_admin = "kazz7@$mydomain"; ← ウィルス検知時の通知先アドレスです

#$hdr_encoding = 'iso-8859-1';  # (default: 'iso-8859-1')

$hdr_encoding = 'iso-2022-jp';  # (default: 'iso-8859-1') ← お手本サイトを参考に修正しました

#$bdy_encoding = 'iso-8859-1';  # (default: 'iso-8859-1')

$bdy_encoding = 'iso-2022-jp';  # (default: 'iso-8859-1') ← お手本サイトを参考に修正しました

$ su - ← ちょっとrootで作業します
# cd /var/log ← amavisのログを設定していきます
# mkdir amavis ← /var/log/amavisディレクトリを作成します
# chown amavis.amavis amavis ← ディレクトリのオーナーを変更します
# cd amavis ← amavisディレクトリに移動して
# touch amavis.log ← amavis.logファイルを作成します
# chown amavis.adm amavis.log ← ログファイルのオーナーを変更して
# chmod 640 amavis.log ← パーミッションも変更します

# vi /etc/logrotate.d/amavis ← ログのローテート設定をします
私は以下のように設定しました。
/var/log/amavis/amavis.log {
    rotate 20
    daily
    compress
    delaycompress
    create 640  amavis adm
    postrotate
    /etc/init.d/amavis reload > /dev/null
    endscript
    }

日々ログをローテートし、20世代保存の設定です。(根拠は特にありません)

とりあえず、ClamAVとAmaVisD-newの設定はこれくらいでした。
この後postfixの設定を行い実際に稼働するレベルになります。

4. Postfixの設定
ここからは、お手本サイトを参考に一気に行きます。
$ cd /etc/postfix ← Postfixの設定ファイルのあるディレクトリに移動します
$ sudo vim main.cf ← まず1つ目の設定ファイルの修正です。
以下を追加します。
content_filter = smtp-amavis:[127.0.0.1]:10024 ← PostfixからAmaVisD-newへの通信はポート10024を使用します

$ sudo vim master.cf ← 2つ目の設定ファイルの修正です。
以下を追加します。量が多いので現在の設定ファイルの最後に追加しました。
各行頭の”-o”の前にはスペースが入ります。
smtp-amavis unix - - n - 2 smtp
   -o smtp_data_done_timeout=1200
   -o smtp_send_xforward_command=yes
   -o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd
   -o content_filter=
   -o local_recipient_maps=
   -o relay_recipient_maps=
   -o smtpd_restriction_classes=
   -o smtpd_client_restrictions=
   -o smtpd_helo_restrictions=
   -o smtpd_sender_restrictions=
   -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
   -o mynetworks=192.168.1.0/24,127.0.0.0/8
   -o strict_rfc821_envelopes=yes
   -o smtpd_error_sleep_time=0
   -o smtpd_soft_error_limit=1001
   -o smtpd_hard_error_limit=1000
   -o receive_override_options=no_header_body_checks
← ウィルススキャン後のメールは、ポート10025でPostfixに渡されます。(たぶん)
その他、自分のローカルのネットワーク(192.168.1.x)も定義しました。

$ sudo vim /etc/aliases ← メールアドレスのAliasの設定を行います
私は、以下のように設定しました
virusalert: kazz7
spamalert: kazz7

$ sudo newaliases ← 上記Alias設定を反映させます

これでPostfixの設定も出来ました。
後は再起動するだけでウィルススキャンが出来るはず

5. 動作確認
$ sudo /etc/init.d/amavis restart ← AmaVisD-newの再起動を行います
$ sudo /etc/init.d/postfix restart ← Postfixの再起動を行います
さあ、いよいよ動作チェックです。
なのですが……実は、ファイルのパーミッションがどうこうといろいろハマッたので、以下のようにして逃げました。(正直、あまりお勧めできないかもしれません)
$ sudo addgroup clamav amavis ← clamavをamavisグループにも追加し、
$ sudo addgroup amavis clamav ← 逆にamavisユーザをclamavグループに追加します

そして動作チェックです。
$ sudo tail -f /var/log/amavis/amavis.log ← AmaVisD-newのログファイルを見ながら

最近のSPAMメールの中に明らかにウィルス感染したものがありましたので、そいつを自分に向けて再送します。
すると……

Feb  7 01:41:13 KURO-BOX amavisd-new[287]: (00287-02) INFECTED (Worm.SomeFool.Gen-1), <?@[192.168.1.x]> -> <xxxxxx@xxxxxxx.ne.jp>, quarantine virus-20050207-014111-00287-02, Message-ID: <200xxxxxxxx8.j12yyyyyy14920@xxxxxx.ne.jp>, Hits: - A virus (Worm.SomeFool.Gen-1) was found.
Scanner detecting a virus: Clam Antivirus-clamd
The mail originated from: <?@[192.168.1.x]>
According to the 'Received:' trace, the message originated at:
  [192.168.1.x] (unknown [192.168.1.x])
Notification to sender will not be mailed.
The message WILL NOT BE delivered to:
<xxxxxx@xxxxxxx.ne.jp>:  250 2.7.1 Ok, discarded, id=00287-02 - VIRUS: Worm.SomeFool.Gen-1
Virus scanner output:
  /var/lib/amavis/amavis-20050207T014005-00287/parts/part-00002: Worm.SomeFool.Gen-1 FOUND
The message has been quarantined as:
  /var/lib/amavis/virusmails/virus-20050207-014111-00287-02
X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at xxxxxxxx.com

こんな感じでログファイルに出てきました。
Worm.SomeFool.Gen-1ってやつですね。
そして、通知メールもきちんと送られてきました。スゴイヨ!

私は、とりあえず以上のような流れで導入~設定出来た様な気がしますが、高機能で複雑なソフトなので、今しばらく様子を見ながら正しい設定、より良い設定が出来るようにいろいろと試してみたいと思います。

なんだかんだで、玄箱のメール環境も随分と充実しました。
後は、携帯向けの転送が出来るように、ubiqunMobilerの導入、設定に挑戦してみるつもりです!

「玄箱」カテゴリの記事

2005 02 07 [玄箱] | 固定リンク はてなブックマーク このエントリーを含むはてなブックマーク del.icio.us テクノラティ・リンク検索結果 |



参考になる本があるかも


参考になりそうなものをGoogleで調べてみる

Google

ウェブ全体から検索
ココログ全体から検索

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/26616/2841205

この記事へのトラックバック一覧です: 玄箱でウィルスチェック(ClamAV + AmaVisD-new):

» 玄箱(KURO-BOX)を購入 [臨機応変? から]
 楽天アフィリエイトでもらった成果報酬があまっていました。しかも、この1月から2月は楽天市場のポンカンキャンペーンで「あがり」を達成しているため、2月までの楽天... 続きを読む

受信 2005/02/27 20:16:22

» 玄箱/postfix [KUROBOX Wiki (PukiWiki/TrackBack 0.3) から]
postfix http://kazz7.air-nifty.com/tekito/2005/02/clamav__amavisd.html http://www.unix-power.jp/linux/postfix-virus.html ▲ ▼Clam AntiVirus ClamAntiVirusはOpenAntiVirusプロジェクトのウィルス定義データベースを利用したフリーのソフトウェアです。 ...... 続きを読む

受信 2005/11/04 10:08:27

» 玄箱/AmaVisD-new [KUROBOX Wiki (PukiWiki/TrackBack 0.3) から]
postfix http://kazz7.air-nifty.com/tekito/2005/02/clamav__amavisd.html http://www.unix-power.jp/linux/postfix-virus.html ▲ ▼Clam AntiVirus ClamAntiVirusはOpenAntiVirusプロジェクトのウィルス定義データベースを利用したフリーのソフトウェアです。 ...... 続きを読む

受信 2005/11/04 10:35:32

» 玄箱/SpamAssassin [KUROBOX Wiki (PukiWiki/TrackBack 0.3) から]
postfix http://kazz7.air-nifty.com/tekito/2005/02/clamav__amavisd.html http://www.unix-power.jp/linux/postfix-virus.html ▲ ▼Clam AntiVirus ClamAntiVirusはOpenAntiVirusプロジェクトのウィルス定義データベースを利用したフリーのソフトウェアです。 ...... 続きを読む

受信 2005/11/04 10:36:34

コメント

ここにある情報を真似て玄箱にメールサーバを入れてみました。
一応うまく動いたのですが1つだけハマったことが。
ここのblogの仕様なのか普通に表示すると長い行は途中でカットされて表示されてしまって設定ファイルの内容をコピペしたらエラーでまくっちゃいました。
固定リンクで表示すると全部見えるようなのですが、これに気付くのに結構かかっちゃいました。
そこで、提案なのですが1行が長い設定があるときは複数行に分けてその旨を書くか、固定リンクから見るように指示があると便利かと思います。

投稿者: kazu (2005/07/09 0:54:13)

>kazuさん
こんばんは。
なるほど、そういう状況になりますか。ご指摘ありがとうございます。
自分自身エントリをみるときは、ほとんど固定リンクの画面で見ているので気づきませんでした。

他にも、ココログがバージョンアップした時に一部のエントリで改行位置がずれたりして、すごく見づらくなっているのは気になっているのですが……

少しずつ直していくようにします。では。

投稿者: kazz7 (2005/07/10 0:35:22)

コメントを書く







dellcampaign3_468x60


Apple Store(Japan)
blogランキング


あわせて読みたい