本当は、お金かけると良い製品やサービスがあるんだけどね。

序論

企業や組織のメールサーバで spam 対策をしようと思うと、False Positive(誤検知)をどうするか、が重要。24 時間、管理体制が取れるような大企業や、アウトソーシングしてしまっているようなところだと、「こんなメールが届いているはずだけど、どうなってるんだ! 急いでいるんだ!」となっても大丈夫だろうけど、地方の中小企業ではそうはいかない。なので、可能な限り、誤検知は避けたい。

False Positive 対策として、ISPspam 対策サービスで行われている「留め置き」の処理が理想。なんかおかしいな、と思ったら、spam 扱いされたメールを自分で確認して、間違って spam 扱いされていたら、自分で再配送する。だけど、貧乏会社にはそういった製品を入れる余裕などない。社長が「なんとかならんか! でも金は無い」って言うんだよなぁ...

で、Greylisting

通常のメールサーバから送られたメールであれば、SMTP のレベルで一時エラーになった場合、一定時間の間を置いて、再配送してくる。逆に、近頃の spamボットネットを使って、普通のクライアント PC からダイレクトに送り先のメールサーバへ接続してくるものが多い。日本国内の ISP で実施された OP25B は、まさに、このタイプの spam 送信をブロックしようとしたもの。ISP のメールサーバ経由からしかメールが送られないのなら、送信者アドレスに勝手なドメイン名を使うのを抑止できたり、流量の制限をかけたりできる。

Greylisting は「まっとうなメールサーバなら再送する」というところに着目して、わざと一時エラーを起こす、というものなんだけど、こうすると、相手のメールサーバが再送してくるまでメールが届かない、ということになる。仕事で「今メール送ったんだけど、この2つめの項目の書き方って...」という電話は珍しくない。

False Positive がほとんど無いのは良いのだが、メールが遅延するのは、仕事で使うのにはちょっと困る。

で、S25R

本家のサイト(http://www.gabacho-net.jp/anti-spam/paper.html)には、誇らしげに「阻止率99%*1」などと書かれているが、IP アドレスの逆引きの結果で「怪しい FQDN ならブロック」というのが、原理的に考えて、False Positive の可能性が高い。それを回避するためにホワイトリストを用意して、などといっても、そのホワイトリストをメンテナンスするのが面倒だし、それこそ、休みの日や深夜に大事なお客さんからの急ぎのメールがブロックされたら大変。

で、DNSBL

これも、False Positive に話には事欠かない。ただ、False Positive にされるものの傾向はちょっと違う。S25R が、ホスティングのサービスを使っているような、中小企業からのメールが引っかかりやすい*2のに比べ、DNSBL の場合はニュースレターなど、もともと大量にメールを送信するものが引っかかりやすい*3

で、組み合わせれば...

  • S25RDNSBL は、常に False Positive の危険と隣り合わせ。
  • Greylisting ではメールの遅延が問題。

と思っていたら、

という話があって、なるほど、と。これなら、

  • まっとうなメールは遅延が発生しない。
  • S25RDNSBL に引っかかっても、Greylisting なら再送で救われて、False Positive になるのを防げる。

となり、管理の手間も少ない。

ということで、実践に移る話は次回へ。

*1:実は、実際に試験中なのだが、S25R だけで防げているのは 90% 強。99% は大げさでしょう。

*2:実際に引っかかった。

*3:最近、ライフマイルからのメールが spamhaus に登録されていたのを発見した。ライフマイル側にその旨と、「SPF レコード書いておいた方が良いんじゃない?」という話を書いて連絡済み。受け付けましたの返事は届いたけど、その後、どうなったかは未確認。