ちょっとダラダラとサボってる間に世の中はどんどん進化しているわけですよ.やれやれ.
taRgrey - S25R + tarpitting + greylisting (tarpit + greylist policy server)
日々わんさか送られてくる spam(迷惑メール).メールサーバが受け取る前に拒否できればいちばん良いんだけど,受け取る前に spam かどうかなんてわかるわけないじゃん?
でもまぁ spam の一般的な傾向ってものはあるわけで,そいつを捉えて可能な限り拒否る,って方向性なんだな.正確には「拒否る」のではなく「送信を諦めるのを待つ」みたいな.
まず S25R ってやつ.spam のほとんどは「真っ当に根を降ろしてないサーバ」,つまり,ドメイン名の逆引きが出来なかったり,動的に割り当てられて恒久性の薄いドメイン名を持つサーバ,から送られてくるという特性を利用して spam 判定する.
次に tarpitting.サーバがメールを受け取る時,まず相手から接続→はい接続 OK っす→相手の名乗り→OK→データ送る,という手順になるわけだが,この最初の「接続 OK っす」を返す前にちょっと相手をじらす.
この返答待ちは,サーバ作る人向けの規定で「5分は待て」と決められているので,真っ当なサーバはマダーしながら 5分は待ってくれる.が,spam 送信する人はできるだけ多くの相手にメールを送信したいわけで,あまり反応のトロいサーバはさっさと切っちゃう事が多いらしい.つまり,そこで切っちゃうサーバは spam を送ろうとしていたんだ,と考えられる.
最後に greylisting.tarpitting とよく似た話だが,真っ当なサーバがメール送信しようとして「今ちと受け取れないから後でまた送って」と言われたら,きちんと一定時間待ってから再送信してくる.が,spam を送りたい人は逆に「確実にある個人に送達する」必要はないため,一時的にでもダメだったら諦めて再送信しないことが多い.
そこで,こちらのサーバはまず試しに再送信してねーと返して受け取りを断っちゃう.で,後でまた再送信してきたら,熱意を認めて受け取ってあげる.再送信してこなかった奴が spam だというわけだ.
というわけで,これらのテクを順番に使って,「spam はできるだけ受け取りたくない」「でも spam じゃないものを間違えて受け取り拒否するのはイヤ」というのを何とかして実現しようというのが,この「taRgrey」なわけなんですね.やっとここまでたどりついたw
冒頭のリンクのページにフローチャートがあるが,うちで仕込んだ設定はこの「tarpit&greylistモード」の方.
まず S25R でチェックして,真っ当なサーバっぽかったらすぐに受け取る.そうでなかったら tarpitting でジャブかまして,それでも送ってくるようなら greylisting する.それらを全て乗り越えて送ってきたら熱意を認めて受け取る.
となると,本当は真っ当なサーバなのに S25R に引っかかってしまうサーバがある場合,tarpitting と greylisting を乗り越えないとメールを受け取ってもらえないという,けっこう面倒なことになるわけだが……さぁそういうサーバがどれくらいあるのか.レアケースである,とされているがどうか.
ちょっと数日間ログを監視して調べてみないとな.