土曜日, 11月 24, 2007

偽陽性判定の見つけ方の説明を修正

 拒絶ログソーティングスクリプトのページの「活用法」の節で、「連続して表示されたアクセスが次のすべての条件を満たすならば、クライアントはおそらく、ホワイトリストに登録すべき正当なメールサーバです」と説明しているが、その条件の説明を修正した。

●再試行間隔が1分以上、4時間以下である。(ただし、一人の送信者が一人の受信者に複数のメッセージを送信したならば、見かけ上の再試行間隔が短くなることがあります。)
●送信者アドレスのドメイン名が実在する。
●受信者アドレスが正しい。

これに

●再試行が30分以上続いている。

という条件を加えた。今までの経験から、スパムアクセスが25分以上リトライすることはまれであることがわかっており、また、正当なメールアクセスが30分未満で止まったのを見つけたことはないからである。
 一方、

●HELOアドレスがFQDNであり、それの順引きがクライアントIPアドレスに一致する。(ただし、正当だけれどもHELOアドレスの設定が不備なメールサーバがあるかもしれません。)
●クライアントにSMTPアクセスすると、PostfixやsendmailなどのMTA(Mail Transfer Agent)が応答する。(ただし、この条件を満たさない正当なメール送信サーバがあります。)

という記述は削除した。私自身、ホワイトリスト登録の際にHELOアドレスの順引き検査とSMTPアクセスの試験はしていないからである。HELOアドレスは、受信側のドメインまたはIPアドレスを名乗るという違法なものでない限り、不備なものだからといって送信元が不正だとは断定できない。また、送信元がSMTPアクセスに応答しないからといって、送信専用サーバからと思われるアクセスを受け入れないわけにはいかない。
 リトライが1分以上の間隔で30分以上続いていたら、送信元はボットでなくメールサーバだと思ってほぼ間違いない。もっとも、受信するメールがメールサーバを経由したスパムであることはあるけれども。

失礼な受信拒否

 私が運用しているメーリングリストの配信メールがスパム判定されて受信拒否された。受信者アドレスのユーザー名とメーリングリスト名は伏せるが、ドメイン名は暴露する。インドの会社である。

<***@edkal.com> (expanded from <***-outgoing>): host
    mail.edkal.com[202.71.131.52] said: 550 Rejected. Classified as
    ****SPAM**** (in reply to end of DATA command)

 「550」による拒否にムカッときた。配信しようとしたメールは、日本語で書かれた会合案内で、スパム判定される理由がまったくわからないものである。おそらく、ベイジアンフィルタのたぐいか、あるいはさらにそれに何らかの条件を組み合わせた複雑な計算をしていて、“スパムらしさ”の点数が誤って閾値を超えたのだろう。
 スパム判定された理由がわからないから、どこをどう直せば受信してもらえるのかわからない。こんな失礼な受信拒否をすれば、顧客を怒らせる危険もあるだろう。まだしも、「IPアドレスで書かれたURLは(不正メールに多いため)受け付けられません」などのような明確な理由を示した受信拒否の方がましである。

月曜日, 11月 19, 2007

GAWK 3.1.4でスクリプトの表示がおかしくなる

 BBSで、拒絶ログソーティングスクリプトの表示がおかしくなるという申告をいただいた。GAWKのバージョンは3.1.4で、クライアントのFQDNとIPアドレスが表示されないことがあるとのこと。
 私は今までGAWK 3.1.0を使っていて、何も問題なかった。3.1.4をインストールしてみたら、確かに所々でFQDNとIPアドレスが表示されなくなる。どういう場合にそうなるかの規則性はつかめなかった。問題を起こしているのは

client=substr($0, match($0, /from [^]]+\]/)+5, RLENGTH-5)

という式の中のmatch関数らしい。その人は

client=substr($0, match($0, /from .+\]: /)+5, RLENGTH-7)

と書き直して回避したとのこと。
 しかし、3.1.5にバージョンアップしたら問題は起こらなかった。3.1.4特有のバグと思われる。こんな簡単な正規表現で発現するバグとはお粗末ではないかと思うが。
 なお、最新版は3.1.6だが、私の環境ではなぜかmakeでエラーになってインストールできなかった。

土曜日, 11月 03, 2007

l.root-servers.netのIPアドレスが変わった

 11月1日からl.root-servers.netのIPアドレスが198.32.64.12から199.7.83.42に変わったそうです。旧のIPアドレスも6ヶ月は有効ですが、その後退役します。ルートキャッシュファイルを入れ替えてください。

http://blog.icann.org/?p=227

# スパム対策の話じゃないけど、情報のサービス。