Spamメール対策 のバージョン同士を比較する

行 1:
- スパムメール対策   + = スパムメール対策 =  
       
  世の中には悪い奴がいるもので、いらないメールを次から次へと送り付けてくる人がいます。日に数十通程度ならメールソフトがジャンクメールに振り分けてくれますのでさほど邪魔にはなりませんが、次から次へと送りつけられてくると、その中に本物のメールが埋もれて分からなくなる事態が生じます。こうなるとメールソフトでは対応できず、メールサーバーでの対応が必要になります。    世の中には悪い奴がいるもので、いらないメールを次から次へと送り付けてくる人がいます。日に数十通程度ならメールソフトがジャンクメールに振り分けてくれますのでさほど邪魔にはなりませんが、次から次へと送りつけられてくると、その中に本物のメールが埋もれて分からなくなる事態が生じます。こうなるとメールソフトでは対応できず、メールサーバーでの対応が必要になります。 
行 5:
- メールサーバーの基本設定   + == メールサーバーの基本設定 ==  
  弊社のメールサーバはpostfixを使っていますのでこの設定をしっかりと行うだけでもかなりの量のスパムメールを減少させることができます。    弊社のメールサーバはpostfixを使っていますのでこの設定をしっかりと行うだけでもかなりの量のスパムメールを減少させることができます。 
- ##main.cfでの設定   + === main.cfでの設定 ===  
       
  まず、以下のふたつのパラメーターを設定します。    まず、以下のふたつのパラメーターを設定します。 
行 13:
  HELO手順を要求します。お行儀の悪いメールソフトを排除し、またこの段階で不審な接続相手を排除できるようにします。    HELO手順を要求します。お行儀の悪いメールソフトを排除し、またこの段階で不審な接続相手を排除できるようにします。 
       
- 送信先の選別   + == 送信先の選別 ==  
  下記のパラメーターを設定し、不審な接続先を排除します。    下記のパラメーターを設定し、不審な接続先を排除します。 
    + /pre  
  smtpd_client_restrictions = permit_mynetworks,reject_invalid_hostname,permit    smtpd_client_restrictions = permit_mynetworks,reject_invalid_hostname,permit 
  smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject    smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject 
  smtpd_helo_restrictions =permit_mynetworks,reject_invalid_hostname,reject_non_fqdn_hostname,permit    smtpd_helo_restrictions =permit_mynetworks,reject_invalid_hostname,reject_non_fqdn_hostname,permit 
  smtpd_sender_restrictions =reject_non_fqdn_sender,reject_non_fqdn_hostname,reject_invalid_hostname,reject_unknown_sender_domain,permit    smtpd_sender_restrictions =reject_non_fqdn_sender,reject_non_fqdn_hostname,reject_invalid_hostname,reject_unknown_sender_domain,permit 
    + pre/  
  右辺のパラメーターはメールサーバーによって設定を変える必要があります。場合によっては必要なメールも拒否してしまうので注意してください。この設定でほとんどの不正な(DNSで逆引き出来無い)送信者は排除できるはずです。詳細はpostfixのマニュアルを読んでください。    右辺のパラメーターはメールサーバーによって設定を変える必要があります。場合によっては必要なメールも拒否してしまうので注意してください。この設定でほとんどの不正な(DNSで逆引き出来無い)送信者は排除できるはずです。詳細はpostfixのマニュアルを読んでください。 
       
- 実在のアドレスを騙るスパムメール   + ==実在のアドレスを騙るスパムメール==  
  上記の設定は不正なアドレスを使っているスパムメールには有効です。ところがスパムメールの中には実在するアドレスを使って来るものがあります。これに対しては上記の対策は有効ではありません。そこで送られてくるスパムメールの内容をチェックして、あるパターンと一致すればスパムと判断する仕掛けが必要になります。    上記の設定は不正なアドレスを使っているスパムメールには有効です。ところがスパムメールの中には実在するアドレスを使って来るものがあります。これに対しては上記の対策は有効ではありません。そこで送られてくるスパムメールの内容をチェックして、あるパターンと一致すればスパムと判断する仕掛けが必要になります。 
       
