SPAM と RFC 2821

インタネットプロバイダが存在しない時代のインタネットには、 電子メイルを SPAM や詐欺などに悪用する人は居ませんでしたから、 電子メイルは極めて効率のよい快適な通信手段でした。

その後のインタネットの急速な普及で、google の偉大な検索機能など、 便利になった半面、犯罪によく使われる Windows 固有の HTML メイルやアプリケーションファイル添付メイルなど、 Microsoft と官庁主導の無駄が増え、エネルギと資源の無駄を促すと共に、 SPAM や詐欺メイルの爆発的増加で、SPAM 対策が不可欠になりました。

多分、最良の対策は Windows の使用を禁止することだと思いますが、 無駄の削減より奪い合いの金儲けが好まれる世の中ですから、 自社のメイルサーバでできる対策としては、

  1. DNS で逆引できないホストなど、 bot に乗っ取られた Windows マシンからと推測される相手の拒否
  2. 受取拒否相手先 Blacklist のこまめな維持
  3. それと対になる、救済用 Whitelist の維持
  4. DNSBL (DNS Blacklist) など、外部 Blacklist の利用
  5. 非常識な相手に HTML メイルなどの自粛をお願いする労力 (注1)
ぐらいしかありません。

メイルサーバーでは無条件に受け取って、 利用者レベルで篩いにかけて廃棄する手法も多いのですが、 抑止効果がないのが難点で、 Blacklist で受取拒否のほうが利点が大きいように思えます。

ただ、RFC 2821 に下記の記述があって、

3.6 Domains
..
   -  The reserved mailbox name "postmaster" may be used in a RCPT
      command without domain qualification (see section 4.1.1.3) and
      MUST be accepted if so used.
postmaster 宛だけは無条件に受信しなければならないことになっているため、 インタネットのルールとしては、 postmaster は SPAM を我慢しなければならないことになります。

幸い sendmail の場合はこのルールを無視してくれますが、 postfix は律義にこの規則を守ります。

sendmail から postfix に切替えて、 何年かは我慢して多量の SPAM を受け取っていましたが、 処理する時間を計算すると、あまりに失うものが多く、 自動的に /dev/null 行きにするよりは受け取らないほうが利点が大きいだろうと、 postfix のソースを書き換えて、postmaster 宛でも、 前記の条件を満たさない相手からは受け取らないようにしてしまいました。

postfix が postmaster 宛メイルを無条件で受け取る理由は src/smtpd/smtpd_check.c の下記のコードにありますから、 この部分をコメントアウトして、再コンパイルし、 /usr/local/lib/exec/postfix/smtpd を入れ換えれば、 RFC 2821 3.6 の後半を無視することができます。

  /*
   * XXX 2821: Section 3.6 requires that "postmaster" be accepted even whe
   * specified without a fully qualified domain name.
   */
   if (strcasecmp(recipient, "postmaster") == 0)
      return (0);

それにしても、この規則。時代に合わなくなったように思います。(注2)

注1 - 数行のメモを Word の添付ファイルにしてくる方がいらっしゃって、 このお願いをしたら、「Windows こそ IT 技術の標準。 それを否定すると悪いことが起きるぞ」と脅迫されたことがありました。 コンピュータ技術の教科書に書くべきことが Microsoft の製品にあるとも思えないのですが。

注2 - その後、 RFC 2821 は RFC 5321, 5322 に改定され、非常時は例外にしたようですが、

4.5.1. Minimum Implementation
..
In extreme cases -- such as to contain a denial of service attack or
other breach of security -- an SMTP server may block mail directed to
Postmaster. 
..
最近の状況では、常に extreme case になってしまいます。

平林 浩一, 2004