木曜日, 12月 17, 2015

gabacho-net.cn

 12月15日に、上海のドメイン登録事業者からメールが来た。

「『gabacho-net.cn』というドメイン申請がありましたが、これがあなたのドメイン名『gabacho-net』と衝突することを発見しました。これはあなたの商標ですか?また、あなたのビジネスパートナーが中国にいますか?」

 その日のうちに返信した。

「『gabacho-net.jp』は私の個人の趣味のためのドメイン名であり、商標ではありません。しかし、私のドメイン名は、私が開発して公開しているS25Rというスパム対策方式のために世界でわりと有名です。もし同じ『gabacho-net』というドメイン名が無関係の人や会社に使われたら不満です。単に『gabacho』なら、これは実在のスペイン語の単語にすぎないので問題ないのですが。ともかく、貴社あるいは貴国のポリシーに従うしかないと思いますが、私がすることがあれば教えてください。」

 その後、12月17日10時時点でまだ処置についての連絡はない。「gabacho」だけならまだしも、「-net」まで一致させるとは、S25Rスパム対策方式の開発者である私との関係者を装って悪事を働くことを目論んでいるのではないかと思ってしまう。でも、商標ではないからという理由で認可されてしまってもやむを得ない。本来、ドメインネームシステム上では、トップレベルドメインが異なればサイトドメイン名に同じものがあってもよいのに、こうして他国のサイトドメイン名との衝突まで調べて知らせてくれただけでもありがたい。もし「gabacho-net.cn」のサイトができてしまったら、私のサイトで「無関係」を宣告するまでのことである。

(追記)
 ドメイン登録時業者が申請者に「ドメイン名を変えたらどうか」と助言してくれていたらしい。本日12月17日、申請者から私に「gabacho-net.cn、gabacho-net.com.cn、gabacho-net.net.cn、およびgabacho-net.org.cnというドメイン名は我々のビジネスに重要なものだから、登録申請を強行する」との通告が来た。「OK。違法でない限り私はドメインの登録を差し止めることはできない。しかし、あなたが私のユニークなドメイン名を真似ることが純真な意図によるものだとは私は信じない。それらのドメインは私とは無関係であると私のウェブサイトで宣告する。通告ありがとう」と返した。なあに、かえって箔が付く。

(再追記)
 さっそく私のウェブサイトのホームページとその英語版スパム対策技術のトップページとその英語版に宣告を掲載した。

土曜日, 10月 24, 2015

おとりのアドレスに宛ててくるまともなサイト

 スパムをおびき寄せるためのおとりのアドレス<otori4@gabacho-net.jp>宛に、昨日10月23日にmail.kedahmedical.com.myからメール送信アクセスがあった。ドメイン名はまともそうで、www.kedahmedical.com.myおよびkedahmedical.com.myは順引きできたが、ウェブアクセスしてウェブページが現れなかったので、公開ブラックリストのポリシーに則ってブラックリストに登録した。しかし、今日10月24日に再度ウェブアクセスしたら、www.kedahmedical.comへのリダイレクトを案内するページが現れ、クリックしたらマレーシアの病院のウェブサイトが現れた。それで、登録をコメントアウトした(いったん公表してしまった情報を単に削除するのでは、削除したことがわかりにくいおそれがあるため)。

# Oct 24, 2015: (cancelled because the honest website was found)
# Oct 23, 2015: mail.kedahmedical.com.my
#/^(.+\.)?kedahmedical\.com\.my$/

 おとりのアドレスは、私のGabacho-Netのホームページ

<A HREF="mailto:otori4@gabacho-net.jp"> </A>

というHTML記述で仕込んである。リンク用文字列はスペース(半角)1個なので、ブラウザ上ではリンクとして現れない。メールアドレスを片っ端から拾い集めるための自動プログラムにのみ、このメールアドレスが見える。このアドレスはuser unknownになるので、スパムであっても受信されてしまうことはないが、これに宛てて来たホストは、「そのドメインのまともなウェブサイトがない」などのポリシー条件に適合するならば容赦なく公開ブラックリストに掲載している。しかし、ウェブからまともなサイトと判断した場合は掲載していない。もちろん、そのサイトと取引などの関係があるS25R利用サイトを困らせないためである。
 これまで、国内サイトからもこのおとりのアドレスにアクセスがあったことが何度かある。その中で、送信者アドレスが外国のドメインであることから、サーバが侵害されたと判断して知らせてあげたことが2回あった。そのうちの1回は、丁寧な返事をいただき、その後、あるサーバ事業者のブラックリストに載ってしまって取引先に送信できなくなったという相談に乗ってあげて感謝された。
 ところが、国内サイトで、そのサイト自身が意図的にこのおとりのアドレスに宛ててメールを送ろうとしたとしか思えないケースも、記憶の範囲では2件ほどあった。繰り返されてはいないので苦情のメールを送ることはしていないが、これは「特定電子メールの適正化等に関する法律」に抵触する行為である。なぜなら、同法では、送信者にあらかじめメールアドレスを教えていない受信者への特定電子メール(つまり未承諾広告メール)は、アドレスを公開している団体か個人で、個人にあっては営業を営む人にしか送ってはならないと定められている。これに抵触しないように未承諾広告メールを送るには、自動プログラムで片っ端から拾い集めたアドレスで送信先リストを作っては危ないことくらいわかりそうなもの。
 国内サイトなのに迷惑メール防止のための国内法を遵守しないとは嘆かわしい。まず自分の事業に関係があるかもしれないサイト(たとえば薬や医療機器の販売者にとっては、病院や医師と推定されるサイト)のURLを集め(これは自動でもよい)、それらのURLに基づいてブラウザでウェブを見て、未承諾広告メールを送ってよい相手かどうかを確認し、公開されているアドレスを拾うようにすればよいのである。

水曜日, 10月 21, 2015

予防的ブラックリスト登録が効いていた

 10月14日の記事で、HELOアドレスが「yanhua.073322.com」で、逆引き名がパラノイド検査エラーでunknownになる送信元のドメインをブラックリストに予防的登録したことを述べた。報告が遅くなったが、その予防的登録が効いていた。パラノイド検査エラーになっていた10月14日の4日後の10月18日、順引きが直されてS25Rチェックをパスするようになっていたのが、ブラックリストで阻止された。私のサイトでは「5桁以上の数字で始まるサイトドメイン名」のローカルルールでどのみち阻止できたのであるが、一般のS25R利用サイトでも公開ブラックリストを利用されていれば、めでたく阻止できた可能性がある。
 そのホストの挙動は以下のとおりであった。

Oct 18 12:28:55 C yanhua.073322.com [103.41.176.21] from=<g***@mail.com> to=<w***@gabacho-net.jp> helo=<yanhua.073322.com>
Oct 18 15:59:12 〃
Oct 18 18:17:15 〃
Oct 18 19:17:26 〃
Oct 18 20:17:35 〃
Oct 18 22:15:26 〃
Oct 18 23:15:38 〃
Oct 19 00:15:45 〃
Oct 19 01:15:48 〃
Oct 19 02:15:52 〃
Oct 19 03:15:59 〃
Oct 19 04:16:04 〃
Oct 19 05:16:07 〃
Oct 19 06:16:13 〃
Oct 19 07:16:16 〃

水曜日, 10月 14, 2015

公開ブラックリストへの予防的登録

 以下のスパムアクセスを発見した(拒絶ログソーティングスクリプトによる表示)。

Oct 13 19:55:12 C unknown [103.41.176.21] from=<s***@mail.com> to=<w***@gabacho-net.jp> helo=<yanhua.073322.com>
Oct 14 05:18:53 〃
Oct 14 06:19:03 〃
Oct 14 07:19:05 〃
Oct 14 08:19:10 〃

 逆引き名がunknownだから当然S25Rで一時拒否されているのだが、HELOアドレスyanhua.073322.comに気付いた。よく見られる、数字だけのサイトドメイン名で、私は「トップレベルドメインがcomかnetで、サイトドメイン名が5桁以上連続する数字で始まる」というローカルルールで一時拒否しているが、一般のS25R利用サイトでは、逆引きの設定が整ったら突き抜けられる。調べてみたら、103.41.176.21を逆引きするとyanhua.073322.comが得られるが、それを順引きすると50.63.202.33で、パラノイド検査エラーになっていた。
 そこで、公開ブラックリストに予防的登録を掲載した。

# Oct 14, 2015: yanhua.073322.com (preventive)
/^(.+\.)?073322\.com$/ 450 spam ex-convict

 なお、http://www.073322.com/ または http://073322.com/ は、英語で「このサイトは一時的に無効です」と書かれたページなので、掲載は公開ブラックリストのポリシーに適合している。

日曜日, 9月 27, 2015

34時間で止まっていたスパム再送信アクセスが再開して48時間後まで継続

 昨日、スパムと思われる1分間隔の再送信アクセスが34時間で止まったことを述べた。ところが、止まった8時間21分後に再開していた。そして、最初に始まった時の48時間後に止まった。途中で中断していた理由はわからないが(中継回線の障害の可能性も考えられる)、やはりスパム送信サーバの再送信期間は48時間というのが相場のようだ。

Sep 25 06:03:13 C unknown [71.6.173.47] from=<b***.c***@b2bonlinearchive.biz> to=<d***@gabacho-net.jp> helo=<mail.b2bonlinearchive.biz>
Sep 25 06:04:16 〃

Sep 26 16:02:27 〃
Sep 27 00:23:41 〃
Sep 27 00:24:54 〃

Sep 27 06:02:14 〃

Sep 25 06:03:13 C unknown [71.6.173.47] from=<b***.c***@b2bonlinearchive.biz> to=<w***@gabacho-net.jp> helo=<mail.b2bonlinearchive.biz>
Sep 25 06:04:16 〃

Sep 26 16:02:27 〃
Sep 27 00:23:42 〃
Sep 27 00:24:57 〃

Sep 27 06:02:14 〃

土曜日, 9月 26, 2015

