Postfix+amavisd+f-protを入れてみた
自宅ではFUJITSU LOOXS5/53W+Vine3.2でメールサーバを建ています。アンチウィルスソフトとしてAVIRA社のAntiVir Mailgate for Linuxを利用していましたが、昨年末あたりから個人利用ができなくなるとアナウンスがあった模様で、急遽(今更?)乗り換えを検討していました。
そこで、パソコンおやじさんのところでAmavisd-new + F-Protが紹介されていたので、こちらに入れ替えてみました。また、他の参考サイトとしてメールサーバ(Postfix)上でのウィルスチェックシステムの構築があります。
まずは、PostfixとAntiVir Mailgateの停止から。
# service postfix stop # service avgate stop
早速、F-Protのインストールですが、パソコンおやじさんのところのまま、ということで割愛。
続いて、amavisd-newのインストール。今回はMOXさんで配布されているamavisd-newの警告メールを日本語化したものを使用しました。手順は、ざっと以下のような感じ。
# wget http://marijuana.ddo.jp/download/amavisd-new-2.4.1-JP.tgz # tar zxf amavisd-new-2.4.1-JP.tgz # cd amavisd-new-2.4.1-JP/ # groupadd clamav # useradd -g clamav -s /sbin/nologin clamav # sh ./amavisd_install.sh perl # sh ./amavisd_install.sh install #
で、設定ファイルである/etc/amavisd.confを編集するわけですが、日本語版amavisd-newの対象としているアンチウィルスソフトがClamAVしか想定していません。このため、オリジナルのamavisd-newのamavisd.confから
- @av_scanners
- @av_scanners_backup
を丸ごとコピーしてきました。その他の変更箇所は、$mydomainだけです。
$mydomain = 'some.domain.com';(あくまで例です)
Postfix側の設定ですが、main.conf、master.confを編集。
main.confは以下の通り。
###################### # for AntiVir # 2006/05/23 commented out ###################### #content_filter = smtp:127.0.0.1:10024 ###################### # for amavisd # 2006/05/23 added ###################### content_filter = smtp-amavis:[127.0.0.1]:10024 max_use=10
master.confは以下の通り。うちではSMTP-AUTHを使っているので、smtpd_recipient_restrictionsのオプションがパソコンおやじさんのところと違います。
###################### # for AntiVir # 2006/05/23 commented out ###################### #localhost:smtp-backdoor inet n - n - - smtpd -o content_filter= ###################### # for amavis # 2006/05/23 added ###################### 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=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
ウィルスメールが検知された場合のaliasを/etc/aliasesに追加。
virusalert: root spamalert: root
newaliasesの実行は当然必須。
# newaliases #
これでPostfix、amavisdを起動。
# service amavisd start # service postfix start # netstat -tnl # netstat -tln Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State : tcp 0 0 127.0.0.1:10024 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:10025 0.0.0.0:* LISTEN #
あとは実際にこちらにあるウィルスパターンサンプルで動作を確認しました。すると、root宛に以下のようなメールが届きます。
From: "Content-filter at some.domain.com" <virusalert@some.domain.com> Subject: ウィルス警告 (EICAR_Test_File) 送信者 LOCAL[nnn.nnn.nnn.nnn] <?@[nnn.nnn.nnn.nnn]> To: <virusalert@some.domain.com> This is a multi-part message in MIME format... ------------=_1148355601-15098-0 Content-Type: text/plain; charset="iso-2022-jp" Content-Disposition: inline このメールは以下の理由により削除されました。 次ぎのウィルスが見つかりました: EICAR_Test_File ウィルスを検知したソフト: FRISK F-Prot Antivirus このメールを送信したアドレス(偽られてる場合があります): <?@[nnn.nnn.nnn.nnn]> First upstream SMTP client IP address: [nnn.nnn.nnn.nnn] 追跡した、送信アドレス: [nnn.nnn.nnn.nnn] scinfaxi (unknown [nnn.nnn.nnn.nnn]) Notification to sender will not be mailed. このメールは次ぎのアドレスに送信されませんでした: <user@some.domain.com>: 250 2.7.1 Ok, discarded, id=15098-01 - VIRUS: EICAR_Test_File ウィルスを検知したソフトの出力: Virus scanning report - 23 May 2006 @ 12:40 F-PROT ANTIVIRUS Program version: 4.6.6 Engine version: 3.16.14 :