MailDropを使ってスパムメール対策

Posted on :| コメント (0)

 吉田のスパムメール対策も次の段階に来ました。あれこれいじってきましたが、どうも英語圏のスパムメールが大量に届き、 これがフィルタをすり抜けてきます。これまでは、地道にSpamAssassinというサーバー型スパムフィルタに学習させてきましたが、 埒があかないので英語のメールを遮断することにしました。

 吉田が利用しているメールサーバーはSakuraのレンタルサーバー付属のものです。なので、 ISPのアドレスを利用している人には関係ないと思います。

 Sakuraではメールの振り分けにMailDropというソフトを利用しています。 MailDropというソフトはLinuxの世界では結構標準的なツールのようで、検索するとけっこう出てきます。 吉田はあまり詳しくは調べてないので、興味のある人は専門に解説しているサイト(.mailfiltersのマニュアル)をご覧ください。
 ちなみにMailDropを一言で説明するなら、メールヘッダーを調べ、条件に合致したメールをそれぞれのフォルダに振り分けるだけです。

(1)メーリングリストは素通りさせる

if ( /^List-Id:.MAILINGLIST*/ )
{
   to "maildir/"
}

  • MAILINGLISTの所を書き換えます
  • 素通りさせたいメーリングリストID(MLにより異なる)を指定します

(2)特定のアドレスを素通りさせる

if ( /^From:.*smbc.co.jp*/ )
{
   to "maildir/"
}

  • 何度学習させてもスパムメールとして扱われてしまうアドレスを素通りさせます
  • 上記は三井住友銀行からのメールを指定しています

(3)ブラックリストのアドレスはゴミ

if ( /^From:\s*(.*)/ && lookup( $MATCH1, ".blockaddr" ) )
{
 to "maildir/.Trash/"
}

(4)経由サーバーの信頼性を確認し、不正な経路のメールはゴミ

if ( /^(R|r)eceived:.from*\(\[*\]\)*by XXXX.sakura.ne.jp \(*/:h )
{
 to "maildir/.Trash/"
}

  • メールヘッダーにあるRecievedを引用
  • 最終的に自分のメールサーバーを経由していることをチェック

(5)韓国語・中国語はゴミ

if ( /^content-type:.*charset=.*(ks_c_5601-1987|euc-kr|gb2312|big5).*/ )
{
 to "maildir/.Trash/"
}

  • 幸いメールには中国語や韓国語のメールは来たことがありません
  • BLOGのほうでこれを指定できれば……
  • (6)を指定すれば(5)はいらないと思います

(6)日本語以外のメールはゴミ

if ( !/^(C|c)ontent-(T|t)ype:.*charset=.*(ISO|iso)-2022-(JP|jp).*/)
{
  to "maildir/.Trash/"
}

  • ただし、メールサーバーのエラーメールもゴミとして扱われてしまいます。
  • 参考にしたサイトでは添付ファイルがついてる場合はスルーするようになっていましたが、 吉田が試したところどうしてもフィルタリングが上手く行かないので、日本語文字セットの判定だけにしました。
  • Sakuraの場合はWebメールで見られますし、 エラーメールは結局読まずにゴミ箱なので問題なしとしました(大抵はアドレス指定ミスの問い合わせメールですが、 こちらからは連絡が出来ないのでゴミと同じです)

(7)HTMLメールはゴミ

if ( /^content-type:[ \t]*text\/html.*/ )
{
  to "maildir/.Trash/"
}

  • これは判断に悩むところです。
  • MS系のメーラーやフリーメールは平気でHTMLメールを送信するためです。
  • ルールはルールと言うことでゴミ箱行きと言うことで

 意味は良く分からなくても、*がワイルドカードになるという事を押さえておけば、 ルールを真似るだけでもある程度期待通りの動作はすると思います。
 メールフィルタのルールは人それぞれなので、それぞれの運用状況に合わせて設定してください。なお、 存在しないフォルダを指定してはいけません。

 これをやったおかげで、かなりクリーンなメール環境になりました。

コメント

コメントフォームに記入し投稿してください





Search
最近の記事
カテゴリー
過去の記事
Comments
TrackBacks
Feed
Powered by