2009年10月8日木曜日

SpamAssassinの設定

前回はメールスキャナーであるamavised-newのインストール、設定方法を書きました。今日はamavised-newのインストールと同時にインストールされた、スパム対策のSpamAssassinの設定を書きます。

1.SpamAssassinはインストールされているため、SpamAssasinの起動の設定を行います。

1.1 SpamAssasinの起動
以下は全てrootユーザで行います
$/etc/rc.d/init.d/spamassassin start

1.2 SpamAssassinのOS起動時の自動起動設定
$chkconfig spamassassin on

2.SpamAssasinの設定ファイル作成
初期状態の設定ファイルでは、日本語のSPAMに対応していないので、大変有名なTLECさんでメンテナンスしているSpamAssassinのユーザー定義ファイルをダウンロードし、セットします。

2.1 TLECさんのユーザー定義ファイルをダウンロード、セットするシェルスクリプトを準備します。
$vi /etc/cron.daily/spamassassin-update
#!/bin/bash
# TLEC(http://tlec.linux.or.jp/)よりSpamAssassin設定ファイル最新版ダウンロードcd /etc/mail/spamassassin
wget -qN http://tlec.linux.or.jp/docs/user_prefs
cp user_prefs local.cf
# スパム判断したメールを添付形式にしないように設定
echo "report_safe 0" >> local.cf
#baysフィルタ関連の設定をファイルへ追記
echo "bayes_path /etc/mail/spamassassin/bayes/bayes" >> local.cf
echo "bayes_file_mode 0666" >> local.cf
echo "auto_whitelist_path /etc/mail/spamassassin/bayes/auto-whitelist" >> local.cf
echo "auto_whitelist_file_mode 0666" >> local.cf
# SpamAssassin再起動
/etc/rc.d/init.d/spamassassin restart > /dev/null

2.2 シェルスクリプトに実行権限を付加
$chmod +x spamassassin-update

2.3 シェルスクリプトを実行
$./spamassassin-update
/etc/mail/spamassassin/local.cf が作成され、実行した時間とタイムスタンプが合っていれば、正常に動作しています。

2.4 1日1回最新の設定ファイルを取得できるようcronへ設定します。
$mv spamassassin-update /etc/cron.daily/

3.Postfixの設定

3.1 /etc/postfix/main.cf の一番下に以下を追記します。
content_filter=smtp-amavis:[127.0.0.1]:10024
フィルターはamavisを利用し、amavisdはpostfixと同じマシンで10024ポートで動作しているという意味です。

3.2次に以下を /etc/postfix/master.cfの一番下に追記します。
postfixのmain.cfで設定された処理をより詳細(柔軟?)にプログラム、サービスを定義している感じだと思います(ここはなんとなく雰囲気です)
フィルタ処理の設定
smtp-amavis unix - - n - 10 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_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks_style=host
-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 smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks

4.postfixの再起動
/etc/rc.d/init.d/postfix restart

追記
Spamassassinがバージョンアップされ 3.3系では以下を実行しないとサービスの起動がNGになります。注意してください。
http://khigasblog.blogspot.com/2010/03/spamassassin-33.html

#以上でウィルス、スパム対策を行ったメールシステム構築はとりあえず終了です。
残りの宿題としては、
・Submission Portへの対応
・SpamAssassinルール自動更新cron設定 sa-updateのテストと運用
などを予定しています。

0 件のコメント:

コメントを投稿

What A Wonderful World - ルイ・アームストロング  名曲です。

  きょうは、ルイ・アームストロングの「What A Wonderful World 」です。  コロナ禍時こそ、この歌を聞きたくなりました。  なんて、素晴らしい世界なんだー!   素晴らしい世界は身近なことにあることを教えてくれる曲です。  この曲を知ったきっかけは、予備校時...