26
1月
4

Postfixのスパムメール対策を更新。


今までのスパムメール対策の場合、海外から来るスパムメールはガシガシ弾いてくれていたから問題ないのですが、数は少ないとはいえ国内から来るスパムメールはPostfix側でのフィルタが弱すぎるせいで最後の頼みがprocmailで動かしているDNSBL、URLBL、ベイジアンスパムフィルタだけだったので、もう少し国内から来るスパムメールもチェックしたい!ということでPostfix制限クラス(smtpd_restriction_classes)を導入してみました。

要は何がしたいかと言うとsmtpd_client_restrictionsのチェックをパスした国内からのメールをsmtpd_sender_restrictions側でもう一度動的IP(若しくは逆引きできない)かどうかチェックして、動的IPだった場合はエンベロープのFROMのFQDNがフリーメール等のFQDNだった場合は要求を拒否したかったのです。

今回追加した項目は以下のとおり。

> vi /etc/postfix/main.cf ----------------------------------------- smtpd_restriction_classes =  clientsender_matching clientsender_matching =  check_sender_access regexp:/etc/postfix/sender_matching smtpd_sender_restrictions =  check_client_access regexp:/etc/postfix/client_matching -----------------------------------------

> vi /etc/postfix/client_matching ----------------------------------------- # [rule 1] /^[^.]*.*[0-9]{1,3}-[0-9]{1,3}.*¥..+¥.[a-z]/    clientsender_matching # [rule 2] /^[^.]*.*[0-9]{1,3}¥.[0-9]{1,3}.*¥..+¥.[a-z]/    clientsender_matching # [rule 3] /^[^.]*.*[0-9]{1,3}x[0-9]{1,3}.*¥..+¥.[a-z]/    clientsender_matching # [rule 4] /^[^.]*.*[0-9]{4}.*¥..+¥.[a-z]/    clientsender_matching # [rule 5] /^[^.]*.*[0-9]{3,}[a-z]{3,}.*¥..+¥.[a-z]/    clientsender_matching # [rule 6] /^[^.]*.*[a-z]{3,}[0-9]{3,}.*¥..+¥.[a-z]/    clientsender_matching # [rule 7] /^[^.]*.*[0-9]{3,}-[a-z]{3,}.*¥..+¥.[a-z]/    clientsender_matching # [rule 8] /^[^.]*.*[a-z]{3,}-[0-9]{3,}.*¥..+¥.[a-z]/    clientsender_matching # [rule 9] /^[^.]*.*(dhcp|dial|ppp|dsl|flets|ftth|cable).*¥..+¥.[a-z]/    clientsender_matching # [rule 10] /^unknown$/    clientsender_matching -----------------------------------------

> vi /etc/postfix/sender_matching ----------------------------------------- /.*@yahoo¥.co¥.jp$/   450 may not be mail exchanger /.*@hotmail¥.co¥.jp$/   450 may not be mail exchanger /.*@hotmail¥.com$/   450 may not be mail exchanger /.*@gmail¥.com$/   450 may not be mail exchanger /.*@nifmail¥.jp$/   450 may not be mail exchanger -----------------------------------------

こうすることでsmtpd_sender_restrictionsで再度動的IP(若しくは逆引きできない)かどうかを判定して、sender_matchingにマッチしたFQDNだった場合に要求を拒否することができます。

詳細はpostfixのスパムメール対策(排除率は99.975%だった)をご覧くださいませ。

