2007年4月アーカイブ

SQLGreyのドキュメントで,Performanceをいう場合,メールを受信するまでの時間を意味しているようだ。
Greylist処理の場合,一時的にメール受信を拒否しているので,メールの受信に時間がかかることになる。あるいは,メールサーバによってはメールの再送をしないとか,Greylistと相性が悪いこともある。

その対策として,メールサーバをWhitelist(ホワイトリスト)に入れるとか,Discrimination(差別処理といえばよいのかな)を使えば良いのだが,まずは,どういうメールを受信できなかったのかを探る必要がある。
SQLGreyのツールで,sqlgrey-logstats.pl があるので,それを使ってみる。

$ cat /var/log/maillog* | sqlgrey-logstats.pl

greylistの考え方をまとめると,送信元のIPアドレスで受信するかどうかきめるということである。

(1) 送信元IPがホワイトリストにあるものは,受信
ホワイトリストは,以下の4つ。
- clients_fqdn_whitelist (配布物。編集しないように注意されている)
- clients_fqdn_whitelist.local (ユーザが設定する)
- clients_ip_whitelist (配布物。編集しないように注意されている)
- clients_ip_whitelist.local (ユーザが設定する)

(2) 送信元IPがホワイトリストに無いものは,受信を保留して,一定時間後に再送してきたら受信する。
sqlgreyでは,AWL(Auto White List)と呼んでいる。
(3) 再送してこないものは,spamなので切り捨てる。

(2)の処理で,sqlgreyの場合,チェックの仕方に工夫がされている。
sqlgrey.confのgreymethod というパラメータで,方式を変えることができる。

SQLGrey

| | コメント(0) | トラックバック(0)

FedoraCore6 で,Extrasに,sqlgreyがあるのに気づきました。FedoraCore5の時は,Postgreyを使っていたのですが,インストールの手間とか楽なので,sqlgreyを使うことにしました。

インストールの仕方は,FedoraCore6だと至って簡単。

# yum install sqlgrey

これで,Perlのライブラリとかも全部一式インストールされるので楽です。

あとは,Postfixで次の設定(main.cfファイル)をいれます。

# vi main.cf
...
smtpd_recipient_restrictions =
...
reject_unauth_destination
check_policy_service inet:127.0.0.1:2501
...


sqlgreyの設定はデフォルトのままでも最小限動作しますが,ワーニングログとかでないようにするため,最小限以下のファイルを作っておいた方がよいでしょう。

# touch /etc/sqlgrey/clients_fqdn_whitelist.local
# touch /etc/sqlgrey/clients_ip_whitelist.local

初期のホワイトリストとして,"*.co.jp"は入れておいても問題ないと思います。別の機会に説明したいと思いますが,nikkeibp.co.jp/nikkei.co.jpの無料メールは,greylist処理があると受信できなくなりますので,必ずホワイトリストに入れておく必要があります。

# echo '*.co.jp' >> /etc/sqlgrey/clients_fqdn_whitelist.local

あと,sqlgreyのデーモンを初期起動させるようにします。

# chkconfig sqlgrey on

sqlgrey単体の起動の仕方は,普通でデーモン起動と一緒です。

# /etc/init.d/sqlgrey start

sqlgreyは,SQLデータベースを使用しますが,デフォルトでは SQLiteを使用しており,SQLサーバへの設定は不要です。簡単に導入できて良いです。

Techonrati

Technorati search

� リンクしているブログ

アーカイブ