English

トップ レポート 講演資料(PDF) 紹介記事 ホワイトリスト ブラックリスト 監視ツール 導入事例 Q&A ブログ リンク 更新履歴 連絡先

Q&A

最終更新: 2014/10/27
公開: 2007/06/10

1. コンセプト

Q1-1.  S25R方式は、逆引き名を持たない正当なメールサーバを排除するのですか?
A1-1.  いいえ。S25Rシステム管理者は、再試行アクセスを見つけた時にホワイトリスト登録によってそれらを受け入れます。S25R方式が、逆引き名を持たないホストを一時的に拒否するのは、それらは高い確率でエンドユーザーコンピュータだからです。

Q1-2.  S25R方式は、ダイナミックIPアドレスを持つ個人用メールサーバを排除するのですか?
A1-2.  いいえ。S25Rシステム管理者は、再試行アクセスを見つけた時にホワイトリスト登録によってそれらを受け入れます。しかし、ダイナミックIPアドレスを持つメールサーバは、再利用されたIPアドレスを持つエンドユーザーコンピュータからスパムやウィルスメールを受信するリスクを生じさせます。私は、そのようなメールサーバはISPのメールサーバを経由してメールを送り出してほしいと思います。どのみち、あなたのISPがOP25B(Outbound Port 25 Blocking)を採用するならば、あなたはそうする必要があります。

Q1-3.  少なからぬ正当なメールサーバが、分断された複数の数字列や長い数字列を含む逆引きホスト名を持ちます。そのようなホストを拒否するのは乱暴ではありませんか?
A1-3.  私はそうは思いません。S25R方式が、分断された複数の数字列や長い数字列を含む逆引きホスト名を持つホストを一時的に拒否するのは、それらは高い確率でエンドユーザーコンピュータだからです。S25Rシステム管理者は、再試行アクセスを見つけた時にホワイトリスト登録によって正当なメールサーバを受け入れます。

Q1-4.  私のメールサーバは固定IPアドレスを持ちますが、その逆引き名はISPによって割り当てられていて、S25Rの規則に引っかかります。私は逆引き名を変えることができません。S25R方式を導入しているサイトへメールを送るにはどうすればよいでしょう?
A1-4.  ご心配なく。S25Rシステム管理者は、再試行アクセスを見つけた時にホワイトリスト登録によってあなたのメールサーバを受け入れます。
 お望みによってあなたのメールサーバの逆引き名をホワイトリスト情報のページで公表します。にご連絡ください。

Q1-5.  一時的な拒否によってメールの受信を遅延させることは、メール送信サーバのディスクリソースに負荷をかけます。それは無作法なことではありませんか?
A1-5.  私はそうは思いません。一時的な拒否は、メール送信サーバのディスクにメールを滞留させますが、サーバにダメージは与えません。むしろS25R方式は、たくさんのスパムのメッセージ本体の伝送を食い止めることによってインターネット中継回線のトラフィック負荷を減らします。

Q1-6.  DNSBL(Domain Name System-based Black List)との違いは何ですか?
A1-6.  DNSBLは、スパムの前科のあるIPアドレスをリストに載せます。DNSBLに頼るメールサーバは、ボットに感染したエンドユーザーコンピュータにもしスパムの前科がなければそこからスパムを受信するかもしれません。そのため、DNSBLのスパム阻止率はS25R方式ほど高くありません。一方、S25R方式は、エンドユーザーコンピュータと思われるホストを、スパムの前科の有無にかかわらず一時的に拒否するので、ほとんどのスパムを阻止することができます。ただし、間違って拒否される正当なメールサーバを許可するためのホワイトリストが必須です。
 ところで、DNSBLも、時に間違って、あるいは意図的に正当なメールサーバをリストに載せるので、偽陽性判定を起こすことがあります。正当なメールを失わないためには、DNSBLに引っかかるホストには応答コード「450」(Postfixのデフォルトの「554」ではなく)を返し、送信を再試行するホストをホワイトリスト登録するようにすべきです(ほとんどのスパムアクセスは再試行しません)。



2. 運用

Q2-1.  S25R方式の偽陽性判定率はどのくらいですか?
A2-1.  精確なデータはありませんが、ホワイトリスト登録をする前の偽陽性判定率は、私に正当なメールを送ってきたホストを数えたところ、約13%と推定されます。それは高いように見えますが、ホワイトリスト登録が進むにつれてゼロに近付きます。