34時間1850回のスパム再送信アクセス

 再送信アクセスを発見したが、スパムの可能性が高いと思って放置してみた。
 その理由は第一に、同じ所から個人アドレス「deo」と公開アドレス「webmaster」の両方に宛ててきていること。個人アドレスはwhoisからわかるが、知らない送信者アドレスからのメールがいきなり個人アドレス宛で来るのは今まで全部スパムだった。
 第二に、再送信間隔が約1分であること。そもそも、受信側サーバの一時的受信不能が1分やそこらで解消される可能性は少ないはず。まともなメールサーバの再送信間隔はたいてい5分以上である。
 今までの経験では、スパム送信用サーバの再送信は48時間で終わるケースがかなりあった。RFC 5321を尊重したPostfixなどのデフォルト設定は5日なので、人が手動で送信したまともなメールを中継するメールサーバならば48時間では終わらないことが多い。ほったらかしてみたら、34時間で止まった。アクセス回数は二つのアドレス宛それぞれ1850回ずつである。ログファイルが無駄に膨らんだのが不愉快だが、スパム送信サーバの挙動の一例を把握できたのでよしとする。
 以下は、拒絶ログソーティングスクリプトの表示形式によるログ。

Sep 25 06:03:13 C unknown [71.6.173.47] from=<b***.c***@b2bonlinearchive.biz> to=<d***@gabacho-net.jp> helo=<mail.b2bonlinearchive.biz>
Sep 25 06:04:16 〃

Sep 26 16:02:27 〃

Sep 25 06:03:13 C unknown [71.6.173.47] from=<b***.c***@b2bonlinearchive.biz> to=<w***@gabacho-net.jp> helo=<mail.b2bonlinearchive.biz>
Sep 25 06:04:16 〃

Sep 26 16:02:27 〃

火曜日, 8月 18, 2015

公開ブラックリスト登録1000件

 今日(8月18日)、私が7月16日に発見して公開ブラックリストに登録したrr8r.com(FQDNはnuoyi.rr8r.com)と所有者が同じドメインが31個ある(いずれもウェブサイトなし、またはWgetの結果のコンテンツサイズがゼロ)と協力者が知らせてくださった。その登録をもって、公開ブラックリストの登録はちょうど1000件になった。
 公開ブラックリストが私自身にどれだけ役に立っているかというと、8月12日に「Email: ***@sina.com」が本文チェックに引っかかって登録したyywy.netが今日再び効いた。しかし、協力者から寄せられた多数の予防登録が私のサイトで効いたのはまだ観測していない。そういうことがあると痛快に思えるのだが。

(8月26日追記)
 1000件と書いたが、当日時点で本当は1001件だったことがわかった。登録件数を数えるのに、エディタで「450 spam ex-convict」という文字列の数を数えていたが、1箇所にこの文字列のスペルミスがあり(スパムのブロックには支障はない)、その分がカウントされていなかった。
 なお、本日8月26日時点で登録は1465件である。

水曜日, 8月 05, 2015

著書「迷惑メールを97%阻止 S25Rの真髄」の出版のお知らせ

 私の著書「迷惑メールを97%阻止 S25Rの真髄」が8月1日から発売開始になりましたので、お知らせします。
 S25Rホームページに案内を載せました。楽天ブックスとアマゾンのページへのリンクを設けています。そこでブックカバーの画像をクリックすると、前書きと目次をご覧いただくことができます。

土曜日, 7月 04, 2015

まだ一般規則で阻止できるホストの予防的ブラックリスト登録

 今日(7月4日)、協力者から報告されて公開ブラックリストに掲載した項目に

/^(.+\.)?0mfx\.com$/ 450 spam ex-convict

というのがある。不審なホストのFQDNはCybill.0mfx.comとのことである。実は、そのIPアドレス115.159.74.217は、現時点で逆引きできない。だから一般規則で阻止でき、このブラックリスト項目にはまだ効果がない。これは予防措置として提案されたものである。これは一例である。
 その方は、高い調査スキルをもって「このIPアドレスは怪しい。まだ逆引きできない(またはパラノイド検査エラーになる)が、DNS設定が整ったら突き抜けられる」などのように予見して、ローカルルールでブロックするということもしておられるそうである。それで実際、DNS設定が整った後で、スパムを受信することなくスパム送信ホストを釣り上げてただちに報告してくださったこともある。

 その方のサイトのMTAはsendmailである。sendmailは、PTRレコードが引けたらその名前をログに表示し、パラノイド検査エラーになったら「(may be forged)」(偽造かもしれない)を付記する。Postfixは、PTRレコードが引けてもパラノイド検査エラーになったら逆引き名を「unknown」とするが、それに比べて、怪しそうなホストを名前で識別できるケースが増えるという点で、sendmailの流儀にメリットがあると言えそうである。Postfixもそのように仕様変更してほしいとまでは思わないが。

木曜日, 7月 02, 2015

第三者中継チェックか?

 第三者中継として拒否したアクセスがあった。

Jul  2 19:02:29 reject: RCPT from f261.fuchsia.fastwebserver.de[93.186.202.9]: 554 5.7.1 <test@gmail.com>: Relay access denied; from=<test@reto.jp> to=<test@gmail.com> proto=SMTP helo=<f261.domain>
Jul  2 19:02:34 reject: RCPT from f261.fuchsia.fastwebserver.de[93.186.202.9]: 554 5.7.1 <test@gmail.com>: Relay access denied; from=<test@reto.jp> to=<test@gmail.com> proto=SMTP helo=<f261.domain>

 6月13日の記事で、第三者中継を目論むアクセスを何度もしてきているnairobi.pollmans.co.keを、ちゃんと第三者中継の禁止をしているサイトにとっては無害だがスパムの前科者としてブラックリストに載せたことを述べた。こいつは続けて2回も第三者中継のアクセスをしてきてやがる、失礼な奴だな、こいつもブラックリストに載せてやろうかと思った。
 しかし、よく見ると宛先アドレスのユーザー名はtestである。送信者アドレスに私のドメインreto.jpを使っているのも無礼だなと一瞬思ったが、よく考えてみたら、送信者アドレスが自分のドメインだったら外への中継をしてしまうという間違った設定をしているメールサーバが世の中にあるので、そういう穴がないかどうかをチェックしているのかもしれない。
 それにしても、第三者中継をしないことは1回のアクセスでわかるだろうに2回アクセスしたことと、自ドメインでなく無関係のgmail.comドメインを宛先にしたのは、私の価値観から言えばモラルにそぐわないと思うぞ。RCPTコマンドが受け付けられたらDATAコマンドまで送り込んで、受理されてしまうことまで確認するのかどうかはわからないが(それは見せかけの受理ということもありうるが)、もし第三者中継をしてしまうホストだったら、gmail.comへの無駄な送信アクセスを発生させるおそれがある。その無駄な送信アクセスを自ドメインで受けるというポリシーをはっきり見せているチェックアクセスなら、モラルにそぐわないなどと言うつもりはない。

水曜日, 7月 01, 2015

怪しいホストが3匹釣れた

 今日(7月1日)、公開ブラックリストに登録した項目のうち3件は私のサイトで見つかったものである(協力者からは16件も報告された)。この3件を見つけるに際して、スパムは一通も受信していない。見つかった順に示す(ファイル上での記載は逆順)。

# Jul 01, 2015: auchan.025552.com
/^(.+\.)?025552\.com$/ 450 spam ex-convict

 「トップレベルドメインがcomかnetで、サイトドメイン名が5桁以上連続する数字列で始まる」というローカルルールで検出した。
 このドメインのウェブサイトはない。送信ドメインはyahoo.de。これにはSPFがないが、www.yahoo.deはde.yahoo.comにリダイレクトされるので、Yahooのドイツ法人であることは間違いない。だから、送信元がyahoo.comのSPFに合わない以上、送信者アドレスは偽造だと断定してよいだろう。また、一時的受信拒否に対して再送信はなかった。これらにより、怪しさ確定。
 私のローカルルールはすべてのS25R利用サイトに勧められるものではないが、自分のリスク負担でこれを使うことによって、すべてのS25R利用サイトに勧められるブラックリスト項目をこうして釣り上げることができる。

# Jul 01, 2015: yimiao.kongqingbao.com
/^(.+\.)?kongqingbao\.com$/ 450 spam ex-convict

 body_checksで「Contact: ***@sina.com」が引っかかった。このドメインのウェブサイトはない。送信ドメインはやはりyahoo.deだった。
 もしこの内容チェックが偽陽性判定だとしたら、「こういうスパムが来て困ってるんですけど」という相談メールということがありうる。もしそうなら、送信者は善良そうな人だということは送信者アドレスから見当が付くだろう。そうなったらこちらからメールを送って連絡をとればよい。組織サイトにはあまり勧められない内容チェックだが、個人サイトの私ならそういうリスクマネジメントができる。

# Jul 01, 2015: hal9000.okrutny.net
/^(.+\.)?okrutny\.net$/ 450 spam ex-convict

 宛先のユーザー名がotori4というおとりのアドレスだった。ホームページに仕掛けた見えないmailtoアンカーに釣られたものである。送信ドメインは著名なaol.com。もちろんそのSPFに送信元が整合するはずもない。www.okrutny.netのウェブページは現れ、連絡先として電話番号は書かれているが、どういうビジネスのサイトなのかがわかる説明はない。「黒」確定。
 なお、おとりのアドレスは、2003年からホームページに見えないmailtoアンカーで仕掛けたのがotori1だった。その後、スパムの送信停止受付サイトにわざと書き込んでみたのがotori2とotori3だった。これにも引っかかったスパマーがいた。otori1はしばらくやめていたのだが、昨年、スパムアクセスが非常に少なくなったことから、「これから釣れるのはどのくらいになるだろうか」と思って、再びホームページに仕掛けていたのがotori4である。