Enjoyed reading this post?
Subscribe to the RSS feed and have all new posts delivered straight to you.
4 Comments:
  1. hamabo 27 1月, 2008

    |-`)…嫌がらせのようにコメントしてすいません。
    何か私の興味あるカテゴリばかりなので、ついつい…(ぉ

    スパム対策は本当に骨が折れますよね。どちらかと言えば私はメル鯖の構築運用がメインなので、この件の話題はいろいろ悩んできました。
    検証用鯖では複数ドメインで問答無用(所謂こっちの価値観で拒否する)パラメータで運用してますが、実際に他の法人さんが使う鯖では、概略でもいいので望む仕様を挙げて貰って、それによってどのような副作用が起こる可能性があるかを説明の上、実際に構成してまっす。
    |-`)…ようは揉め事嫌いなんです

    S25Rの論文は早くに気付けたので、検証用鯖で導入してみて3年程スパムを取り込んでデータをとりますた。
    コンセプトが限りなくスパムに近いと思われるものを拒否する、との仕様と認識していますが、その頃はまだO/IP25Bを実施しているISPが無かった(というか無いに等しい)ので、副作用がありまくりでしたwww
    確かにメールそれ自体がスパムなのかどうなのか、について私宛であれば私の主観で拒否・または容認する構成を組めますが、他人となり、また法人さんとなれば難しい(救済リストで救っても)問題です。
    で、私的には単独で運用する鯖ではお客さんにポリシーを決めて貰い、そのポリシーで鯖を構築をする。複数の方が運用する鯖ではこちらが大まかなポリシーを決めて、ウェブ上でお客さんが救済リストを管理して運用する、としてます。
    海外ではO/I25Pなんてほぼ導入されてない訳ですから、スパム天国ですwww
    なんで、メール送って拒否されたくなかったら事前登録しろ、なんて傲慢なやり方をするところもあるようですね。
    で、私的な解決?方ではないですが、ありえないメールアドレスを出来るだけ作って、そしてたまに変更して下さいなんて言ってますwwwww
    それが面倒なら、救済リストで運用して下さい、と言います。

  2. cmf@ohtan管理人 27 1月, 2008

    |*゜ー゜)こんにちは

    お客さん向けのスパム対策は難しいですね〜
    大事なメールを取りこぼしたりしたらもう・・・∩(・∀・)∩

    お客さんに対してはhamaboさんのやり方が一番無難ですよね(‾ー‾)
    今はスパム対策の選択肢も結構ありますし、結局はそのお客さんのボーダーライン(運用ポリシー)を最初にちゃんと決めて、メリットデメリットをちゃんと説明して・・・

    ふぅ・・・想像するだけでもしんどそうです(;´Д`)=3

    自宅鯖はともかく今はプロバイダのメアドに来るスパムがウザくてたまりません┐(´д`)┌
    プロバイダは既製品のスパムフィルタを導入してるみたいなんですがザルすぎてほとんと意味なしですw
    まぁ〜取りこぼしがあっちゃいけないからユルユル設定なのは仕方ないとは思いますがねw

    メール鯖の管理者はウチの会社の担当者を見ていても大変そうなので自分はやりたくありませんwww

  3. hamabo 27 1月, 2008

    >管理人さん

    ご理解頂き感謝感激でっす。なんせメル鯖の運営は大規模な管理会社ならいざ知らず、私のようなスーパーウルトラ零細事業主だとお客の要望に身軽に応えないと切られるのでwww
    いや、長年の付き合いでも、事務のおねーちゃんのパソコンにすっげー内容のスパムとかバンバン入るとなると仕事になりませんしね…。

    で、要望来る→対応する→さらに要望→(ry

    それで出した案が、こっち側は副作用の説明と、お客さん側は少しの努力(取引会社のドメインかメールアドレスを登録する)でっす。
    …が、本当は電子メールは郵便、我々の運営してるのは郵便集配局です。
    なんで、本当は郵便局が勝手にこれは差し戻しなんて出来ないんです(と私は思っています)。
    ダイレクトメールがウザいなら「お客さん、それじゃあ受け取り拒否にしますか?」と言うしかない訳で…。
    でウェブ上でいちいち管理させてます…お客さんに。
    ①ドメイン丸ごと
    ②メールアドレス
    ③特定の文字(ヘッダとボディ)
    |-`)…これ以上は私にphpのスキルがないので出来ません…

    本当に長々すいません、ご迷惑でしたら去りますので…

  4. cmf@ohtan管理人 27 1月, 2008

    ぜんぜん迷惑してないのでご安心くださいw
    コメントなんて滅多に書き込まれないのでむしろ嬉しいです(*‾ー‾*)

    あまり負担にならない程度でお客さん(受信者)自身で設定してもらうことといったら①〜③くらいしかないでしょうねぇ〜・・・

    あともうちょっと大雑把に④日本語が含まれないメールを拒否くらいかな〜・・・(外資相手の企業じゃこれもNGですがw)

    これからSPF認証がもっと普及してくれればもう少しメール鯖の管理者の負担が減ってくるんじゃないかな〜って個人的には期待しているんですがねぇ〜

    まぁ〜その上を行くスパマーがまた出てくるんでしょうけど・・・(´・ω・`)

Post your comment



now loading...