- メールのヘッダーでチェックする方法   + === メールのヘッダーでチェックする方法 ===  
  main.cfで下記のように設定を行います。多分コメントアウトするだけでよいと思います。    main.cfで下記のように設定を行います。多分コメントアウトするだけでよいと思います。 
  header_checks = regexp:/etc/postfix/header_checks    header_checks = regexp:/etc/postfix/header_checks 
行 35:
  /name=.*\.exe/ REJECT 添付ファイルにexeという拡張子を持つメールを排除します    /name=.*\.exe/ REJECT 添付ファイルにexeという拡張子を持つメールを排除します 
       
- メールの本体でチェックする方法   + === メールの本体でチェックする方法 ===  
  main.cfで下記のように設定を行います。多分コメントアウトするだけでよいと思います。    main.cfで下記のように設定を行います。多分コメントアウトするだけでよいと思います。 
  body_checks = regexp:/etc/postfix/body_checks    body_checks = regexp:/etc/postfix/body_checks 
行 57:
       
       
- バックスキャッタ対策   + == バックスキャッタ対策 ==  
- バックスキャッタとは   + === バックスキャッタとは ===  
  他人のメールアドレスを騙ったスパムメールを大量に送りつけられ、スパムを受け取ったと判断したメールサーバーは配信不能メイルを騙られた人に返送します。その結果騙られた本人のメールサーバーに大量のエラー通知メールが届く現象です。1日数千通と送られてくるため小さなサーバーだとパンクしてしまいます。”Undelivered Mail Returned to Sender”という表題のついたメイルが大量にメールボックスにたまります。    他人のメールアドレスを騙ったスパムメールを大量に送りつけられ、スパムを受け取ったと判断したメールサーバーは配信不能メイルを騙られた人に返送します。その結果騙られた本人のメールサーバーに大量のエラー通知メールが届く現象です。1日数千通と送られてくるため小さなサーバーだとパンクしてしまいます。”Undelivered Mail Returned to Sender”という表題のついたメイルが大量にメールボックスにたまります。 
  やっかいなのはこのメールを送ってきたサーバーはスパムとは何の関係もありません。これをエラーとして返そうものならまた大量のエラーメッセージを発生させてしまいます。    やっかいなのはこのメールを送ってきたサーバーはスパムとは何の関係もありません。これをエラーとして返そうものならまた大量のエラーメッセージを発生させてしまいます。 
    + エラーメール自体は正当なサーバーから送られてきた正当なメールです。これをエラーでハネることはできますが、そうすると本当にエラーが発生した時には、エラーメールが届かなくなってしまいます。  
       
-   + そこで着目したのが添付されてくる”Undelivered Mail Returned to Sender”という表題に添付されてくるエラーメールです。  
    + あらっぽい方法ですがメールを添付してくるメールを全て拒否する方法もありますが、これはあまりオススメしません。  
    + postfixでは添付されてくるメールのヘッダーをチェックできますのでそれを使うことにしました。  
    + 騙られた本人のメールが入手できますのでそれと比較して明らかに相違があるところを見つけます。  
       
    + 例えば、送信人の名前が違っているときがあります。  
       
    + From:"Sakamoto" <sakamoto@cyber-labo.co.jp> スパムの記述  
    + From: sakamoto <sakamoto@cyber-labo.co.jp> 正しいの記述  
       
    + 違いが見つかれば後の処理は簡単です。  
    + まずmain.cfで添付メールのヘッダーチェックを行うようにします。下記の行を追加します。  
    + nested_header_checks = regexp:/etc/postfix/nested_header_checks  
       
    + nested_header_checksというファイルを作成し、以下のように記述します。  
    + /^From:.*(Takemoto)/ DISCARD  
       
    + エラーメールを返送しないためにREJECTにしない。  
    + これで”Undelivered Mail Returned to Sender”は届かなくなります。  
       
    + ただし、スパムの送信源が複数の箇所ある場合には、複数の対策が必要になります。