水曜日, 12月 13, 2006

逆引き論争

 reject_unknown_clientはスパム対策として有害だという主張がある。そのとおり。ログも確認せず、逆引きできない送信元ホストを蹴りっぱなしにする運用は有害である。しかし、ログを見て、逆引きできないホストからのリトライアクセスを見つけてホワイトリストで救済するならば、reject_unknown_clientは有害ではない。
 対して仙石さんは、「(送信元の)素性を調べる手段としてDNS逆引きは、ある程度の合理性を持つ」と主張しておられる。まったく同感である。ただ…
 「逆に言うと、弊害をきちんと理解していれば、DNS逆引きの結果を迷惑メール判定に用いることは受信側の判断だろう。DNS逆引きができないホストからメールを送らざるを得ないサイトにとっては釈然としないところもあるとは思うが、受け取らない権利があるのもインターネットである。」――いや、受信側は、正当なメールを受信するために最善の努力をすべきである(「逆引きできないホストからの正当なメールを受け取らないのも受信側のポリシーとして認められる」という解釈は仙石さんの本意ではないと信じるが)。
 「「まともに管理されているホストに逆引きがないというのもふつうに存在する」のは事実だと思うが、「まともに管理している」ということを通信相手に伝える努力はすべきではないだろうか?通信はお互いの協力があって初めて成り立つものであるから、spammerと区別してもらうための努力もせずに、spammerと一緒にするなと叫んでいるだけでは解決にならない。もちろん、spammerと区別してもらう方法がDNS逆引きの設定だけであると主張するつもりはない。」――確かに、まともに管理していることを送信側が逆引きによって伝えてくれれば、スパム対策をする受信側としてはうれしい。しかし、努力というほどのことを受信側が送信側に求める必要はない。送信側はただ、まともなMTAを使っていてくれればよい。それで、逆引きできなくてもリトライの検出によって、まともなメールサーバであることがわかるから。
 S25R方式のコンセプトは、逆引きできない正当なメールサーバがあるという現実を認めている。逆引き名からアクセス元をエンドユーザー回線と推定するルールを定めているが、それに引っかかる正当なメールサーバがあることも承知している。正当なメールサーバを蹴るリスクがあるから、蹴る時に返す応答コードは「450」である。送信をある程度遅延させることは送信側に受忍していただくが、リトライを検出して正当なメールを救済するのは受信側の努力で行う。
 送信側に対して「逆引きを設定してくれ」などとは要求しない。まして「S25Rの拒否条件に引っかからない逆引き名にしてくれ」などという傲慢なことは言わない。そんなことを他人に要求して対処を待つよりも、自分が選んだ対策方法に伴う副作用の問題はさっさと自分の手で解決する方が早い。その覚悟があれば、すぐにも非常に効果的にスパムを排除できるのである。
 S25R方式は、逆引き検査によるスパム対策は是か非かという論争をとっくにアウフヘーベンしてしまっていると思うんだけどなあ。

(関連記事)
DNS逆引きチェックは有効なスパム(迷惑メール)対策

月曜日, 12月 11, 2006

