倉金家ホームページ趣味の部屋/サーバー構築メモ/メールサーバー
| ||||||
amavisd動かなくなるいつもやっていることでsynapticでアップデートを実施。perlのアップデートがあった。
アップデートそのものは問題なく完了。念のため再起動。 いつもは緑の[OK]がづらづら並ぶが一個[FAILED]が... 何かと見るとamavisdが起動に失敗!!!。 やばいと思って再度再起動してみたが結果は同じ。 試しにメールの送受信を行ってみたがやはり送受信はできず、メールは消えてしまう。 夜も遅かったのでとりあえずpostfixのmain.cfとmaster.cfからamavisdの設定を外して再起動。ウイルスチェックはやらないがメールの送受信はできる状態にしておいて、寝た。 次の日、いろいろいじってみたがどうしても起動できず。 moduleが足りないとかなんたらかんたら言っている。原因わからず。 12月はとにかく忙しいので、もうそのまま。最近ウィルスメールが来たこともないし... | ||||||
ウイルスチェッカー取り外し/etc/postfix/main.cf から
content_filter = smtp-amavis:[127.0.0.1]:10024 の行を取り除きます。 またmaster.cfから Amavis Virus Scanner Setting の部分を取り除きます。 (実際はまた同じようなことを書くかもしれないので#でコメントアウトしただけ。) #service postfix reload でウイルスチェックなしでpostfixを起動させておきます。 | ||||||
消えたメールの復活amavis-newが起動しなくなったため、amavis-newでウイルスチェックするはずだったメールがチェック待ちでひっかかっていました。消えたわけではなかった。よかった!。
#postsuper -r ALL これでamavis-newへのcontent_filter情報を取り除いてウイルスチェックなしで再配送します。 | ||||||
調べてみるとどうやらperlのアップデートでamavisdが動かなくなってしまったようです。
amavisはやめて同様のソフトのclamsmtpを使うことにします。 | ||||||
clamsmtpインストールhttp://cmf.ohtanz.com/clamav.html
http://www.nk2.org/d/postfix.html あたりを参考にさせていただきました。 ソースファイルの入手先 http://www.inet.lt/clamsmtp/ http://memberwebs.com/stef/software/clamsmtp/ 今回 http://www.inet.lt/clamsmtp/ より clamsmtp-1.9-1.src.rpm をダウンロードしました。 ダウンロードしたファイルをrpm/SRPMSに置いてソースをインストールします。 $cd rpm/SRPMS $rpm -ivh clamsmtp-1.9-1.src.rpm 引き続きRebuild $cd ../SPECS $rpmbuild -ba clamsmtp.spec 1分ほどでコンパイル完了。 rpm/RPMS/i386/clamsmtp-1.9-1.i386.rpm ができました。 #rpm -ivh clamsmtp-1.9-1.rpm これも一瞬で完了です。 | ||||||
amavis-newアンインストールもういらなくなったamavis-newはアンインストールします。
インストールに使用したソースのディレクトリで #amavisd_install.sh del もしソースを捨ててしまっていたら、amavisd_install.shには次のように書いてありますので、これを手動で実行すればいいわけです。 if [ "$1" = "del" ] ; then rm -f /usr/sbin/amavisd && echo "OK: rm -f /usr/sbin/amavisd" rm -f /etc/amavisd.conf && echo "OK: rm -f /etc/amavisd.conf" rm -f /etc/rc.d/init.d/amavisd && echo "OK: rm -f /etc/rc.d/init.d/amavisd" rm -f /var/amavis/notify_virus_admin.txt && echo "OK: rm -f /var/amavis/notify_virus_admin.txt" rm -f /var/amavis/notify_virus_recips.txt && echo "OK: rm -f /var/amavis/notify_virus_recips.txt" rm -f /var/amavis/notify_virus_sender.txt && echo "OK: rm -f /var/amavis/notify_virus_sender.txt" fi | ||||||
clamsmtp+postfix設定/etc/clamsmtpd.conf を設定します。
変えたところ OutAddress: 127.0.0.1:10026 Listen: 127.0.0.1:10025 ClamAddress: /var/run/clamav/clamd Header: X-Virus-Scanned: Clamav using ClamSMTP TempDirectory: /var/tmp/clamsmtp Quarantine: on User: clamav VirusAction: /usr/local/bin/virusalert.sh ClamAddressの/var/run/clamavディレクトリを作成しUser clamavの書込権限を与えておきます。clamsmtpdはここにソケットとpidファイルをつくります。 ウィルスメールを隔離するためのディレクトリ /var/tmp/clamsmtp をつくり、clamavに書込権限を与えておきます。 /usr/local/bin/virusalert.sh をつくり、以下を書き込んで実行許可を与えておきます。 上記参考サイトのを参考にさせていただきました。 #! /bin/sh # This is virus alert message of clamsmtp FROM="Clam AntiVirus TO="virusalert" MAILER="/usr/sbin/sendmail -it" SUBJECT=`/bin/echo "ウィルスが検出されました" | /usr/bin/nkf -jMB` $MAILER <<EOM From: $FROM To: $TO Subject: =?ISO-2022-JP?B?$SUBJECT?= A virus ($VIRUS) was found. The mail has been quarantined as: $EMAIL [From]: $SENDER [To]: $RECIPIENTS EOM exit 0 /etc/postfix/aliases に警告メールを受ける管理者を定義しておきます。 virusalert: xxxxx@xxxxx.xxx /etc/postfix/main.conf に #ClamSMTP Virus Scannerの設定 content_filter = virus-scan:127.0.0.1:10025 /etc/postfix/master.conf に # postfixからclamsmtpへ virus-scan unix - - n - 16 smtp -o smtp_send_xforward_command=yes -o smtp_data_done_timeout=1200 -o disable_dns_lookups=yes #clamsmtpよりpostfixへ 127.0.0.1:10026 inet n - n - 16 smtpd -o content_filter= -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_helo_restrictions= -o smtpd_client_restrictions= -o smtpd_sender_restrictions= -o mynetworks=127.0.0.0/8 -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_authorized_xforward_hosts=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 amavis-newの設定にclamsmtpの設定を追加したので余計なのもあるかもしれません。 | ||||||
確認postfixをreloadして設定を反映させ、amavis-newのときと同じようにテストウイルスを送ってみます。
メールは送られず、管理者(aliasesで定義したvirusalert)宛以下のような警告メールがきます。 [件名]: ウィルスが検出されました A virus (Eicar-Test-Signature) was found. The mail has been quarantined as: /var/tmp/clamsmtp/virus.xxxx [From]: xxxx@xxxx.xx [To]: xxxx@xxxx.xx ...OKです。 | ||||||