>>
To Be Continue
|
Server By FreeBSD
Mail Server |
sendmail + SpamAssassin + ClamAV によるメイルサーバを構築する
以前、SpamAssassin を導入した時は(多分設定の問題だと思うが) メイルの受信環境がボロボロになってしまい 復旧に時間がかかったので暫く敬遠していたが、 Web Site を公開しているせいか UCE があまりにも酷いので 再度 SpamAssassin を導入してみる。
同時に all.rbl.jp 、list.dsbl.org、 sbl-xbl.spamhaus.org という3個所の RBL を参照する設定も追加する。
以下の設定を /etc/mail/freebsd.mc に追加して make (1) を実行すると FQDN.cf と FQDN.submit.cf が作成されるので、それぞれを sendmail.cf、submit.cf と 名称変更して sendmail (8) を再起動する。
spamd はオプションで指定しない場合は nobody ユーザとして動作するが、 nobody ユーザのログインディレクトリが /nonexistent のため、 実行時に以下のエラーが /var/log/maillog に表示される場合がある。
その場合は /etc/rc.conf の spamd の実行オプションに -u spamd を追加して、 実行ユーザを明示的に指定する事によりエラーが表示されなくなる
以前、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.org、 sbl-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.cf と FQDN.submit.cf が作成されるので、それぞれを sendmail.cf、submit.cf と 名称変更して sendmail (8) を再起動する。
自動実行の設定
起動時に自動で実行される様に /etc/rc.conf に以下の設定を追加する。spamd はオプションで指定しない場合は nobody ユーザとして動作するが、 nobody ユーザのログインディレクトリが /nonexistent のため、 実行時に以下のエラーが /var/log/maillog に表示される場合がある。
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
その場合は /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
ClamAV-0.93.1 から clamd のソケットファイルの
デフォルト値が /var/run/clamav/clamd から
/var/run/clamav/clamd.sock に変更になった様なので
/etc/rc.conf 内に以下の設定を追加する。
clamav_clamd_socket="/var/run/clamav/clamd"
Copyright © 2007-2010 Mitzyuki IMAIZUMI,
All Rights Reserved.
Last Update: 4 Feb. 2010