SPAMメール対策


SPAMメール

 SPAMメールとは、受信者の希望しない内容の不要なメールのことです。
 SPAMメールには、以下のような種類があります。
  • ネズミ講まがいのメール
  • インターネットビジネスなどの商売の勧誘メール
  • 通信販売などのダイレクトメール
 これらのSPAMメールは、大量に送信されるため、いろいろな問題が発生します。

  • メールの受信者に対する問題

    • 読むために、時間が無駄になる
    • メールをダウンロードするための時間や、接続料金が無駄になる

  • サーバに対する問題

    • ユーザからのクレームの対応をさせられる。
    • サーバの負荷を高くし、CPUやディスクなどのリソースを無駄に消費する。
    • ディスクオーバーフローによるサーバ機能が停止してしまうこともある。

 SPAMメールを送付する人は、歓迎されないことを知っているため、第3者のサーバを中継して送信します。
 そのため、このような第3者の中継をするサーバをブラックリストに掲載し、そのサーバからの受信を拒否する団体が現れています。おかげで、サーバ管理者は、ユーザからのクレームだけでなく、これらの対応にも追われてしまいます。


メールの確認方法

 メールは、エンベロープと呼ばれる部分とデータ部に分けられます。
 また、データ部は、ヘッダと本文に分けられます。
 普通の人が見る From: などは、単なるデータなので、偽名が使われることがあります。
 しかし、エンベロープなども、偽名が使われていることがあります。

 偽名かどうかは、メッセージIDで、ある程度発信元がわかります。
  Message-ID: <3619978D.B5FD6E9B@ash.or.jp>
 ただ、MicrosoftOutLookのように、これらの情報を隠してしまうメーラもあるため、注意が必要です。

 配信経路は、Received: で、ある程度わかります。
Received: from 送信元サーバ名 by 処理サーバ名
 これらのサーバのIPアドレスや時間などが正しいかどうかをチェックすることで、発見できることがあります。

 telnetを利用したメールの送受信方法を見ると、メールの送受信の流れが理解できます。


CFの設定

  • CF_TYPE=R8V8/R8V7
     sendmailのバージョンを指定します。
     下記以外は、セキュリティ上の問題があるため、sendmailのバージョンアップをする必要があります。
      R8V7: sendmail 8.8 以降
      R8V8: sendmail 8.8 以降

  • OS_TYPE=linux
     OS(UNIX)の種別を指定します。
     Master/OSTYPE にあるファイルのうちの何れかのファイル名を指定します。
      linux: LINUX
  • MX_SENDMAIL=yes/no
     DNSを参照してメールを配信する場合は、yesを指定します。

  • MY_DOMAIN=<ドメイン名>
     メールサーバのドメイン名を指定します。
     ドメイン名は、FQDN (Fully Qualified Domain Name) から、ホスト名の部分を取り除いたものを指定します。
     例としては、ash.or.jp のように指定します。
     ここに指定した名前は、以下の定義で、$m により参照することができます。

  • MY_NAME=<ホスト名>
     メールサーバのホスト名を指定します。
     ホスト名は、ドメイン名を除いた一語を指定します。
     ここに指定した名前は、以下の定義で、$w により参照することができます。

  • OFFICIAL_NAME=<正式名称>
     メールサーバの FQDN を指定します。
     '$w.$m' と指定するのが、よいでしょう。

  • MY_ALIAS=<別名> (複数可)(継続行可)
     メールサーバが、複数のホスト名を持つ場合に、その別名を指定します。
     ホスト名を一語で指定した場合も、ドメイン名を付加した FQDN も自動的に登録されます。
     また、OFFICIAL_NAME として定義された名称も別名として暗黙に登録される。

  • FROM_ADDRESS=<From: として利用するアドレス>
     メールの発信時に自動的に From: ヘッダに付加する user@address の address を定義します。
     '$m' を指定するのがよいでしょう。

  • RECIPIENT_GENERIC=yes
     メールアドレスとして、user@domain を利用する場合に yes を指定します。
     joe@ash.or.jp などのように短いメールアドレスとすることができます。

  • ACCEPT_ADDRS=<受けとるべきアドレス> (複数可)(継続行可)
     メールサーバが受け取るアドレスを指定します。
     ドメイン名で受けるときは、'$m' を指定するのがよいでしょう。

  • SECONDARY_DOMAIN=<セカンダリとなるべきドメイン名>
     メールのドメインマスタが一つだけだと、ドメインマスタのトラブル時にメールが届かなくなってしまいます。
     セカンダリメールサーバを設置すると、メールがエラーとならずセカンダリメールサーバにスプールされます。
     セカンダリメールサーバとして利用する場合には、そのドメイン名を指定します。

  • DIRECT_DELIVER_DOMAINS=all/none/<ドメイン名>(複数可)(継続行可)
     直接配送するドメインを指定します。
      all: 全て直接配送を行なう
      none: 全て DEFAULT_RELAY に転送する
    <ドメイン名>: 指定したドメイン(複数記述可能)に対しては直接配送し、
    それ以外のメールは DEFAULT_RELAY に転送する

  • DEFAULT_RELAY=<リレーホスト名>
     DIRECT_DELIVER_DOMAINS で定義された直接配送する宛先でなかった場合の転送先ホストを指定します。
     DNSを利用しないサブネットの場合は、親ドメインのメールサーバを指定します。
     社内でファイアーウォールを構築している場合は、社外へのゲートウェイサーバを指定します。

  • TIME_ZONE=''
     タイムゾーンの設定をします。
     ''を指定すると、TZ 環境変数を参照して設定してくれます。