公開ブラックリストのポリシーを少し修正

 公開ブラックリストのポリシーを少し修正した。下線部分が変更点である。

 スパムを送信したことがあり(そのスパムが受信されてしまったかどうかにかかわらず)、かつ以下のいずれかの条件を満たすホストまたはドメインをブラックリストに掲載します。
  • そのドメインのウェブサイト(http://www.ドメイン名/ または http://ドメイン名/)がない。――ドメイン全体を警戒する拒否条件を掲載します。
  • ウェブサイト(リダイレクトされたページを含みます)があっても、そのドメイン固有の真っ当なビジネスの説明が掲示されていない。――ドメイン全体を警戒する拒否条件を掲載します。
    (空白のページ、パスワード入力ページ、ドメイン転売のページ、リンク集だけのページ、違法なビジネスのページはこの条件に含まれます。)
  • ウェブサイト(リダイレクトされたページを含みます)に掲示されたビジネスは、顧客のコントロール下にあって悪用されるリスクのあるホストを収容するネットワークサービスである。――そのドメイン内の不審なホストまたはホスト群だけを警戒する拒否条件を掲載します。
    (ネットワークサービス事業者のコントロール下にあるメールサーバは、たとえそこからスパムが送信されても、掲載しません。)
 上記の条件に当てはまらないホストであっても、挙動が悪質である(ビジネスは合法でも、広告メールの送信を違法に繰り返しているなど)か、またはドメイン所有者などの情報から疑わしいと判断される場合は、掲載することがあります。

 まだスパムの前科のないドメインまで疑わしいと判断してブラックリストに掲載するというポリシーは、私には運用が困難だという考えから、今まで明文化していなかった。しかし、いつも協力してくださっている方が、高い調査スキルを駆使して、そういう疑わしいドメインも報告してくださっている。そこで、そのような貢献を受け入れるというポリシーを明文化する意味で、上記のように修正した。

月曜日, 6月 29, 2015

公開ホワイトリストの棚卸し

 いつもホワイトリスト情報とブラックリスト情報にご協力くださっている方が、明らかに無意味になったホワイトリスト項目の指摘も時々くださっている。私もホワイトリストの棚卸しをしたことはあるが、「ホワイトリスト登録されたホストからスパムを受けた」という申告がない限りはほったらかしても実害はないから優先度は低いと思っているうちに、棚卸しをしないまま何年か過ぎてしまった。
 最も古い項目(ファイルの一番下)の登録日は、S25Rを発表した2004年である。11年も経ったらもう廃止されてしまったホストもあるだろうと思って、登録の古いものから順に棚卸しを始めた。コメントアウトしたものでいくつか典型的なものを古い順に示す(これらの記載はファイルの上部へ移動している)。

# Jun 28, 2015: (host has become unreachable)
# Feb 24, 2004: pioneer.co.jp's
#/^221x115x147x174\.ap221\.ftth\.ucom\.ne\.jp$/

 かつてパイオニア社から私が受けた案内メールの送信サーバである。221x115x147x174.ap221.ftth.ucom.ne.jpはping応答がない。tracerouteをかけるとucom.ne.jp内の途中のルータからunreachableの応答が返る。ホストは生きていてもセキュリティのために(ホストの存在を無差別に探られないためとか?)ICMPを遮断しているという可能性が考えられなくもないが、もしそうだとしても、「私は生きています」という返事さえ返さないホストをいつまでも救済対象としておく価値はないという考えに基づき、コメントアウトした。

# Jun 28, 2015: (domain "info-ntt.co.jp" expired)
# Apr 17, 2004: info-ntt.co.jp's
#/^ps23\.suite2\.arena\.ne\.jp$/

 かつて、NTTのサービスの広告をウェブサイトに載せてくれないかと連絡してきた会社である。info-ntt.co.jpドメインはもう消滅していることがわかったので、コメントアウトした。

# Jun 28, 2015: (host expired; canceled whole domain permission by policy)
# Nov 29, 2004: rohhc.com's h216.70.22.140.superiorbroadband.com, etc. (*)
#/\.superiorbroadband\.com$/

 コメント行に記載していたh216.70.22.140.superiorbroadband.comは順引きできなくなっていた。superiorbroadband.comドメインは存在するが、「顧客のコントロール下にあって悪用されるリスクのあるホストを収容するネットワークサービス」(サーバをネットワーク攻撃に悪用するユーザーがいるとの情報があるamazonaws.comのような)でないという確信が持てないので、ポリシーに基づいてsuperiorbroadband.comドメインの丸ごと許可を取り消した。もしそれで即時受信に支障を来たすサイトがあったら、改めてホワイトリスト登録を申請してください。

 この調子で昨日(6月28日)、2006年3月登録の分まで見直した。今後も気が向いた時にちょっとずつ棚卸しをするつもりである。登録項目は1600以上あるから時間がかかりそうであるが。
 ちなみに、コメントアウトした許可条件から「OK」のキーワードを消しているのは、エディタで「 OK」の文字列を数えることによって有効なホワイトリスト項目を数えるための便宜である。

公開ブラックリストの需要はまだ少ない

 公開ブラックリストの本格運用を開始したが、ブラックリストファイルへのアクセスは少ない。
 試行運用をブログでアナウンスした6月9日の前日の6月8日には、black-list.txtファイルへのアクセスは5件あった。2010年に「S25Rの一般規則を使わない代わりのドメインブラックリスト」を試行したことがあり、その後立ち消えになってしまってファイルをほったらかしていたが、その後ずっとcronで定期的に取得していたサイトが複数あるようである。black-list.txtファイルの作成ポリシーを私が突然変えてしまったことになるが、メンテされていなかったブラックリストが今さら役に立っていたはずもない。実際、ファイルの内容が根底から変わってしまったことについての苦情は受けていない。
 6月24日に本格運用をブログでアナウンスするとともに、今までにS25Rに関する用件でメールをいただいたことのある人55人(アドレスエラーになった人を除いて)にメールで案内したが、その日のアクセスは33件(アクセス回数であり、アクセスしたホスト数は数えていない)。その後、25日には20件、26日には18件、27日には13件、28日には12件という具合で、需要は少ないようである。
 アクセスが少ない理由については、普段協力してくださっている方からもコメントをいただいたのだが、自前のドメインでS25Rを突破するスパムが現れたとはいえ、受信者が業務を妨害されるほどに突破率が増えているわけではないので、私のウェブコンテンツをまめにチェックする人はあまりいないのかもしれない。また、案内メールを55人に送ったが、その中には異動やシステム運用の外注化などでもうS25Rの運用に関わっていない人も少なくないかもしれない。
 ただ、案内メールへの返信をくださった人が1人だけいた。「ヘッダチェックでブロックするケースが増えてきていたので、感謝です」と言ってくださった。
 今後需要が伸びるかどうかはわからないが、推定数千くらいのS25R導入サイトのうち数サイトでも利用してくれるなら、続ける価値はあると思っている。また、どのくらい使ってもらえるかはともかく、「金をかけてドメインを買ってまでS25Rを破ろうとする手口をS25R方式の開発者は容赦していない」という姿勢を見せることが、S25R方式への信頼を維持し続けるために役に立つと思っている。

木曜日, 6月 25, 2015

私のサーバの逆引きドメインの説明ページ

 公開ブラックリストのポリシーでは、スパムの送信元ホストの逆引きドメインのまともなウェブがなければ怪しいと判断することにしている。
 考えてみたら、私のgabacho-net.jpドメインのメールを送信するサーバ(ウェブサーバも同じ)の逆引き名はa.reto.jp(retoはエスペラント語でnetの意味)で、reto.jpドメインを説明するウェブページを用意していなかった。もちろん私のサーバがスパムを送信することはないが、これでは紺屋の白袴のようなもの。そこで、http://www.reto.jp/のURLで以下の意味の英語の説明を表示するようにした。

reto.jpは、以下のためのドメインです。
  • オーナーのgabacho-net.jpドメイン用サーバの逆引き名
  • ウェブリダイレクションサービス
  • 非公開のメール/ウェブサービス

 なお、ホスト名省略のreto.jpにはAレコードもMXレコードもない。なぜか「***@reto.jp」(***は心当たりのない日本人名)というアドレスに宛てたメール送信アクセスを何度も受けてうざかったことがあるからである。非公開のグループに提供しているメールアドレスは、このドメイン名の直下にホスト名を指定しなければならないようにしている。

 余談だが、紺屋の白袴で思い出した。もう消えてしまったブログだが、ずいぶん前にこんな記事を見たことがある。その人(日本人)は外国のVPSサービスを使って個人用サーバを運用していた。スパム除けのためにS25R方式を使っていたが、自分に割り当てられたIPアドレスには逆引きが設定されていない。「これでは、『健康のために痩せなさい』と言っている医者が太っているというようなものだな」と思って、プロバイダに「逆引きは設定してもらえる?それとも、逆引きゾーンを委譲してもらうことになる?」と問い合わせたら、すぐに「OK。名前は何にする?」と返事が来て、対応のあまりの早さに驚いたということだった。

ブラックリスト項目の見直し

 本格運用を開始した公開ブラックリストであるが、整理したポリシーに基づいて、すでに掲載していた項目を一部見直した。

/^nairobi.\pollmans\.co\.ke$/ 450 spam ex-convict

このホストについては、6月13日「名前が怪しくないホストのブラックリスト登録」で述べた。何度も第三者中継のアクセスをしてきている(その記事を書いた後も、6月14日から23日にかけて6回のアクセスがあった)。pollmans.co.keドメインのウェブがないので、「名前は怪しそうでない」という感覚でなくポリシーに則って、ドメイン全体を警戒する拒否条件

/^(.+\.)?pollmans\.co\.ke$/ 450 spam ex-convict

に改めた。
 co.keを冠するからには、ケニアの法人格を持つ企業なのだろうが、ウェブがないこととスパムの前科から、憶測だが、まともな会社ではなく、スパム送信を請け負う仕事をしているのかもしれない。

 もう一つ、ポリシーがまだ固まっていなかった試行運用期間中に協力者から報告された

/^pavlovickyalpha\.hanacke\.net$/ 450 spam ex-convict

があった。ウェブはあって、チェコ語と英語のページが用意されているが、英語のページは工事中になっている。チェコ語を翻訳にかけたところ、ネットワークサービスらしいと見当が付いたが、本格的なビジネスとしてのネットワークサービスには見えず、同好会のようなものかもしれない。
 スパムを送信したホストがネットワークサービス事業者のコントロール下にあるメールサーバならば載せない、顧客のコントロール下にあって悪用されるリスクのあるホストならホストまたはホスト群だけを警戒する拒否条件を載せるというポリシーである。ホストpavlovickyalphaはhanacke.netのMXではないとはわかった。かといって、ネットワークサービス事業者のコントロール下にあるメールサーバでないという確証はないけれども、スパム送信の前科がある以上は疑わしいと判断してよいと考え、そのままとした。

水曜日, 6月 24, 2015

公開ブラックリストの本格運用を開始

 S25R公開ブラックリストの本格運用を開始した。
 ポリシーは以下のように説明している。

 スパムを送信したことがあり(そのスパムが受信されてしまったかどうかにかかわらず)、かつ以下のいずれかの条件を満たすホストまたはドメインをブラックリストに掲載します。
  • そのドメインのウェブサイト(http://www.ドメイン名/ または http://ドメイン名/)がない。――ドメイン全体を警戒する拒否条件を掲載します。
  • ウェブサイト(リダイレクトされたページを含みます)があっても、そのドメイン固有の真っ当なビジネスの説明が掲示されていない。――ドメイン全体を警戒する拒否条件を掲載します。
    (空白のページ、パスワード入力ページ、ドメイン転売のページ、リンク集だけのページ、違法なビジネスのページはこの条件に含まれます。)
  • ウェブサイト(リダイレクトされたページを含みます)に掲示されたビジネスは、顧客のコントロール下にあって悪用されるリスクのあるホストを収容するネットワークサービスである。――そのドメイン内の不審なホストまたはホスト群だけを警戒する拒否条件を掲載します。
    (ネットワークサービス事業者のコントロール下にあるメールサーバは、たとえそこからスパムが送信されても、掲載しません。)
 上記の条件に当てはまらないホストであっても、挙動が悪質である(ビジネスは合法でも、広告メールの送信を違法に繰り返しているなど)ならば、掲載することがあります。

 このように明確なポリシーを整理できたのは、試行運用期間中にご協力くださった方のおかげである。ここに厚くお礼申し上げます。

 公開ブラックリストの自動ダウンロードは、一日4回まではしていただいてよいことにした(6時間に1回までという意味ではなく、一日内の適当な時刻に4回までということである)。公開ホワイトリストは、頻繁にダウンロードしなくても各サイトでの正当なメールの受信に失敗するわけではないので「一日1回まで」とお願いしているが、公開ブラックリストは、もう少し頻繁にダウンロードしてもよいとした方が、スパムの阻止に成功する確率が上がって喜ばれるだろうと思うからである。また、スパマーがスパム送信のために多数取得するドメインは長期間維持されずに消滅するだろうから、ブラックリストファイルはあまり巨大にならずに済むだろうと考えてのことでもある。ダウンロード頻度については以下のように説明している。

サーバで定期的にダウンロードされる場合は、ダウンロードの頻度は一日4回までにしてください。日本時刻23:00~7:00の時間帯に2度ダウンロードするのは無駄と思われます。

 もちろんこれは、日本時刻23:00~7:00の時間帯でのダウンロードは避けてほしいという意味ではない。その時間帯での1回のダウンロードは、前日の最後の更新を取り込むことができるが、翌日の私の活動が始まらないうちにもう1度ダウンロードするのは無駄だという意味である。だから、たとえば毎日0時、6時、12時、18時にダウンロードする設定では、そのうち6時は無駄である。
 でもまあ、時刻設定の推奨例は書かない方がいいだろうな。その時刻にアクセスが集中することになりかねないので。

月曜日, 6月 22, 2015

「あなたの方式は今なお有効ですか?」

 6月20日の夜遅くに、トップレベルドメイン名がnetのドメインから「admin」名のメールが届いた。アメリカのサイトらしい。
「あなたのサイトの最終更新は2009年でした。あなたの方式は今なお有効ですか?」
 なお、「有効」と訳した英単語は「relevant」である。これを英和辞書どおりに「関連した/適切な」と訳すとわかりにくいが、英英辞書を引いたら「環境に適合している(appropriate)」という意味があることがわかったので、「様々な手口のスパムが存在するというインターネット環境に今なお適合しているか」と解釈して「効果がある」=「有効」と訳した。
 で、返事を送った。
「はい、ことに日本では今なお広く使われています。」

 多分、S25R方式のレポートの最終更新日が2009年11月23日になっているので、そういう疑問を持たれたのであろう。どのページにも他ページへのインデックスがあって、更新履歴を見れば、今年2015年に至るまで何らかのコンテンツ更新を続けていることや、2014年にも導入報告の追記をしていることがわかるはず。また、ホワイトリストのページを見れば、今もホワイトリストファイルの頻繁な更新を続けていることがわかるはず。とはいえ、方式を説明するコンテンツが6年もバージョンアップされていないのに、様々に手口を進化させているであろうスパマーに今なお対抗できているとは、にわかには信じにくいのもわかる。
 ともあれ、もうすぐ6月26日で発表11周年を迎えるS25R方式に新たに注目してくれる人が今なお現れていると知ったのは嬉しい。

日曜日, 6月 21, 2015

スパムを送信したウクライナのサイトに通報

 6月19日の記事で、ウクライナのベビー用品会社のメールサーバと思われるmail.malysh.uaからのスパムアクセスがSpamCopでブロックされたが共有ブラックリストに掲載しなかったことを述べた。
 その後さらに
Jun 19 12:51:31
Jun 19 20:47:30
Jun 20 00:24:10
にもスパムアクセスがあった。6月20日(土)の早朝にたまたま目が覚めてしまった時に、同ホストからのスパムアクセスが続いていることに気付き、同社に通報することにした。
 www.malysh.uaのウェブを見たら、ウクライナ語でしか書かれていない。キリル文字の「Контакти」がcontactの意味だろうと推測してクリックしたら、移動先のページに「m***@malysh.ua」(m***はmalysh)というメールアドレスが書かれていたが、なぜか「m***@」と「malysh」と「.ua」に3分割されたリンクで、mailtoアンカーではないのでメーラーの送信メールがポップアップすることはなく、メッセージ入力フォームが現れるでもなかった。そこで、スパムアクセスの送信者アドレスだった「a***@malysh.ua」(a***はadmin)に宛てることにした。もちろん、スパムの送信元がmalysh.uaドメイン配下であることはパラノイド検査で確認されていることなので、アドレスをかたられた被害者に迷惑がかかるからやってはならないとされる「スパムへの返信」にはあたらない。

「こちらは日本のアマチュアのインターネットサイト管理者です。貴社のホストmail.malysh.uaが私のサイトへスパムを送ろうとしているようです。それはSpamCopにブラックリスト登録されています。一時的拒否に対するそれの挙動はまともなメールサーバのものではありません。侵害されている可能性があります。チェックしてください。」

 メールは正常に送信された。ウクライナの時刻は日本より6時間遅いので、向こうでは金曜の夜遅くである。ウクライナでも土日は休業なら、返事があるとすれば22日以降になるだろう。もし同社が意図的にスパムをばらまいたのだとすれば返事は来ないだろうが、私のメールを「スパムを送るな。バカたれ!」と解釈してくれるだろうから、それでよし。

(2015/06/27追記)
 結局、ウクライナ時刻の26日(金)の終業時刻まで営業日1週間、返事が来ることはなかった。同社が意図的にスパムをばらまいた可能性は否定できないが、その後同社からのスパムアクセスは来ていないので、もうどうでもいい。

ブラックリスト掲載基準の見直し

 共有ブラックリストの試行運用に協力してくださっている方から、blackhole2.hknet.comおよびblackhole4.hknet.comから何度もスパムアクセスがあるとの情報をいただいた。www.hknet.comにアクセスするとまともなウェブが現れるが、それらのホストの挙動の悪質さを聞き、また、ホスト名を構成するblackholeという語の怪しさから、特例のつもりで

/^blackhole.*\.hknet\.com$/ 450 spam ex-convict

と掲載した。
 その後、その方からの追加のメールで、hknet.comは香港にあるNTTコミュニケーションズ・グループのネットワークサービス会社であることを知り、改めてウェブを見て確認した。hknet.comドメイン配下のホストを顧客がスパム送信に悪用していると推測される。
 そこで、共有ブラックリストへの掲載基準を以下のように見直した。

スパム送信(着信に成功したものに限らない)の前科があるホストであって、以下のいずれかに該当するもの。
  • 「http://www.ドメイン名/」または「http://ドメイン名/」のウェブサイトがない。
  • ウェブサイトがあっても、そのドメイン固有のまともなビジネスについての情報が掲示されていない。
  • まともなビジネスのドメインであっても、顧客のコントロール下にあって悪用されるリスクのあるホストを収容するネットワークサービスである(スパム送信元はその事業者のコントロール下にあるメールサーバでないこと)。
 なお、「顧客のコントロール下にあって悪用されるリスクのあるホストを収容するネットワークサービス」とは、ボットに感染するリスクのあるエンドユーザーコンピュータを収容するISPも含むものとする。そのようなエンドユーザーコンピュータはS25Rの一般規則でほとんど阻止でき、阻止できない逆引き名を使っているドメインからのスパムアクセスはほとんど来なくなってしまったが、もしS25Rで阻止できないエンドユーザー回線の逆引き名を使っているISPが新たに見つかったら、共有ブラックリスト(本格運用後の公開ブラックリスト)に載せることになる。
 また、S25Rの一般規則を使わない代わりとするブラックリストを検討していた頃の2010年11月3日の記事で、ウクライナのvolia.netの配下の、S25Rに引っかからない多くのホストからスパムアクセスがあったことを述べた(私はローカルのブラックリストでvolia.netをまるごと一時的受信拒否の対象としている)。www.volia.netにウェブアクセスするとwww.volia.com/ukr/にリダイレクトされ、翻訳にかけてみると、ネットワークサービスの会社とわかる。そこで、今後volia.net配下のホストからのスパムアクセスを私が発見したか協力者から通報された時には、上記3点目の条件に基づいてホストごとの一時的受信拒否条件を共有ブラックリストに掲載することになる。

金曜日, 6月 19, 2015

ウクライナのまともそうなサイトからのスパム――ブラックリストに登録せず

 今日(6月19日)、メールサーバっぽい名前のホストがSpamCopでブロックされた。

Jun 19 10:03:27 reject: RCPT from mail.malysh.ua[178.251.108.21]: 450 4.7.1 Service unavailable; Client host [178.251.108.21] blocked using bl.spamcop.net; Blocked - see http://www.spamcop.net/bl.shtml?178.251.108.21; from=<a***@malysh.ua> to=<d***@gabacho-net.jp> proto=ESMTP helo=<mail.malysh.ua>

 www.malysh.uaとmalysh.uaを順引きしたら別のIPアドレス77.87.194.17が検索され、ウェブアクセスしたらウクライナのベビー用品会社と思われるウェブページが現れた。
 メールアドレスはスパマーのプログラムで拾われないように伏せたが、送信者アドレスのユーザー名は「admin」である。受信者アドレスは私の個人アドレスで、whoisを調べればわかってしまうが、私が自分のウェブサイトで公開してはいないアドレスである(公開しているのはwebmaster)。受信拒否の応答コードは450にしているが、その後1時間以上過ぎてもリトライがない。このことから、一応はまともなビジネスの会社だが、多量のスパムのばらまきにチューンしたソフトをメールサーバにインストールして宣伝のスパムをばらまいたか、あるいはサーバが侵害されたと推測される。
 6月13日の記事で提案した「そのドメイン固有のまっとうなビジネスの情報を掲示するウェブがない」という条件に合わないので、共有ブラックリストに掲載しなかった。スパムを発信したとはいえ、この会社と取引のある国内会社が絶対にないとは言えないし、本格運用後の公開ブラックリストが外国でも使われたとしたら、その会社の顧客や取引会社が困ることになりかねない。だから、スパムの前科のあるホストについての「そのドメイン固有のまっとうなビジネスの情報を掲示するウェブがない」という掲載条件は妥当と言えると、今のところ考えている。

日曜日, 6月 14, 2015

怪しいホストの発見は順調

 昨日6月13日の記事で、着信したスパムに基づいて本文チェックの条件を変更したことを述べた。これが功を奏した。

Jun 14 19:41:43 reject: body Email: a***@sina.com from siyue.yujiazhan.com[64.110.129.130]; from=<k***@yahoo.de> to=<w***@gabacho-net.jp> proto=ESMTP helo=<siyue.yujiazhan.com>: 5.7.1 message content rejected

 これでsiyue.yujiazhan.comという新たな怪しいホストをまた発見して共有ブラックリストに掲載した。S25Rでは防御できないスパムを阻止しつつ、そのスパム送信元の情報を集めるということができている。なかなか快調である。
 こんなにちょくちょく怪しいホストが発見されると、本格運用開始後の公開ブラックリストの自動ダウンロードの頻度は、公開ホワイトリストの自動ダウンロードと同じく「一日1回まで」とお願いするよりも、もう少し高頻度でもかまわないとした方が、スパム阻止の成功確率が上がって喜ばれるかもしれない。そう考えていたら、ブラックリスト情報でご協力くださっている方がこれについてのご意見・ご提案もくださったので、今考えているところである。

土曜日, 6月 13, 2015

本文チェックによるブロック条件の追加

 昨日6月12日と今日13日の2回、「business solutions」というサブジェクトで本文がまったく同じスパムが着信した。送信者アドレスと送信元ホストは異なっていた。昨日の送信元ホストcongcong.diqiutong.net [181.214.50.138]はその後共有ブラックリストに掲載していた。今日の送信元yixiang.3dsheji.cc [103.41.176.30]も、そのドメインのウェブサイトがないという掲載条件を確かめた上で掲載した(いずれも、末端ホスト名とその有無にかかわらず引っかける正規表現にしている)。
 そのスパムの本文に特徴的な部分は、

Email: a***@sina.com

であった。5月22日の記事で、body_checksに

/(E-?mail|Contact):.+@tom\.com/ REJECT
/(E-?mail|Contact):.+@aliyun\.com/ REJECT

と設定したことを述べたが、これに「@sina.com」を加えて、文字列サーチの処理効率を考慮して

/(E-?mail|Contact):.+@(tom\.com|aliyun\.com|sina\.com)/ REJECT

と一行の条件に書き換えた。
 www.sina.comにアクセスすると、中国のまともそうなウェブサイトが現れる。しかし、「@sina.com」は拒絶ログで何度も見た記憶がある。だからといってsina.comは怪しいドメインだという意味ではなく、アドレスをかたられたり標的にされたりしやすいドメインなのかもしれない。
 今までにも言っているが、上記のような本文チェックや、サブジェクトなどのヘッダチェックは、無実のメールを恒久的受信拒否で蹴飛ばすおそれが皆無ではないので、個人サイトか、受信者全員の同意を得ることができる小規模サイトにしかお勧めしない。しかし、このようなスパムの送信元を掲載した共有ブラックリストは、中規模以上のサイトでも使っていただいて差し支えない。一時的受信拒否で蹴るように書いてあるので、そのまま使えば、あるいは許可の遅れ時間を長めに設定したグレイリスティングによって、偽陽性からの救済の余地があるからである。

名前が怪しくないホストのブラックリスト登録

 nairobi.pollmans.co.keというホストから何度かスパムアクセスが来ている。まだロールアウトされていないログを見る範囲では5月20日以来6回あり、宛先は毎回<a***.s***@yahoo.com>と同じで、Relay access deniedで蹴っている。
 keはケニアの国ドメイン、coは日本と同じく企業の属性ラベル、pollmansも、ヨーロッパ人の姓としてpollmanというのがある(sはDenny's(デニーズ)のsと同じく英語の所有格語尾とも推測できる)し、nairobiは都市名。名前からは怪しさは感じられない。しかし、www.pollmans.co.keは順引きできず、ウェブは見つからない。
 「いかにも怪しいと見えるドメイン」ではないが、前回の記事で述べた「スパム送信の前科があり、かつそのドメインの(まともな)ウェブがない」という、感覚的でない明確化した判定条件に合致するとして、共有ブラックリストに登録した。このホストからのスパム送信アクセスが第三者中継を目論むものだけだとすれば、ちゃんと対策しているサイトにとっては被害はないが、このホストが正しい宛先にスパムを送り込むことがないとは断定できないので。

送信元の怪しさの判定基準

 試行運用を始めた共有ブラックリストは、スパム送信用のドメインをたくさん取得するという手口でS25Rが突破されるのに対抗することを主目的としている。数字ばかりのサイトドメイン名やランダムっぽい英字列のサイトドメイン名は怪しいと考えられる。
 しかし、スパム送信の前科があるからといって、一応はまともなメールサーバがスパム送信に悪用されただけだとしたら、すべてのS25R利用サイトに対して「このホスト(またはドメイン)からのメールは一時的受信拒否で蹴飛ばして大丈夫ですよ」と情報提供するというわけにはいかない。そこから送信される正当なメールを受信したいサイトでは、ホワイトリストによる救済作業が必要になるか、救済を自動化していても受信遅延は起こってしまう。だから、ブラックリスト情報を提供してくださる方々のためにも、「怪しい」と判定できる明確な基準が必要だと考えた。
 そこで考えたのは、「そのドメインのウェブサイト(ドメイン名の左に「www.」を付けてアクセスする)がない」という判定条件である。6月9日の記事に記載したブラックリスト項目の大多数はこの条件に合っていた。昨日6月12日に着信したスパムの送信元congcong.diqiutong.net [181.214.50.138]を共有ブラックリストに掲載したが、やはりwww.diqiutong.netはアクセスできなかった(順引きできない)。
 例外は

www.27838.net
www.7819888.com

で、いずれも中国語のウェブページが現れた。しかし、前者は英語で「This domain name is for sale」という表示があり、後者は中国語で「このドメイン名(7819888.com)は有効期限が切れています」という意味らしいことが書かれている。このことから、まっとうなビジネスのためにきちんと運用されているドメインではないということが推定できる。
 まとめると、スパム送信の前科があったドメインを怪しいドメインと判定する基準は、
「ドメイン名の左に『www.』を付けてウェブアクセスをした時にウェブページが現れない、または、現れても、そのドメイン固有のまっとうなビジネスについての情報が掲示されていない」
ということである。

火曜日, 6月 09, 2015

共有ブラックリストの試行運用のお知らせ

 4月11日の記事で、数字だけのサイトドメイン名のホストからスパムが送られてくることが多いと報告して以来、スパマーがスパム送信のために取得したと思われるドメインがかなり多く見つかっている。また、6月3日の記事で、ランダムっぽい英字列のサイトドメイン名のホストからのスパムもかなり多いとの情報をコメントでいただいたことを紹介した。
 そのコメントをくださった方からメールをいただいた。日頃ホワイトリスト情報で協力してくださっている方だった。そういう、S25Rに引っかからない怪しいドメインを集めた共有ブラックリストを私が提供するなら協力していただけるとのことだったので、試行運用をしてみることにした。「ボットからのスパム送信を封じ込めてしまったS25Rが、多数のスパム送信用ドメインの取得という手口で裏をかかれ始めている」と思われるのが癪だからという思いもあってのことである。
 提供ファイルのURLは

http://www.gabacho-net.jp/anti-spam/black-list.txt

である(以前、このファイル名で「S25Rの一般規則による偽陽性を避けるために一般規則をやめる代わりのドメインブラックリスト」を試行提供したことがあるが、立ち消えになってしまったので、そちらはもうやめることにする)。
 共有ブラックリストを利用するには、/etc/postfix/main.cfファイルで以下のように指定する(サイトごとのカスタマイズは適当に)。

smtpd_client_restrictions =
  permit_mynetworks,
  check_helo_access regexp:/etc/postfix/helo_restrictions, # 違法なHELOの拒否
  reject_unauth_destination, # 第三者中継の拒否
  reject_unlisted_recipient, # 受信者不明の拒否
  check_client_access regexp:/etc/postfix/white-list.txt, # 公開ホワイトリスト
  check_client_access regexp:/etc/postfix/white_list, # ローカルホワイトリスト
  check_client_access regexp:/etc/postfix/black-list.txt, # 共有ブラックリスト
  check_client_access regexp:/etc/postfix/rejections # ローカルブラックリストと一般規則

 cronジョブで自動ダウンロードされる場合は、試行運用期間中は一時間1回までならしていただいてよい。ただし、もし本格運用に至った時には、公開ホワイトリストと同じく一日1回までとお願いすることになると思う。
 ポリシーは以下のとおりとする。
  • スパムの前科があり、S25Rチェックをパスする(つまり、逆引きできてパラノイド検査もパスする)送信元ホストのFQDNをコメント行に記載する。
  • ドメイン自体が怪しいと推測される場合は、ドメイン丸ごとの拒否条件式を記載する。
  • 拒否条件指定は「450 spam ex-convict」(スパムの前科者)とする。システム環境やポリシーに応じた書き換えは利用サイトで適当に。
  • ドメインが消滅したか、または怪しいドメインではないことに、私が気付いたかまたは協力者から通知された時には、掲載を取り消す。
 協力いただける方は、メール掲示板かこのブログへのコメントのいずれでもよいので、情報をお寄せください。

 このような怪しいドメインで、スパムアクセスがあってから1ヶ月も経たずにもう消滅しているものもあった。今日サーバに載せた内容は以下のとおりである。今日時点で、FQDNが順引きできることは確認している。

# *** PUBLISHED S25R BLACK LIST ***
# Last update: Jun 09, 2015
# (*): reported by a contributor

# Jun 09, 2015: yayi.armsgame.com
/^(.+\.)?armsgame.com$/ 450 spam ex-convict

# Jun 09, 2015: kongdao.hljccl.com
/^(.+\.)?hljccl\.com$/ 450 spam ex-convict

# Jun 09, 2015: sunshine.nunv.net
/^(.+\.)?nunv.net$/ 450 spam ex-convict

# Jun 09, 2015: coco.27838.net
/^(.+\.)?27838\.net$/ 450 spam ex-convict

# Jun 09, 2015: july.7819888.com
/^(.+\.)?7819888\.com$/ 450 spam ex-convict

# Jun 09, 2015: dove.150686.com
/^(.+\.)?150686\.com$/ 450 spam ex-convict

# Jun 09, 2015: pizza.89mt.com
/^(.+\.)?89mt\.com$/ 450 spam ex-convict

# Jun 09, 2015: chu.0530ok.com
/^(.+\.)?0530ok\.com$/ 450 spam ex-convict

# Jun 09, 2015: mar.xzmp4.com
/^(.+\.)?xzmp4\.com$/ 450 spam ex-convict

# Jun 09, 2015: black.loudiok.com
/^(.+\.)?loudiok\.com$/ 450 spam ex-convict

# Jun 09, 2015: right.68706.net
/^(.+\.)?68706\.net$/ 450 spam ex-convict

# Jun 09, 2015: maidong.20962.net
/^(.+\.)?20962\.net$/ 450 spam ex-convict

# Jun 09, 2015: white.91yuepao.com
/^(.+\.)?91yuepao\.com$/ 450 spam ex-convict

# Jun 09, 2015: jizhoudao.13015.net
/^(.+\.)?13015\.net$/ 450 spam ex-convict

水曜日, 6月 03, 2015

Fromヘッダでブロック

 すでに着信してしまったスパム、およびサブジェクトのチェック(「image editing」)や本文チェック(「@aliyun.com」)や「5桁以上連続する数字で始まるサイトドメイン名」の条件でブロックされたスパムに、送信者エンベロープアドレスとFromヘッダのメールドメインが共に「@yandex.com」であるものがかなりあることに気付いた。そこでheader_checksに

/From:.+@yandex\.com/ REJECT

と設定しておいたら、これが効いていた。

Jun  2 20:20:32 reject: header From: "Louis" <q***@yandex.com> from coorner.yjec.net[108.170.60.178]; from=<q***@yandex.com> to=<w***@gabacho-net.jp> proto=ESMTP helo=<coorner.yjec.net>: 5.7.1 message content rejected
Jun  3 00:29:03 reject: header From: "Louis" <q***@yandex.com> from white.91yuepao.com[192.99.193.104]; from=<q***@yandex.com> to=<w***@gabacho-net.jp> proto=ESMTP helo=<white.91yuepao.com>: 5.7.1 message content rejected

 「check_sender_accessで蹴った方がデータ伝送が減るのに」と思う人がいらっしゃると思うが、あえてFromヘッダをチェックするようにした。というのは、エラーメッセージが「sender address rejected」だと、スパマーは「ならば送信者アドレスを変えれば着信するだろう」と容易に推測できてしまうが、ヘッダチェックだとエラーメッセージが「message content rejected」になり、ヘッダと本文の中のどこが引っかかったのかがスパマーにはわからないからである。

 2014年11月3日「一日中拒絶記録がなかった日」で、スパムアクセスが非常に減っていることを述べたが、またぞろ増えてきた(1ヶ月で6158個ものスパム送信元ホストが発見された2007年ほどのひどい状況ではないが)。これに対抗する工夫をするのもなかなか楽しい。

ランダムな英字のサイトドメイン名

 5月25日「数字で始まるサイトドメイン名――今までに見つかったもの」に対して、匿名さんからコメントをいただいた。

ランダムっぽい6文字の英字.com も、はやりのようです。
コメント(#)は、whois情報。
以下は、いわゆる、お馴染みさんの例です。(同じ登録者で複数のドメイン)
いずれも、milter-greylist の数十分の再送要求期間を突破してきたものです。
逆引きが設定されていることは少ないですが、helo または エンベロープfrom で、ブロックすることができます。

# Lloyd, David ( Coxsackie NY, US )
/\.wbecse\.com$/
/\.gqxbut\.com$/
/\.nstjss\.com$/

# Ruiz, Aaron ( San Gabriel CA, US )
/\.svjpjp\.com$/
/\.dbdwdt\.com$/

# Robertson, Anna ( Auburn WA, US )
/\.tstdmt\.com$/
/\.xnqsad\.com$/

# Ray, Brian ( Queensbury NY, US )
/\.tfsmdk\.com$/
/\.rnjqdm\.com$/
/\.uuhwxd\.com$/

# Sun, Yingting ( Gangtang Hubeisheng, CN )
/\.anfpsk\.com$/
/\.kfkayj\.com$/
/\.picqym\.com$/
/\.qixjsf\.com$/
/\.typlej\.com$/

6文字の英字.com 以外のお馴染みさんの例は、

# Marius Mica ( Bucuresti, RO )
/\.debita\.info$/
/\.sockinga\.info$/
/\.bristlesa\.info$/
/\.shutteremail\.info$/

# Sam Lin ( Shenzhen GD, CN )
/\.summerglasses\.info$/
/\.supsunglass\.info$/

これ以外にも沢山ありますが、きりがないので、サンプルとして。

 貴重な情報に感謝したい。
 「5桁以上連続する数字で始まるサイトドメイン名」という条件は怪しさを定式化できたものだが、「ランダムっぽい英字列」は定式化しにくい。スパマーがスパム送信のために取得したドメインで、怪しさの定式化に合致しないものは、一つ一つブラックリストに載せるしかないだろう。その情報を皆で提供し合ってS25R導入サイトで共有できるようにしようとの気運が盛り上がれば、私が公開ホワイトリストと同様にそのまとめ役をしてもよいと思っている。

 ちなみに、私のサイトで発見した、数字で始まるサイトドメイン名のスパム送信ホストとしては、冒頭でリンクした5月25日の記事で紹介したものに加えて、その後さらに以下が見つかっている。

subway.88881122.com [181.214.50.111]
maidong.20962.net [199.119.206.105]
white.91yuepao.com [192.99.193.104] *
martyi.10001688.com [192.99.193.103]

(*は「5桁以上連続する数字で始まる」という条件には引っかからなかったもの。ヘッダチェックでブロックしていた。)

火曜日, 6月 02, 2015

某著名サイトのホワイトリスト項目

 本日(2015年6月2日)、公開ホワイトリストに以下の著名サイトの項目を掲載した。

# Jun 02, 2015: outbound.apac.e.paypal.com
/^208\.94\.23\.107$/ OK

 実は、私宛のアナウンスメールがブロックされているのを発見してホワイトリスト登録で受信したのは5月23日のことである。Postfixが表示した逆引き名はunknownだったが、逆引きできないのではなく、逆引き結果がoutbound.apac.e.paypal.com.23.94.208.in-addr.arpa.となり、パラノイド検査エラーになっていたのである。
 著名なサイトだから、教えてあげればDNS設定を直してくれるだろう、そうすれば公開ホワイトリストに掲載するまでもないと思った。問い合わせフォームには適切な分類先がなかったが、近いと思われるものを選んで書き込んだ。
「私のメールサーバーが貴社からのメールを受信保留しました。原因は、貴社のメールサーバーのIPアドレス208.94.23.107の逆引き名がoutbound.apac.e.paypal.com.23.94.208.in-addr.arpa.と誤ったものになっていたため、不審なホストと判定したものです(許可条件を設定してすでに受信はできています)。DNSの設定で逆引き名の末尾のドットが抜けていると思われます。ご確認いただければ幸いです。」
 世界的な企業なので、ネットワーク管理担当者は日本人ではないだろうと気を回して、英文も併記した。
 日本語の回答が来て、「技術的な内容なので、テクニカルサポートへ」とたらい回しされた。
 示されたテクニカルサポートのURLにアクセスして、また英文併記で書いた。英語で「関係部門で調査します」という回答が来た。
 その後、問い合わせについてのフィードバック依頼が来たので、対応について「きわめて不満足」と回答した。「顧客サポートを依頼したのではなく、貴社のネットワークマネジメント上の不備を善意で教えて差し上げたのだから、どの担当者が受けたものであっても、たらい回しせず、貴社内で連絡を伝えてくださるべきです」。

 結局、今日に至るまでDNSは直っていないので、公開ホワイトリストに掲載した。もちろん、同社のネットワークマネジメント上の不備を言いふらすためではなく、S25R導入サイトへの協力のためである。

[追記]
 208.94.23.107の逆引き名を「outbound.apac.e.paypal.com.」と設定すべきところ末尾のドットを抜かしただけかと思ったら、そうではないようだ。outbound.apac.e.paypal.com(HELOアドレスもこうなっていた)を順引きしたら、96.47.30.195、96.47.30.198、96.47.30.197、96.47.30.196、96.47.30.181、96.47.30.182という、別のIPアドレス帯の複数のIPアドレスが検索された。通常は一つの名前から複数のIPアドレスが順引きされるのはかまわないが、逆引き名として設定された名前でこれをやっちゃいかん。同社のDNS設定はあまりきちんとしていないらしい。
 で、公開ホワイトリストのコメント行は

# Jun 02, 2015: paypal.com's

と変えた。コメント行に正確なFQDNを記載するのは、その順引き結果のIPアドレスが、逆引きできないIPアドレス、またはS25Rに引っかかる逆引き名に対応するIPアドレスに一致する場合というのを公開ホワイトリストの記述の原則としてきたので。

金曜日, 5月 29, 2015

数字だけのサイトドメイン名のホストの挙動

 前回、スパムを送ってくる、サイトドメイン名が数字だけから成る様々なドメインを挙げた。いずれも末端ホスト名はS25Rに引っかからない、英字だけから成る名前なので、ISPに直結したPCがボット化したものとは思われず、スパマーがドメインを多数取得してスパム送信用コンピュータを運用しているものと思われる。
 しかしその挙動は、まともに再送信するメールサーバのそれではなく、ボットそっくりである。拒絶ログソーティングスクリプトの表示形式で示す。

May 22 20:27:53 C alone.000086.net [69.12.83.148] from=<m***@mail.com> to=<w***@gabacho-net.jp> helo=<alone.000086.net>

1回きりの送信で、再送信していなかった。

May 25 12:34:41 C dove.150686.com [89.35.134.136] from=<m***@yandex.com> to=<w***@gabacho-net.jp> helo=<dove.150686.com>
May 25 13:34:46 C dove.150686.com [89.35.134.136] from=<m***@yandex.com> to=<w***@gabacho-net.jp> helo=<dove.150686.com>

1時間後に1回だけ再送信したように見える。しかし、2通のスパムを再送信なしで送信したものという可能性もある。

May 29 13:21:27 C right.68706.net [199.180.255.251] from=<d***@yandex.com> to=<w***@gabacho-net.jp> helo=<right.68706.net>

May 29 13:50:16 C right.68706.net [199.180.255.251] from=<q***@yandex.com> to=<w***@gabacho-net.jp> helo=<right.68706.net>
May 29 16:26:05 C right.68706.net [199.180.255.251] from=<q***@yandex.com> to=<w***@gabacho-net.jp> helo=<right.68706.net>

前回挙げた中にない新しいホストである。送信者アドレスは2件で、2件目は再送信したように見えるが、時間間隔は2時間半以上。まともなメールサーバにはまずない挙動である。
 こんな挙動だから、

/^(.+\.)?[0-9]{5}[^.]*\.(com|net)$/ 450 domain check, be patient

という設定はお勧めだと思う。

月曜日, 5月 25, 2015

数字で始まるサイトドメイン名――今までに見つかったもの

 5月1日の記事で紹介した

/^(.+\.)?[0-9]{5}[^.]*\.(com|net)$/ 450 domain check, be patient

という拒否条件は、「トップレベルドメインがcomかnetで、サイトドメイン名は5桁以上連続する数字列で始まる」という条件である。これに引っかかるホストは、すでに着信してしまったものと阻止に成功したものとを併せて、これだけある。

coco.27838.net [103.1.149.180]
july.7819888.com [104.171.113.11]
rain.828873.com [162.244.79.167]
west.488859.com [107.179.86.53]
yamoy.9001888.com [178.251.230.21]
gonna.135328.com [198.144.181.6]
alone.000086.net [69.12.83.148]
dove.150686.com [89.35.134.136]

けっこうよく効く拒否条件のようである。
 惜しくもこれに引っかからないものには

pizza.89mt.com [216.107.147.253]
chu.0530ok.com [192.254.79.254]

があったが、サイトドメイン名の数字列の条件を「5桁以上」よりも短くすることまではしていない。

 それと、3qbo.netというドメインは見るからに怪しいとまでは言えないが、mta3.3qbo.netやmta44.3qbo.netなど配下の多くのホストから<otori1@gabacho-net.jp>というおとりのアドレス(2003年にスパムの研究のためにホームページに仕掛けたもので、とっくにuser unknownになるようにしている)に宛てて何度もスパムアクセスがある。まともなウェブサイトが組まれていないようだということもあるし、怪しいドメインかな?

金曜日, 5月 22, 2015

本文チェックによるブロック――続編

 5月19日「本文チェックによるブロックに成功」で、

/@aliyun\.com/ REJECT

という本文チェックでスパムのブロックに成功したことを述べた。
 過去に着信したスパムを調べたところ、「***@tom.com」というメールアドレスが本文に書かれたスパムも2月25日から5月20日にかけて7通あったことに気付いた。そこで、

/@tom\.com/ REJECT

というチェックも加えた。
 その成果は3回あった。日付と送信元は以下のとおりである。

May 21 00:07:05 jelly.juiceupcleanse.net[103.41.176.17]
May 21 02:08:42 jelly.juiceupcleanse.net[103.41.176.17]
May 22 21:28:03 mar.xzmp4.com[103.41.176.16]

 今気付いたんだが、送信元の逆引き名のドメインは全然違うけど、IPアドレスは隣なんだな。

 なお、aliyun.comもtom.comもウェブサイトを持っていて、中国のサイトだとわかった。これらのサイトがスパムに一枚噛んでいるとも考えられるが、連絡先アドレスを単に利用されているかかたられている可能性も否定できないと思った。そこで、該当するどのスパムでもこれらのメールアドレスの前に「Email:」または「Contact:」という語があったことを考慮して、無実のメールが誤ってブロックされるリスクを減らすために、body_checksの記述を次のように変更した。

/(E-?mail|Contact):.+@tom\.com/ REJECT
/(E-?mail|Contact):.+@aliyun\.com/ REJECT

火曜日, 5月 19, 2015

hinet.net

 2003年にS25R方式の開発を始めてから2004年の発表の数年後までの時期にスパム発信の常連さんだったドメインの多くは、スパムの発信源になることがほぼなくなった。逆引きをまともに設定しているISPの多くにOP25Bが普及したからだろう。
 しかし、その中でhinet.netは、相当大規模なISPにもかかわらず未だにOP25Bの導入を拒んでいると見える。5月に入ってからもこーんなにある。

May  1 14:30:42 114-45-24-226.dynamic.hinet.net
May  1 18:08:11 118-161-243-204.dynamic.hinet.net
May  3 16:17:56 118-161-243-52.dynamic.hinet.net
May  3 18:03:58 118-166-215-6.dynamic.hinet.net
May  3 18:35:41 118-161-245-200.dynamic.hinet.net
May  4 16:00:05 111-243-59-212.dynamic.hinet.net
May  5 14:39:57 118-165-146-172.dynamic.hinet.net
May  8 06:50:46 118-166-236-82.dynamic.hinet.net
May  8 16:50:42 118-166-251-85.dynamic.hinet.net
May 12 13:08:20 36-224-128-84.dynamic-ip.hinet.net
May 14 09:01:55 114-37-190-188.dynamic.hinet.net
May 15 15:54:46 111-243-60-50.dynamic.hinet.net
May 18 09:40:41 114-43-245-162.dynamic.hinet.net
May 19 02:39:04 1-160-126-37.dynamic.hinet.net
May 19 06:18:22 36-225-28-13.dynamic-ip.hinet.net

 なぜかここのところ、hinet.netからはことごとく第三者中継を目論むアクセスなのだが、正しいアドレスに宛てたスパムだろうと、S25Rに引っかかるから全然やっかいではない。かつて私は、「受信側対策としてのS25Rがあれば、送信側対策としてのOP25Bはやってくれなくても全然かまわない」と思っていた。
 しかし今は、OP25Bの普及はつくづくありがたいと思っている。スパムアクセスの総数が非常に減ったからという理由もあるが、最も大きな理由は、「動的IPアドレスのメールサーバの存在を無視するS25Rはけしからん」という批判ができなくなったことである。「正当なメールは、送信側エンドユーザーコンピュータ(特に動的IPアドレスのもの)からは受信側メールサーバへ直送せず、送信側メールサーバで中継する」という具合にメール配送ルートに秩序を持たせるというコンセプトにおいて、S25RとOP25Bには共通性があるのである。

こんなドメインあるんだねえ

 2015年4月24日に、第三者中継を目論むこんなアクセスがあった。

Apr 24 09:16:49 reject: RCPT from ip98.ip-5-135-192.eu[5.135.192.98]: 554 5.7.1 <***@gmail.com>: Relay access denied; …
Apr 24 09:16:51 reject: RCPT from ip98.ip-5-135-192.eu[5.135.192.98]: 554 5.7.1 <***@gmail.com>: Relay access denied; …
Apr 24 09:16:52 reject: RCPT from ip98.ip-5-135-192.eu[5.135.192.98]: 554 5.7.1 <***@gmail.com>: Relay access denied; …

 euは欧州連合の国ドメインである。トップレベルドメインの直下がIPアドレスの上位3オクテットをそのまま反映したドメイン名になっているなんて初めて見た。
 第三者中継はS25Rチェックよりも先にチェックするように設定しているので「Relay access denied」で蹴っているが、この送信元の逆引きFQDNは一般規則のルール4に引っかかる。ルール3はsmtp.246.ne.jp(実在)を蹴らないように、ルール5はmail1.number1.co.jp(ホスト名は架空、ドメイン名は実在)を蹴らないように上位3階層を検査から除外するようにしていて、ルール4もmail1.1-2-3.co.jp(ホスト名は架空、ドメイン名は実在)を蹴らないようにしようかと検討したのだが、wbar9.chi1-4-11-085-222.dsl-verizon.netやm226.net81-66-158.noos.fr(2003年のS25R開発時に発見されたスパム送信元の実例)を蹴れるように、ルール4についてはその偽陽性回避策を採らなかったからである。

本文チェックによるブロックに成功

 本文に共通点のあるスパムが最近4件着信していた。日付、送信元、サブジェクトを示す。

2015/04/03 july.7819888.com "we can bring you buyers"
2015/04/09 rain.828873.com "need pics retouching?"
2015/04/16 pizza.89mt.com "need email marketing?"
2015/05/06 boo.bianmingdai.com "find new customers"

 本文の共通性というのは、
Contact: ***@aliyun.com
または
Email: ***@aliyun.com
という文が入っていることである。メールアドレスのユーザー名は毎回違っていたが、aliyun.comは一定。これはスパマーがコンタクトを受けるためのドメインだと推測した。ユーザー名をいくつでも用意するのは簡単だろうが、ドメインはそうそういくつも用意できないだろう。そこで、body_checksに

/@aliyun\.com/ REJECT

と設定していた。
 これで5月15日に1件、送信元chu.0530ok.comからのスパムのブロックに成功していた。送信者アドレスのドメインはyahoo.comで、送信元はyahoo.comのSPFと一致しないので、蹴飛ばして問題なかっただろう。
 なお、4月11日の記事にも書いたとおり、このようなブロッキングは、個人サイトか、ユーザー全員の了解を得ることができる小規模サイトでなければお勧めしない。私がこれを書いているのは、あくまでも自分の活動日誌として、また、閲覧者への単なる参考のためである。対策なしでは一日200通ほどのスパムを受けていた人も、S25Rによってスパムの受信は一日数通(グレイリスティングなどで偽陽性判定からの自動救済をしていてもおそらく10通程度)と、仕事を邪魔されない程度にまではなっているはずだから、業務でメールシステム管理をしている人は、こんな趣味的なブロッキングにうつつを抜かすべきではない。

火曜日, 5月 12, 2015

サブジェクトでの拒否が突き抜けられた

 4月11日の記事

/Subject: .*(photo|image|pic|picture)s? +(retouching|editing|clipping|cut ?out)/ REJECT

という拒否条件を設定したことを述べたが、今日(5月12日)、「image solutions」というサブジェクトで突き抜けられた(送信元はlondon.weisim.net)。拒否条件を次のように変更した。

/Subject: .*(photo|image|pic|picture)s? +(retouching|editing|clipping|cut ?out|solution)/ REJECT

今回は「solutions」と複数形だったが、単数形でも引っかかるようにした。もちろん、後続の文字の条件は指定していないので複数形でも引っかかる。

日曜日, 5月 03, 2015

迷惑電話対策

 迷惑メールでなく迷惑電話の話。
 我が家の固定電話に、出たらすぐに切れてしまうという変な電話がかかってくることが時々あった。かつて使っていたISDNとは違って、ひかり電話では発信番号通知がデフォルトではないので、追加で契約した。
 出たらすぐに切れてしまうのは番号非通知のコールだとわかった。電話機に「ヒツウチ」と表示された時にはほったらかしてみたら、決まって呼び出し音10回で切れた。何のためにかけてくるのか、わけわからん。
 電話機に、番号非通知のコールに対して「番号を通知してかけ直せ」とアナウンスを返して切る機能があったので、ナンバーリクエストサービスを追加契約しなくても対策ができた。reject_unknown_clientのようなものだな。ちょっと違うけど。
 ひかりルータのログを見ると、番号非通知のコールは2014年12月に2回、2015年1月に1回、2月に1回、3月に9回、4月に2回あった。最も新しい記録は4月25日である。敵はまだあきらめてはいないものと見える。

 それで思い出したのだが、NTTの発信番号通知サービスの開始がアナウンスされたころ、タモリさんがラジオ番組で「かけ手側では番号の通知を(184をダイヤルして)拒否できる?でも受け手側では番号非通知の電話を拒否できる?わけわからん」という意味のことを言っていた。一見相対立するポリシーだが、かけ手が悩み事相談などで自分のプライバシーを守りたい時には番号通知を拒否できるし、受け手が「いのちの電話」や事業者ならば番号非通知のコールも拒否しない、一方、一般家庭では身元を隠すかけ手からのコールを拒否したいと思えばできるということである。ユーザーのポリシーで選択できるということで、それは言い換えれば、ユーザーは自分のために最も良いサービスの選択を自分で判断しなければならない、選択の自由度が高まれば選択の責任は自分が負うということである。今は広く理解されていることだと思うが、当初は一般ユーザーにはなかなか理解しにくかったようである。

金曜日, 5月 01, 2015

サブジェクトで拒否&数字だけのサイトドメイン名――続編

 前回、サブジェクトの拒否条件を紹介した。header_checksに設定している条件は次のとおり。

/Subject: .*(photo|image|pic|picture)s? +(retouching|editing|clipping|cut ?out)/ REJECT

これでまた成果があった。日付、送信元ホスト、サブジェクトを示す。

2015/04/29 beijing.china-fxcm.com "pics editing solutions"

これの前の4月9日に着信したスパムのサブジェクトは「need pics retouching?」だったのだが、さらに語を変えてきたのをうまく撃退できた。

 それと、4月16日に「need email marketing?」というサブジェクトのスパムがpizza.89mt.comから着信したので、header_checksに

/Subject: .*email +marketing/ REJECT

を加えておいたら、4月20日に「email marketing」というサブジェクトのスパム(送信元はkim.dq95.com)をブロックできた。その後、「email」を「e-mail」と変えてきてもブロックできるように、

/Subject: .*e-?mail +marketing/ REJECT

と変更している。

 数字だけのサイトドメイン名に対する警戒策の成果は、その後2件あった。拒絶ログソーティングスクリプトの表示形式で示す。いずれもリトライはなかった。

Apr 21 23:52:10 C yamoy.9001888.com [178.251.230.21] from=<***@mail.com> to=<***@gabacho-net.jp> helo=<yamoy.9001888.com>

Apr 23 19:36:16 C gonna.135328.com [198.144.181.6] from=<***@mail.com> to=<***@gabacho-net.jp> helo=<gonna.135328.com>

 その後、拒否条件を次のように変更している。

/\.[0-9]+\.(com|net)$/ 450 domain check, be patient

/^(.+\.)?[0-9]{5}[^.]*\.(com|net)$/ 450 domain check, be patient

理由は、ニッポン放送の1242.comのような真っ当なドメインはあるが(これはメール用であって逆引き名には使われていないかもしれないけれども)、スパムを送ってきた数字だけのサイトドメイン名はいずれも数字5桁以上であること、サイトドメイン名が数字で始まって数字が5桁以上続いたら、あとは英字が含まれていても不自然な名前として警戒してよいだろうと考えたこと、それと、末端ホスト名が省略された逆引き名であっても引っかけようと考えたからである。

土曜日, 4月 11, 2015

似たスパムをサブジェクトで拒否&数字だけのサイトドメイン名のチェック

 2013年以来、内容のよく似た英語のスパムが何度も着信している。送信元の逆引き名の多くはS25Rに引っかからない。ボットでなくメールサーバらしい。リトライを発見して許可してみたらスパムだったというものもある。
 日付、送信元、サブジェクトは以下のとおり。サブジェクトが同じものの重複は省略している。

2013/05/06 mail.keremara.co.ke "Photo Retouching Services - Photo Cut Out - Photo Editing"
2014/07/15 miweier.net "Photo Retouching Services - Photo Editing - Photo Cutout"
2014/07/15 sangshuang.com "Photo Retouching Services - Photo Cut Out - Photo Masking"
2014/10/03 okbad.org "Photo Editing Services - Photo Cut Out - Photo Retouching"
2014/12/18 sichuan.top188.net "image editing services"
2015/01/22 air.hsntdhv.com "photo clipping path"
2015/01/22 blue.eejjbmn.com "photo cutout service"
2015/02/03 dallas.sbvqbwk.com "introducing our photo retouching"
2015/02/20 rvnrfck.com "just introducing our photo retouching"
2015/03/21 coco.27838.net "need photo clipping path and retouching?"
2015/03/24 fave.taodazhong.com "Are you interested in photo retouching?"
2015/04/09 rain.828873.com "need pics retouching?"

 送信元ホストはばらばらなので、サブジェクトに基づく拒否を設定した。そうしたら敵は少しずつ語を変えて送り込んできたので、こちらもだんだん網を広げた。それで何度かブロックに成功した。4月9日には、「photo」や「image」に概念が共通している「pics」という語を使ってきたので、「pic」と、まだ来ていない「picture」も加え、さらにそれらに複数語尾「s」が付くか否かにかかわらず引っかけるようにした。header_checksに現在設定している条件は次のとおり。

/Subject: .*(photo|image|pic|picture)s? +(retouching|editing|clipping|cut ?out)/ REJECT

 これで真っ当なメールを恒久的受信拒否してしまうおそれは皆無ではないので、個人サイトか、ユーザー全員の了解を得ることができる小規模サイトでなければ、この設定はお勧めしない。

 もう一つ、coco.27838.netおよびrain.828873.comという送信元ホストに着目。数字だけのサイトドメイン名は、スパマーがスパム送信のために多数取得するドメインである可能性が高いと推測し、S25R拒否条件ファイル(/etc/postfix/rejections)に以下を加えた。

/\.[0-9]+\.(com|net)$/ 450 domain check, be patient

 この形の真っ当なドメインとして思い出すのは、1242kHzのAMラジオのニッポン放送のドメイン1242.comであるが、そのMXはmailav.jolf.jp(JOLFはニッポン放送のコールサイン)。送信サーバもこれだとすれば問題ない。もし引っかかっても、一時的受信拒否だから救済可能。許可条件は、拒否条件ファイルの中でこれの直前に書くのがわかりやすいと思う。
 これで新たな怪しいホストが引っかかった。以下は拒絶ログソーティングスクリプトによる表示。

Apr 10 22:41:22 C west.488859.com [107.179.86.53] from=<***@mail.com> to=<***@gabacho-net.jp> helo=<west.488859.com>
Apr 11 00:32:20 〃
Apr 11 02:25:09 〃
Apr 11 03:01:52 〃
Apr 11 03:25:15 〃
Apr 11 04:01:55 〃

 リトライは6時間未満で止まっていた。善良な送信者がメーラーで送信したメールならメールサーバが24時間未満でリトライをやめることはまずないので、放っておけばいいだろう。

土曜日, 2月 28, 2015

拒絶ログソーティングスクリプトの改造と公表はご自由に

 ロシアの方から、拒絶ログソーティングスクリプトの改良の提案をいただいた。
  • Suppress_single_access_recordsオプションをスクリプトの先頭に移動する。
  • トランスペアレントログファイルの復元機能を加える。
  • プログラム名AWKでコンフィグレーション可能にする。
  • リトライの同一レコードを抑止するSuppress_duplicate_recordsオプションを加える。
 スキルフルな人がこのスクリプトを「作者が様々なニーズを組み入れて発展させるべきソフトウェア著作物」と思って提案してくださったものと思うが、私の考えは違うので、次のように回答した。

「ご提案ありがとうございます。私の拒絶ログソーティングスクリプトは、私のシステム環境と私のニーズに合うように(様々なシステム環境やニーズを考慮せずに)、また、スキルフルでないメールシステム管理者にとって利用や改造がしやすいように作ってあります。私はこのスクリプトの著作権を主張しません。あなたの利便性のために改造すること、あなたの改造を公表することはご遠慮なくなさってください。」