taRgrey

 佐藤さんtaRgreyを公開された。
 S25Rの拒否条件に引っかかる送信元にまず65秒程度のtarpitting(応答遅延)をかける。ほとんどのスパムウェアは、応答を待ちきれずに勝手に切断する。正当なメールサーバはちゃんと応答を待つので、グレイリスティングによるよりもはるかに短い遅延でメールを受信できる。tarpittingを抜けられないごく少数の正当なメールサーバは、再送してきた時にグレイリスティングで救済する。これによって、自動的に偽陽性をほぼなくすことができる。スパムの阻止率を多少犠牲にしてでも正当なメールを確実に受信すべきISPには適した方式だと思う。
 ところが、いざ発表してみると、佐藤さんの元々の狙いに反して、スパムの阻止率を上げるためにtarpittingとグレイリスティングの両方をかけるという需要の方が多かったのだそうである。そこで、taRgreyでは救済重視の「taRgreyモード」と阻止率重視の「tarpit & greylistモード」が提供されている。
 tarpit & greylistモードでは、S25Rの拒否条件に引っかかる送信元に対してtarpittingとグレイリスティングの両方の試練を与える。この需要が多いということは、よほどスパムを憎む人が多いのだろうか。S25Rの偽陽性率はホワイトリストなしでは約13%もある(11月29日「偽陽性率」)と知ってもなお、正当なメールサーバの13%にそこまでの試練を与えたいだろうか。私は「そこまでやる?」と思ってしまう。
 S25Rの拒否条件に引っかかるホストからのメールはグレイリスティングで30分ほど遅延してもかまわない、再送のたびにIPアドレスが変わるケース(9月1日「グレイリスティングを抜けられないサイト」)は手動のホワイトリスト登録で救済すればよいという考え方なら、Rgreyを使えばよいのではないかと思うのだが。うーん、どんなものでしょうねえ。
 なお、ついでに言うと、「tarpitting」は英語の辞書にないが、「tar pit」(タールの穴)が語源らしい。

(12月12日追記)
 佐藤さんのブログ記事に書かれていることを見落としていた。佐世保高専の中原さんの測定によると、スパムの阻止率はtaRgreyモードで約96.5%、Rgreyで約97.0%、tarpit & greylistモードで約98.5%だそうである。やっぱりtarpit & greylistモードの阻止率は高いらしい。

金曜日, 12月 08, 2006