Q2-2.  S25R方式を導入したいのですが、私のサイトにはユーザーが多いので、たくさんの正当なメールサーバを拒否するのではないかと心配です。S25R方式を安全に導入する方法はありますか?
A2-2.  はい、あります。まず、公表されているホワイトリストを組み込んでください。S25Rを設定した後、私の拒絶ログソーティングスクリプトを使ってメールログを監視します。もし正当と思われるホストがたくさん阻止されているのを見つけたら、S25Rを解除して、それらをホワイトリストに登録します。S25Rを解除している間、スパムも受信してしまうものの、正当なメールは失いません。ホワイトリスト登録が終わったら、再びS25Rを設定します。ホワイトリストが安定するまでこの手順を繰り返すことにより、正当なメールを失うことを確実に避けることができるでしょう。

Q2-3.  ホワイトリスト登録を自動化することはできますか?
A2-3.  はい、できます。佐藤潔さんが、S25R方式をベースとした自動ホワイトリスト登録システムを発表しています。Rgreyは、S25Rの規則に引っかかるホストをグレイリスティングにかけ、ホストが送信を再試行した時に自動的に許可します。Starpitは、S25Rの規則に引っかかるホストへの応答を遅延させ(タールピッティング)、辛抱強く待ったことがわかったホストを自動的に許可します。taRgreyは、タールピッティングとグレイリスティングの両方を使います。リンクのページのリンクをご覧になるか、にお尋ねください。

Q2-4.  私のメールサーバはSMTP認証とPOP-before-SMTP認証をサービスしています。モバイルPCなどの認証されたクライアントがS25Rの規則によって拒否されます。この問題を解決することはできますか?
A2-4.  はい、できます。smtpd_client_restrictionsパラメータとsmtpd_recipient_restrictionsパラメータの両方で、permit_mynetworks指定の直後に、SMTP認証のためにpermit_sasl_authenticated指定、およびPOP-before-SMTP認証のためにクライアント認証データベースを指定してください。POP-before-SMTP認証サーバとしてDRACを用いるときの例を示します。「dracd」はデータベースの名前です。本当のファイル名は「dracd.db」ですが、「.db」は書きません。

smtpd_client_restrictions =
  permit_mynetworks,
  permit_sasl_authenticated,
  check_client_access hash:/etc/mail/dracd,
  check_client_access regexp:/etc/postfix/white_list,
  check_client_access regexp:/etc/postfix/rejections

smtpd_recipient_restrictions =
  permit_mynetworks,
  permit_sasl_authenticated,
  check_client_access hash:/etc/mail/dracd,
  reject_unauth_destination

Q2-5.  宛先不明のメールと明らかに不正なメールを、S25Rによるクライアント検査の前に、送信の再試行を促さずに拒否することはできますか?
A2-5.  はい、できます。smtpd_client_restrictionsパラメータで、以下の太字の行をcheck_client_access指定の直前に挿入することができます。
 check_helo_access指定は違法なHELOアドレスを拒否します(レポートの付録A.にある/etc/postfix/helo_restrictionsファイルのサンプルをご覧ください)。reject_unauth_destination指定は第三者中継を拒否します。reject_unlisted_recipient指定は宛先不明のメールを拒否します(このメールサーバが「user unknown」エラーを検出できる場合)。
 この設定によって、私の拒絶ログソーティングスクリプトは、宛先不明のメールアクセスと明らかに不正なメールアクセスの記録を除外して拒絶記録を表示します。これにより、ホワイトリスト登録のためのログ監視が楽になるでしょう。

smtpd_client_restrictions =
  permit_mynetworks,
  check_helo_access regexp:/etc/postfix/helo_restrictions,
  reject_unauth_destination,
  reject_unlisted_recipient,
  check_client_access regexp:/etc/postfix/white_list,
  check_client_access regexp:/etc/postfix/rejections

Q2-6.  S25RにDNSBLを併用することは効果がありますか?
A2-6.  はい。SpamCopはかなり有用であることがわかっています。私はS25RにSpamCopを併用して99.5%の阻止率を得たことがあり、その時、S25Rだけによる阻止率は99.2%でした。ただし、DNSBLは偽陽性判定を起こすかもしれないので、DNSBLに引っかかったホストには応答コード「450」を返すようにすべきです。/etc/postfix/main.cfファイルに以下の太字の行を追加してください。

maps_rbl_reject_code = 450

smtpd_client_restrictions =
  permit_mynetworks,
  check_client_access regexp:/etc/postfix/white_list,
  check_client_access regexp:/etc/postfix/rejections,
  reject_rbl_client bl.spamcop.net

 私の拒絶ログソーティングスクリプトは、DNSBLによる偽陽性判定も抽出できます。
トップ レポート 講演資料(PDF) 紹介記事 ホワイトリスト ブラックリスト 監視ツール 導入事例 Q&A ブログ リンク 更新履歴 連絡先