Contents
1. spam 判定に helo 情報の検査を
helo コマンドのパラメタを調べることで、 簡単に spam 判定できるものがあります。
- ネットワークに負荷がかかり、内容も信頼できないDNS 逆引きをやめて、helo/ehlo 検査を試しませんか。
- 疑わしい場合には、保留返答をして、再送を待ちます。
- DNS 正引/逆引きを併用することも可能です。
1.1. helo か ehlo か
RFC 2821 では helo にかえて ehlo を使うことが推奨されています。
- 最初に helo を送ってくるものは spam の可能性が高いと言えます。
いまだにheloを使っているサーバ (注: qmail は helo を使っています。)
1.2. SMTP helo/ehlo コマンドパラメタによる判定
クライアントは helo/ehlo のパラメタには FQDN を名乗ることになっています。
- こちらの IP アドレスやドメイン名を名乗るものは spam 確定です。
- エラー返答(5xx)しましょう。ただちに切断するのも効果的です。
- helo パラメタが FQDN でないものは RFC に従っていません。
- 保留返答してみます。(多くは再送してきません。) ピリオドをひとつも含まない名前(ホスト名だけ)や、 最後にだけピリオドをもつ名前 を送ってくるメイルサーバはまともとはいえません。 多くは spam です。 RFC に従わない形の IP アドレスも同様です。
- 動的割りあて IP アドレスらしき名前のものは spam の可能性が大です。
- 保留返答して再送してくるか試します。(逆引きするまでもないでしょう。)
- もっともらしい名前を生成してくるものもあります。
- 動的割りあてであることを隠したいのかもしれません。 逆ひきにより判定できますが、正引きで確認する方が負荷が小さいようです。
- 再接続時に最初の helo と異なる名前を返すものは spam です。
- 有名なドメイン名(ホスト名なし)が使われている時は spam 確定です。 これらのドメインの本当のメイル送信サーバは きちんとした FQDN を名乗ります。(spf を確認してみてください。)
1.3. helo で spam 判別してよいか
SMTP helo/ehlo コマンドのパラメタで受信拒否すること
helo パラメタの設定不良を理由に拒否しないようにという RFC 規定は helo パラメタがまともに設定できないサイトが多かった過去の 歴史的(時代錯誤)な規定です。/パラメタで受信拒否する(RFC2821 4.1.4 節)
とはいえ、受信拒否よりも再送要求の方がおだやかな返事です。
やりとりされるメイルの 95% が spam であるという話もあります。
1.4. メイルサーバの管理者へ
spam を疑われないために helo パラメタをきちんと設定しましょう。