偶発的な逆引き失敗

 12月1日「スパムは増える」で、勤務先に届くスパムをBecky!でフィルタリングして偽陽性判定は10月以来ゼロだと書いたが、嘘だった。すみません。(_"_) 逆引きできる送信元の逆引きまたはパラノイド検査が一時的に失敗してごみ箱に振り分けられたことがあったのを思い出した。
 送信元ドメインのプライマリDNSサーバもセカンダリDNSサーバもあるのに、一定時間内にDNSクエリーが解決しないことがまれにある。いつも届いている相手からのメールはごみ箱に入らないものと思い込んでいてはいけない。ごみ箱に振り分けられたメールの一覧は毎日チェックする必要がある。
 そういえば、自宅サイトでも同じことがあった。逆引きできて、いつもはちゃんと受け取っている送信元サーバをunknownで2回蹴って、3回目に1時間の遅延でようやく受信していた。
 まあ、こういうこともある。受信できるから問題ない。遅延がいやだと思う人は、S25R方式なんか使わない方がよい。

月曜日, 12月 04, 2006

リトライするスパムが減った

 8月28日「リトライするスパムをRgreyで蹴る」で、約5分間隔で5回トライするスパムアクセスがけっこうあることを述べた。ところが、この1ヶ月、私のサイトではそのようなスパムアクセスをまったく見かけなくなった。
 11月5日以降のログでは、リトライしたスパムアクセスは次の1件だけで、2回のトライで終わっていた。

Dec  1 05:59:01 adsl-70-232-22-194.dsl.irvnca.sbcglobal.net [70.232.22.194]
Dec  1 06:06:32 adsl-70-232-22-194.dsl.irvnca.sbcglobal.net [70.232.22.194]

 もしかしたら、5回トライするスパムアクセスは特定のウィルスによるもので、その駆除が進んだからかもしれない。
 前述の記事では、postgreyの--delayオプションに指定する遅延時間を1500秒(25分)に設定することを勧めたが、600秒(10分)程度に緩めてもよいかもしれない。

日曜日, 12月 03, 2006

注意点も公表

 「スパム対策技術」の目次ページの先頭にS25R方式の要点を掲示しているが、これを少し書き換えた。全不正メールアクセスに対する阻止率は99%だが、宛先の正しいスパムの阻止率はやや低くて97%であること。それに、注意点として、初期の偽陽性判定率が13%と高いことも書いた。13%という値は、わずか142個のホストから算出したものなので(11月29日「偽陽性率」)精度が粗いと思うが、おそらく大規模サイトでの統計からさほどかけ離れてはいないだろう。
 また、10月から、論文のページの先頭に「このページへ直接来られた方は、目次ページもご覧ください。」と書き加えている。論文だけでなく、ホワイトリスト情報、導入者の皆様の声、このブログ、ボランティアの方々による工夫などの情報を総合的に見てほしいからである。
 論文の上っ面だけを読んで批判されるのも不本意だが、副作用のリスクをちゃんと理解せずに導入されるのも困る。Googleで「スパム 対策」で検索すると論文が1位にヒットするが、そこから目次ページへ誘導すれば、S25R方式をより正しく理解してくれる人が増えるだろうと期待している。

土曜日, 12月 02, 2006

スパムの総数が増えれば

 BBSで相談を受けた。S25R方式を導入して最初のうちは効果があったのだが、すり抜けるスパムが増えてきたので、何か良い方法はないかということだった。
 一日に受けたスパムが6通とのこと。送信元のFQDNを見ると、8月7日「ホスト名「nat」」で述べた方法で阻止できるものが2通、一般規則のルール1を緩めていたためにすり抜けたものが1通、残りはどうにもならないものだった。一般規則をすり抜けるホストからスパムが繰り返し来るならブラックリストに登録すればよいが、そういうことはあまりない。
 すり抜けが増えたのは、単にスパムの総数が増えたからに違いない。宛先の正しいスパムの阻止率は約97%だから、100通のスパムが押し寄せれば3通、200通が押し寄せれば6通ほどがすり抜けるのはやむを得ない。8月25日「今なお阻止率99%」で述べたように、S25R方式の効果が衰えているわけではないのである。
 私の自宅サイトは、S25R方式の開発期間を含めて3年以上にわたって固い防御を保っている。それで、前回述べたように、スパムの総数は増える一方なのに、着信するスパムは減少傾向にある。拒否応答を返し続けていれば、そのうち敵はだんだんあきらめるようになるだろう。

金曜日, 12月 01, 2006

スパムは増える

 勤務先のアドレスに届いたスパムは、9月には510通、10月には847通、11月には1570通だった。なんと、2ヶ月で3倍になっている。この増加ぶりには、もう笑っちゃうしかない。
 とはいえ、Becky!でのフィルタリングがうまくいっているので、ストレスは感じない。11月の見逃し数は37通(2.4%)。つまり判別率は97.6%。8月23日から9月22日までの1ヶ月間で計った判別率97.0%(9月23日「Becky!でのフィルタリング」)からほとんど変わっておらず、むしろわずかに上がっている。見逃しは一日にせいぜい数通。まったくない日もある。除外条件(ホワイトリスト)の登録は6件で、偽陽性判定は10月以来ゼロである。S25R方式を応用したフィルタリングがスパムを正確にごみ箱に放り込んでくれるのを見るのは、むしろ快感である。フィルタリングの条件の指定に正規表現を使えるBecky!のおかげである。Becky!万歳!
 さて、自宅サイトの方はどうかというと、11月に不正メールを送り込もうとしたホストは7245個(うち3個からスパムが着信した)。7月には4423個だった(8月25日「今なお阻止率99%」)のに比べて、やはり増えている。
 ところが、奇妙なことに、宛先の正しい不正メールの送信元ホストが7月には305個だったのが、11月には192個に減っていた。着信したスパムは、7月には8通、8月には10通だったが、9月には6通、10月には4通、11月には3通と減ってきている。勤務先での受信数の急激な増加とは対照的である。やはり、9月28日「拒絶の効果?」で述べたように、送達率を重視するスパマーが私の自宅サイトへの送信をだんだんあきらめてきているとしか思えない。S25R方式万歳!