[ サーバ構築 | FreeBSDトップ | TIPS ]


SpamAssassin 設定

daemon


Introduction


sendmail + SpamAssassin + ClamAV によるメイルサーバ構築のメモ
以前、SpamAssassin を導入した時は(多分設定の問題だと思うが) メイルの受信環境がボロボロになってしまい 復旧に時間がかかったので暫く敬遠していたが、 Web Site を公開しているせいか UCE があまりにも酷いので 再度 SpamAssassin の導入に挑戦してみた。

機能


今回設定した機能を以下に示す。
  • RBL(Realtime Blackhole List) による DNSBL の参照によるUCE拒否
  • SpamAssassin によるベイジアンフィルタを利用した UCE判定
  • ClamAV によるウィルスの撃退

ソフトウェアの導入


ports から以下のソフトウェアを導入する
  • /usr/ports/mail/p5-Mail-SpamAssassin
  • /usr/ports/mail/spamass-milter
  • /usr/ports/mail/p5-Mail-ClamAV

sendmail の設定


sendmail で SpamAssassin と ClamAV を利用するために以下の設定を追加する。
同時に all.rbl.jp list.dsbl.orgsbl-xbl.spamhaus.org という3個所の RBL を参照する設定も追加する。

dnl DNS base RBL
FEATURE(dnsbl,`all.rbl.jp')dnl
FEATURE(dnsbl,`list.dsbl.org')dnl
FEATURE(dnsbl,`sbl-xbl.spamhaus.org')dnl

dnl SpamAssassin Milter
INPUT_MAIL_FILTER(`spamassassin',`S=local:/var/run/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m')dnl

dnl ClamAV Milter
INPUT_MAIL_FILTER(`clmilter', `S=local:/var/run/clamav/clmilter.sock, F=, T=S:4m;R:4m')dnl

以下の設定を /etc/mail/freebsd.mc に追加して make (1) を実行すると FQDN.cfFQDN.submit.cf が作成されるので、それぞれを sendmail.cfsubmit.cf と 名称変更して sendmail (8) を再起動する。

自動実行の設定


起動時に自動で実行される様に rc.conf に以下の設定を追加する。
spamd はオプションで指定しない場合は nobody ユーザとして動作するが、 nobody ユーザのログインディレクトリが /nonexistent のため、 実行時に

auto-whitelist: open of auto-whitelist file failed: locker: safe_lock: cannot create tmp lockfile /nonexistent/.spamassassin/auto-whitelist.lock.サーバ名.PID for /nonexistent/.spamassassin/auto-whitelist.lock: No such file or directory

というエラーが /var/log/maillog に表示される場合がある。
その場合は /etc/rc.conf spamd の実行オプションに -u spamd を追加して、 実行ユーザを明示的に指定する事によりエラーが表示されなくなる

spamass_milter_enable="YES" spamd milter を有効にする
spamd_enable="YES" spamd を有効にする
spamd_flags="-u spamd" spamd を有効にする
clamav_clamd_enable="YES" ClamAV を有効にする
clamav_milter_enable="YES" ClamAV milter を有効にする
clamav_freshclam_enable="YES" fresh clam を有効にする

運用


freshclam を実行しているのでパターンファイルは最新の物が 自動でダウンロードさせれるが、 ClamAV のソフトウェアが更新された場合は以下のコマンドで ClamAV の最新版を導入する。

# cd /usr/ports/security/clamav
# make WITH_MILTER=yes
# make deinstall
# make WITH_MILTER=yes install clean
# /usr/local/etc/rc.d/clamav-clamd.sh restart
# /usr/local/etc/rc.d/clamav-freshclam.sh restart
# /usr/local/etc/rc.d/clamav-milter.sh restart



Last Update: Nov. 26 2007 Copyright © Mitzyuki IMAIZUMI 2007 All Rights Reserved,