Develop and Download Open Source Software

OpenSource Downloads

7-Zip  (4,208)  
HandBrake Japanese Language Version  (3,353)  
CrystalDiskInfo  (1,743)  
CotEditor  (1,120)  
CrystalDiskMark  (866)  
Boookends  (788)  
SMPlayer  (642)  
えこでこツール  (599)  
Tera Term  (595)  
10  FFFTP  (579)  
11  Cabos  (530)  
12  BathyScaphe  (494)  
13  ffdshow  (481)  
14  MergeDoc  (464)  
15  ギコナビ  (438)  
More >>

最近ブックマークされた記事

RBLとDCCを使ってスパムを排除する

2007年06月18日 10:28 Murthy-Raju(2007年6月14日(木)) 1 2
 現在、私はPostfixベースのメールサーバを管理している。ユーザは数百人で、1日に扱う正当なメールは平均2000件だが、スパムのおかげで実際のサーバの負荷ははるかに高い。スパムの影響を抑えるため、Postfix上でRealtime Blackhole Lists(RBL)クライアントとDistributed Checksum Clearinghouse(DCC)クライアント、そしてSpamAssassinを利用している。

 RBLは、既知のスパム発信元およびその疑いのある発信元のIPアドレスを集めたリストである。RBLのサービスを提供するプロバイダは、SpamhausSpamcopDNSRBLなど数多い。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アドレスをフィルタ処理するかどうかを決める必要がある。

最終更新:2007年07月01日 19:05