さとうさんのお陰で一段落ついた当社のspam対策をまとめてみました。これでやっと電子メールが仕事に使えるメディアとして返り咲いた感があります。(大げさじゃなくて)

 普通メール利用者は受け取ったspamをどう処理するか?としか考えられません。
 原始的なところではFromアドレスやSubjectでの振り分けやちょっと高級になるとベイジアンフィルタを使った振り分けなどがそれにあたります。

 smtpサーバ(メールサーバ)管理をしているものからすると「なんとかして送りつけてくるspamの受取拒否をメールサーバ直前でできないものか・・・」と考えるのは当然のことです。 できるだけ上流で防ぐことができれば、下流に対策を施さなくても良いのですから。

 現在私のところのサイトでpostfixを使って施している方法を以下にあげます。
 まずspamを送りつけてくるsmtpサーバの特徴をあげ、それに対する対策を箇条書きで。

★逆引きできないホストが多い
 逆引きできないからspamホストかと言うと100%そうではありません。そこで逆引きできないsmtpサーバから接続要求が有った場合は数秒程ウェイトを入れてゆっくり対応することにしています。(throttling)

 spamサーバはせっかちな事が多く、反応のとろい(遅い)smtpサーバは配送をすぐに諦めてしまうことが多いのです。 spammerは単位時間当たりに○○万通裁けるかどうかが重要な為、このようなチューンナップ(?)を施し反応の遅いsmtpサーバにかまっていられないからでしょう。 逆に非spamサーバ(普通のsmtpサーバ)は数秒位のウェイトが掛かっていても我慢強く待って正常にメール送信をしてくれる為、正常なメールの配送に問題は起きません。

★ユーザ回線上にsmtpサーバを置いてある事が多い
 ここのところ主流となったspam送信法でです。一般のADSLや光ファイバを使い、その回線上にspam送出サーバ(ふつうのsendmailやqmailなども多い)を設置。 プロバイダのsmtpサーバを使わず自力でspamを配送するものです。 IPアドレスは非固定であるためプロバイダ料金も安くspam送信者にとってはお手軽。

 他に目的は違いますが結果的に同様なspamまき散らしになっているケースとして、ワーム/ウィルスに感染してしまい、PCが勝手にsmtpサーバとなってワームやウィルスをspamとして送出しちゃっているケース。

 これらの特徴はそのIPアドレスを逆引きしてみると 123-45-67-89.dsl.hogehoge.ne.jpと言うようなIPアドレスとおぼしき数字の羅列やadsl/dsl/fletsなどと言う文字列も散見されます。
 当社の対応としてはこれらの一般ブロードバンド回線上に置かれたsmtpサーバからの接続要求にもゆっくり対応しspamの送信を諦めて貰う方針をとっています。 また万一そのようなホストが正常な(非spam)ホストであった場合も数秒遅配はありますが事故はおきず安全です。

★heloで正しいホスト名を名乗らない
 smtpの礼儀作法(プロトコール)として接続後まず

 helo smtp.jibun-domain.co.jp

と言うように自分のホスト名を完全修飾ドメイン名で名乗ることが決められているのですが、spamサーバの場合heloの後のホスト名に当方のホスト名であったりhogehogeとか完全修飾ドメイン名でないホスト名、実在しないホストなどを適当に語っているものなどが多いのです。

 そこでこれを使って実在しないホスト名や完全修飾ドメイン名をheloで知らせてきた場合は受取拒否をしてしまうような設定を施しています。

 実際これで弾かれるspamはもっとも多くspam防御策としては効果が最も高いと思われます。

★MAIL FROM (エンベロープFROM)のドメイン名が実在しない
 そのドメインのMXレコードやAレコードを引いても存在しないアドレスをMAIL FROMにセットして送ってくる。当然これはspamであるので受取拒否。

それでもすり抜けてくるメールがあるので以下のような追加作戦を実行。

★しつこく決まったホストから送りつけてくるspamはそのsmtpホストからの接続自体を拒否設定。
★MAIL FROM(エンベロープFROM)のドメインが登録されているネームサーバを探り、怪しいネームサーバがnsレコードにあれば受取拒否する。