RBLは、既知のスパム発信元およびその疑いのある発信元のIPアドレスを集めたリストである。RBLのサービスを提供するプロバイダは、Spamhaus、Spamcop、DNSRBLなど数多い。RBLにはブラックリスト、ブロッキングリストなどの別名もある。メールサーバは、RBLサーバに接続してIPアドレスをチェックできる。
RBLプロバイダは、次の条件に該当するIPアドレスをRBLに追加する。
- 既知のスパム発信元
- スパムを送信するメールサーバによって悪用されうるオープンなSMTPリレー
- DSLまたはダイヤルアップのユーザの動的割り当てIPアドレスのうち、ユーザのコンピュータがスパム発信の踏み台にされうるもの
- 大量メール送信ウイルスやトロイの木馬に感染したコンピュータのIPアドレス
RBLプロバイダは、IPアドレスのリストを作成する際に、他のさまざまなパラメータも考慮に入れる。IPアドレスの収集には、RBLプロバイダごとに独自のノウハウがある。大量のIPアドレスを積極的にチェックして、疑わしいIPアドレスを抽出するようなことも行われる。
RBLに載せられたIPアドレスが永遠にリストに留まるわけではない。一部のRBLプロバイダでは、一定の期間が過ぎたIPアドレスを自動的にリストから削除する。また、IPアドレスの所有者から削除を要求された場合、リストに追加した理由が既に解消されたと判断されればIPアドレスをリストから外すこともある。簡単にリストから外せるかどうかは、プロバイダによって違う。ときには面倒な手続きになる。
RBLシステムの仕組み
RBLプロバイダでは、リストに記載すべきIPアドレスを見つけると、対応するレコードをDNSデータベースに設定する。たとえば、IPアドレス192.168.1.1をSpamhausのRBLに追加する必要があると判断した場合、擬似ホスト1.1.168.192.zen.spamhaus.orgのDNSレコードを追加する。こうすることで、クライアントはDNSプロトコルを使ってこのIPアドレスを簡単にルックアップできる。
RBLの一種にRight Hand Side Black List(RHSBL)がある。RHSBLは、IPアドレスではなくホスト名のリストである。このリストが便利なのは、スパマーがIPアドレスの異なる複数のコンピュータを使っているが、ホスト名が同じ場合である。一般にプロバイダがRBLとRHSBLの両方を提供することはないため、RBLに加えてRHSBLのルックアップも使う場合は、複数のルックアップを行うことになる。
IPアドレスまたはホスト名をチェックする必要があるSMTPサーバは、txt型レコードのDNSクエリを、適切に記述されたホスト名(例:1.1.168.192.zen.spamhaus.org)に対して実行する。応答として返されるレコードには、リストの詳細情報があるURLが格納されている(例:1.1.168.192.zen.spamhaus.org text = "http://www.spamhaus.org/query/bl?ip=192.168.1.1")。SMTPサーバは、この情報を利用し、適切なエラーメッセージを使って接続を拒否できる。レコードが返されない場合は、該当するエントリがリストに存在しないということであり、SMTPサーバは接続を受け付けることができる。
私は、PostfixでRHSBL/RBLルックアップを設定するために、次の行を/etc/postfix/main.cfに追加した。
smtpd_recipient_restrictions =
reject_rhsbl_client blackhole.securitysage.com,
reject_rhsbl_sender blackhole.securitysage.com,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client bl.spamcop.net
この設定では、Postfixサーバは受信接続のホスト名とIPアドレスを4つのRBLにルックアップし、該当するエントリがある場合に接続を拒否する。
上記のコードをPostfixサーバに実装したところ、RBLルックアップの結果に基づいて全接続の約75%が拒否されるようになった。
メールサーバの管理者にとって福音のようだが、この方式には負の側面もあり、警戒を怠ってはならない。IPアドレスがRBLに記載される理由はさまざまだ。記載されるべきでないIPアドレスが含まれていることもある。このような事態が起こるのは、たとえばRBLプロバイダが個々のIPアドレスではなく一定の範囲のIPアドレス(アドレスブロック)を一括して追加したようなケースだ。これは、その範囲内の多数のIPアドレスがリスト記載の条件を満たす場合に起こりうる。メールサーバの管理者は、このような可能性を常に念頭に置いて、サイトのポリシーに基づいて十分に検討を行い、RBLのみに基づいてSMTP接続レベルでIPアドレスをフィルタ処理するかどうかを決める必要がある。
