本当は、お金かけると良い製品やサービスがあるんだけどね。
序論
企業や組織のメールサーバで spam 対策をしようと思うと、False Positive(誤検知)をどうするか、が重要。24 時間、管理体制が取れるような大企業や、アウトソーシングしてしまっているようなところだと、「こんなメールが届いているはずだけど、どうなってるんだ! 急いでいるんだ!」となっても大丈夫だろうけど、地方の中小企業ではそうはいかない。なので、可能な限り、誤検知は避けたい。
False Positive 対策として、ISP の spam 対策サービスで行われている「留め置き」の処理が理想。なんかおかしいな、と思ったら、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。
で、組み合わせれば...
- S25R や DNSBL は、常に False Positive の危険と隣り合わせ。
- Greylisting ではメールの遅延が問題。
と思っていたら、
- だったら、S25R や DNSBL に引っかかる時だけ、Greylisting してしまえば。
という話があって、なるほど、と。これなら、
- まっとうなメールは遅延が発生しない。
- S25R や DNSBL に引っかかっても、Greylisting なら再送で救われて、False Positive になるのを防げる。
となり、管理の手間も少ない。
ということで、実践に移る話は次回へ。