日曜日, 10月 31, 2010

公開ブラックリストの利用法

 一般規則のルール1~6をやめるという方法を採るための代わりとなる、スパムアクセスの前科のあるドメインの公開ブラックリストを、この方法を試したい人のために仮開放しようと思う。ファイルは

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

に仮登録してある。
 この方法を使うための推奨設定は次のとおりである。なお、Q&Aのページで説明している、permit_sasl_authenticatedやreject_unlisted_recipientなどの追加指定は省略して示す。

smtpd_client_restrictions =
  permit_mynetworks,
  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

●white-list.txt:公開ホワイトリスト
●white_list:ローカルのホワイトリスト
●black-list.txt:公開ブラックリスト
●rejections:ローカルのブラックリストと一般規則のルール0(ルール1~6はコメントアウトする)

 公開ホワイトリストは、ルール1~6が有効であることを前提としたものそのままであり、その中の逆引きできるホストの指定は不要なものである。しかし、あえてそのまま使うことを推奨したい。それまで届いていたメールがブラックリストの更新で突然ブロックされることが、すでに知られたメールサーバについては避けられるからである。逆引きできないホストだけを集めた第二のホワイトリストファイルを作って提供することはしないことにした。
 この方法を採れば、S25R一般規則に引っかかる未知のメールサーバであっても、逆引きできて、かつブラックリストに登録されたドメインになければ、ブロックされずに済む。ただし、以下のことに留意していただきたい。

●S25R一般規則でならブロックできたスパムがすり抜けることがありうる。
●逆引きできない未知のメールサーバがブロックされることは変わらない(スパム対策上、逆引きできないホストを一律に許可するわけにはいかないから)。
●ブラックリストの更新によって、それまでブロックされていなかったメールサーバがブロックされるようになる(ホワイトリスト登録が必要になる)ことがありうる。

 S25R一般規則に引っかかる未知のメールサーバをブロックしないことを優先したいか、未知のボットネットからのスパムをS25R一般規則でブロックすることを優先したいかは、それぞれのサイトで判断していただきたい。

ブラックリストに登録しない条件

 一般規則のルール1~6をやめるというアイデアを思い付いた後、うすうす気になっていたことがあった。固定IPアドレスからのスパムアクセスである。2007年8月7日「スタティックIPアドレス」で述べたように、固定IPアドレスからのスパムアクセスは、無視できるほど少なくはなさそうだからである。
 このアイデアがいけるかもしれないと思ったのは、OP25Bが国内に普及し、世界にも広まりつつあると見られるからである。OP25Bは、動的IPアドレスのエンドユーザー回線から他ネットワークへのポート25をブロックする。しかし、固定IPアドレスからのポート25はブロックしない(もちろん、そんなことをされては、メールサーバを運用したいユーザーが困る)。固定IPアドレスで接続されたLANにもエンドユーザーコンピュータがつながることはある。それがウィルスに侵されてボット化すれば、そこからスパムアクセスが来る。
 それが本当に来た。国内の固定IPアドレスなので、ユーザーが特定されるのを避けるために、逆引きFQDNの数字の部分を伏せ字で示す。

p****-ipbffx**marunouchi.tokyo.ocn.ne.jp

 OCNは大手ISPで、もちろんOP25Bを導入している。そのOCNからのスパムアクセスであること、「fx」という綴りが「fixed」の意味と想像されること、協力者から寄せられたホワイトリスト情報に同様の逆引き名があることから、固定IPアドレスであることは間違いない。
 私は、一般規則をやめる代わりのブラックリストの作成にあたって、1回でもスパムアクセスがあったドメインは(たとえ「static」の綴りを含んでも)ブラックリストに登録してきた。しかし、OCNをブラックリストに登録するわけにはいかない。OCNのドメイン内のホワイトリスト情報はいくつか寄せられており、ホワイトリストに未登録のメールサーバも潜在していると考えられるからである。
 このことから、ブラックリスト登録に手心を加える基準というものをはっきりさせる必要があると考えた。今考えている、ブラックリストに登録しない、あるいは登録解除の要請に応じるための(すべて満たすべき)条件は次のとおりである。

●OP25Bを導入しているISPであること。
●そのISPの固定IPアドレスからのスパムアクセスがめったにないこと。目安として、私のサイトでの調査では、過去1ヶ月以内にスパムアクセスをして来たホストが高々1個しかないこと。
●そのISP内の、S25Rに引っかかる固定IPアドレスのメールサーバが公開ホワイトリストに登録されているか、または新たに報告されること。

 ブラックリストに登録しているドメインのほとんどは外国のものなので、国内のサイトでは、ブラックリストによる偽陽性判定は起こりにくいと思う。しかし、その可能性はある。もし「我々のサイトではこのドメインからメールを受信するので、ブラックリストから除いてほしい」という要請があったら、上記の条件に基づいて受理する考えである。
 なお、ブラックリストで偽陽性判定されるメールサーバは具体的に報告していただき、通常のホワイトリスト情報の提供と同じ扱いで公開ホワイトリストに掲載する。それはもちろん、一般規則をやめる方法を採用しないS25Rユーザーのためである。

