Milter を使った資産を利用出来るように、Postfix でも Milter をサポートしています。
そこで、Postfix + Milter でスパム対策ができないか検証してみたいと思います。
インストール (Ubuntu 10.04)
APT リポジトリを追加します。
私が試した段階では、Ubuntu 10.04 用には、開発版しか用意されていなかったので、
開発版のリポジトリを有効にしておきます。
$ sudo -i
# cat >/etc/apt/sources.list.d/milter-manager.list <<EOF
# deb http://milter-manager.sourceforge.net/ubuntu/stable/ lucid universe
# deb-src http://milter-manager.sourceforge.net/ubuntu/stable/ lucid universe
deb http://milter-manager.sourceforge.net/ubuntu/development/ lucid universe
deb-src http://milter-manager.sourceforge.net/ubuntu/development/ lucid universe
EOF
# exit
公開鍵を登録します。
$ gpg --keyserver hkp://subkeys.pgp.net --recv-keys 1C837F31
$ gpg --export 1C837F31 | sudo apt-key add -
milter-manager をインストールします。
$ sudo apt-get update
$ sudo apt-get install milter-manager
Postfix をインストールします。
$ sudo apt-get install postfix
milter-greylist をインストールします。
$ sudo apt-get install milter-greylist
設定 (milter-greylist)
$ sudo vi /etc/milter-greylist/greylist.conf
変更点 ----
# ホワイトリストに含まれないものは、greylist する。
racl greylist default
# 送信元の MTA が複数ある場合に対応するため /24 の範囲で検査する
subnetmatch /24
# 再送を受け入れる時間を 30m から 10m へ短くする
greylist 10m
# オートホワイトリストの期間を 1日から 1週間に長くする
autowhite 1w
----
milter-greylist の起動スクリプトを設定します。
ソケットファイルを作成するグループを Postfix に変更するのが難しそうなので、TCP でソケットを作成することとします。
$ sudo vi /etc/default/milter-greylist
$ egrep -v '^#|^$' /etc/default/milter-greylist
ENABLED=1
SOCKET="inet:11125@[127.0.0.1]"
milter-greylist を起動します。
$ sudo service milter-greylist restart
接続テストを実施します。(-v オプションで詳細表示になります。)
$ sudo -u postfix milter-test-server -s inet:11125@127.0.0.1
status: temporary-failure
elapsed-time: 0.00522216 seconds
設定 (milter manager)
milter manager の設定を確認するには、以下のコマンドを実行します。
$ milter-manager --show-config
$ milter-manager --show-config | egrep 'define_milter|milter.connection_spec|milter.enabled'
define_milter("milter-greylist") do |milter|
milter.connection_spec = "inet:11125@[127.0.0.1]"
milter.enabled = true
接続するソケットの設定と milter.enabled = true を確認します。
設定を変更したい場合は、/etc/milter-manager/milter-manager.local.conf を作成して、設定を記述します。
「amavisd-milter と clamav でウイルス検査を試してみる」の例を参考にしてください。
milter manager の起動スクリプトを設定します。
$ sudo vi /etc/default/milter-manager
$ egrep -v '^#|^$' /etc/default/milter-manager
USER=postfix
GROUP=postfix
SOCKET_GROUP=postfix
CONNECTION_SPEC=unix:/var/spool/postfix/private/milter-manager.sock
milter-manager を起動します。
$ sudo service milter-manager restart
接続テストを実施します。(-v オプションで詳細表示になります。)
$ sudo -u postfix milter-test-server -s unix:/var/spool/postfix/private/milter-manager.sock
status: accept
elapsed-time: 0.0451655 seconds
設定 (Postfix)
Postfix から、milter manager を利用する設定をする。
$ sudo vi /etc/postfix/main.cf
$ perl -ne 'print if (/^# for milter manager/ .. /^\s/);' /etc/postfix/main.cf
# for milter manager
milter_protocol = 6
milter_default_action = tempfail
milter_mail_macros = {auth_author} {auth_type} {auth_authen}
smtpd_milters = unix:/private/milter-manager.sock
Postfix を再起動する。
$ sudo service postfix reload
確認
ログの確認をする。
$ less /var/log/mail.info
参考
- SourceForge.net: milter manager: milter-manager-users-ja
- milterを使った効果的な迷惑メール対策 - milter manager
- プラットフォーム毎のmilter managerのインストール方法 - milter manager (dev)
- プラットフォーム毎のmilter managerの更新方法 - milter manager (dev)
- 設定 - milter manager (dev)
- Postfix before-queue Milterサポート
- milter-greylistでS25R + greylisting - milter managerで迷惑メール対策(2009-05-03)
- PPA for Jun Kobayashi : Jun Kobayashi
- 阻止率99%のスパム対策方式の研究報告 | スパム対策技術
- milter-greylist だとこんな感じ - JULYの日記
- Welcome to the milter-greylist wiki - milter-greylist
- milter-greylist: Generic Notes
- milter-manager : Debian : milter-greylist 設定と起動。 - hdknr's posterous
- milter-greylist installation notes
0 件のコメント:
コメントを投稿