メールの転送制限

MAIL_RELAY_RESTRICTION=yes
 yes を指定すると、メールの転送制限、メールの受信チェック機能組み込まれます。
 アクセス制限された場合は、接続元のMTA側でエラーとなり、sendmail は、syslog に結果を出力します。
 MTAとは、メールサーバや、クライアントのメールソフトのことを指します。
 sendmail 8.9.1 からは、デフォルトで yes となっていますので、必ず yes としましょう。


●送信の許可(組織内−>組織外)

 組織内のメールクライアントから、組織外のメールサーバに対してメールを送信することを許可するための指定をします。

  • LOCAL_HOST_DOMAIN=<ドメイン名>
     このファイルに、受信/中継を無条件で許可する SMTP 接続ホストの ドメイン名を定義します。
     SMTP 接続ホストとして、メールサーバのホスト名のみを指定しましょう。

  • CLIENT_HOST_DOMAIN=<ドメイン名>
     このファイルに、受信/中継を 発信アドレスに従って許可する SMTP 接続ホストのドメイン名を定義します。
     LOCAL_HOST_DOMAIN に比べて、CLIENT_FROM_DOMAIN によるチェックが行われます。
     SMTP 接続ホストとして、自ドメインのみを指定するのがよいでしょう。

  • CLIENT_FROM_DOMAIN=<ドメイン名>
     このファイルに、受信/中継を CLIENT_FROM_DOMAIN に従って許可する SMTP 接続ホストの ドメイン名を定義します。
     自ドメインのみを指定するのがよいでしょう。


●受信の許可(組織外−>組織内)

 組織外のメールサーバから、組織のメールサーバがメールを受信することを許可するための指定をします。

  • ALLOW_RECIPIENT_DOMAIN=<ドメイン名>
     このメールサーバが受理する宛先ドメインのリストを定義します。
     宛先ドメインとして、自ドメインのみ指定するのがよいでしょう。
     セカンダリドメインへの転送する場合には、セカンダリドメイン名も指定する必要があります。

  • ALLOW_RELAY_TO=<ドメイン名>
     このメールサーバが中継する宛先ドメインのリストを定義します。
     セカンダリドメインへの転送する場合には、セカンダリドメイン名を指定する必要があります。


●ローミングの許可(組織外−>組織外)

 ローミングとは、他のプロバイダで接続し、組織のサーバを利用するような操作のことです。つまり、組織外のアクセスポイントから、組織のメールサーバを経由して、組織のメールアドレスを発信者に持つようなメールを出すような状況がある場合に使用します。ローミング指定は、他のプロバイダのホスト情報と、利用するユーザ情報で指定します。
 ローミング指定は、頻繁に変更する可能性がありますので、テキスト形式のファイルを指定するようにしましょう。

  • ROAM_HOST_IPADDR=/etc/sendmail.roamip
     ローミングアクセスするホストのIPアドレスを指定します。
     210.154.18 と指定すると、210.154.18.* に対して許可されます。

  • ROAM_HOST_DOMAIN=/etc/sendmail.roamdomain
     ローミングアクセスするホストのドメイン名を指定します。
     ash.or.jp と指定すると、*.ash.or.jp に対して許可されます。

  • ROAM_USERS=/etc/sendmail.roamusers
     ローミングアクセスするユーザのメールアドレスを指定します。


 ASHのCFの定義ファイルを参照することができます。


Copyright(c) 1998 ash.or.jp   Mail:wmaster@ash.or.jp