月曜日, 10月 25, 2010

ブラックリストの作成が終わらない

 長いことブログをほったらかしてすみません。
 7月8日に、一般規則のルール1~6をやめてはどうかというアイデアを述べた。代わりに、スパムアクセスの前科のあるドメインについてのみ一般規則相当の拒否(すなわち、そのドメイン内のエンドユーザーコンピュータと推定されるホストに対する選択的拒否)を行う条件をブラックリストに登録する。これによるメリットは、まだまだ潜在していると思われる、固定IPアドレス1個割り当てのメールサーバ(ISPが割り当てる連番入りの逆引き名が多い)を引っかけにくくなることである。今は国内にはOP25Bが普及したので、jpドメインからのスパムアクセスは非常に少なくなっている。だから、一般規則をやめる方法もそろそろ可能になってきていると思う。S25R方式を発表した2004年ころは、OP25Bがほとんど行われていなかったので、とてもそうはいかなかった。
 この方法は、特に国内からのメールの偽陽性判定を避けたいと思っている人には歓迎されるかもしれない。ただ、S25R方式が広く支持された理由は、何と言っても、一般規則によるスパム阻止率の高さである。一般規則をやめる方法を取り入れることでスパム阻止率が目立って低下しては、がっかりさせてしまうだろう。だから、この方法を提案する前に十分なブラックリストを用意しておく必要がある。そこで、私のサイトへ来るスパムアクセスを観測しながら、3ヶ月にわたってブラックリストの作成を続けている。
 私のサイトへのスパムアクセスの宛先は、私の個人アドレス「deo」や公開アドレス「webmaster」ばかりではない。わざとスパマーに拾わせた「otori1」などのおとりアドレス、ISO-2022-JP(通称:JIS)で符号化したウェブページから間違って拾い出された「bwebmaster」のようなアドレス(先行する文字セット切り替えのエスケープシーケンスの末尾が「B」と同じ符号であるため、先頭に「b」が付いている)、それらを改変した「ewotori1」、「sneovbwebmaster」のようなわけのわからないアドレスなど数多い。だから、ほどなくブラックリストはほぼ十分なものになるだろうと思っていた。
 しかし、見通しが甘かった。項目の増加はそろそろ頭打ちになるかなと思ってからかなり(2ヶ月ほど?)たつのだが、今なおほぼ毎日1~3件くらいずつ増え続けている。10月24日現在、ブラックリストの登録ドメインは407件である。これでは、一般規則をやめる方法を提案するのは時期尚早である。
 もしかしたら、協力者を募ればブラックリストは早く充足するだろうと思う人がおられるかもしれない。しかし、それは難しい。小規模サイトでも大規模サイトでも、毎日たくさんのスパム送信元ホストが見つかるからである。そこからブラックリストに未登録のサイトドメインのものを抽出するのは面倒な作業であり、協力者に要請できるものではない。誤ってブロックされる正当なメールサーバはぽつりぽつりとしか見つからないので、ホワイトリスト情報を提供いただくことは容易だが、ブラックリスト情報はそうはいかないのである。
 だから、今のところ私は一人でブラックリストを作成している。それでも、どのサイトでも十分に役立つブラックリストはいずれできると思っている。スパマーはたくさんのボットネットを利用するので、一サイトで受けるスパムに限ってもその送信元ホストは限定されないからである。一方、一サイトに宛てた正当なメールの送信元は限定されるので、どのサイトでも十分に役立つホワイトリストは、多くの人の協力がなければ作れない。そこがブラックリストとホワイトリストの違いである。
 なお、作成中のブラックリストは、現在、暫定的に

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

に置いている。項目の並び順は、上位ドメインのアルファベット順である。
 参考までに、jpドメイン内のサイトの登録は以下の5件である。

# 58-147-237-170.ap-w01.canvas.ne.jp
/^[0-9].*\.canvas\.ne\.jp$/ 450 S25R check

# 220-213-107-155.pool.fctv.ne.jp
/^[0-9].*\.fctv\.ne\.jp$/ 450 S25R check

# dynamic-114-69-114-170.vips.gol.ne.jp
/^[^.]*[0-9]-[0-9].*\.gol\.ne\.jp$/ 450 S25R check

# dae62d20.tcat.ne.jp
/^[0-9a-f]{8}\.tcat\.ne\.jp$/ 450 S25R check

# pc74085.ztv.ne.jp
/^[^.]*[0-9]{5}.*\.ztv\.ne\.jp$/ 450 S25R check