Google IP アドレスの範囲 久々のサーバーメンテ
5 月 05
Share on Facebook
はてなブックマーク - 礼儀正しいSPAM配信システムへの対応方法
このエントリーをはてなブックマークに追加

最近、自宅のメールサーバーにSPAMが異様に多くなった。簡単なスパムフィルターを噛ませているのだがすり抜けるメールが多い。
海外から(あるいは海外経由)の迷惑メールは、IPアドレスで簡単に拒否できるが国内からの直接送信が厄介だ。しかも同じ内容なのに 送信元IPアドレスがころころ変わる。
そこで‘敵を知り己を知れば百戦危うからず’
これら迷惑メールの共通点をググって見ると配信システムが分かった。
BEAMあるいは B.E.A.M( http://www.b-e-a-m.jp/product/beam5/ )というらしい。
このシステムから送付されたSPAMに対して多くのユーザがDocomoやKDDI、SoftBankにフィルターを要望しているようであるが、概ね回答は
「できません。」 理由はspf(Sender Policy Framework)での認証を通ってしまうからだそうだ?

そこでふと思った。SPAMのくせにspfをパスする? spfをパスするということは送信元IPアドレスを公開しており、さらにエンベロープFROMは実体が存在するということです。
さらに、BEAMというシステムはホームページで紹介しているとおりなら、不達メールをチェックしているとのことなので不達通知の返信先は偽装していないことになります。(運用上の問題はともかくとして開発者はまともな用途を考えていたかも)
そこで思った なんと礼儀正しいSPAMなんだ!
ならば礼儀正しく拒否しようという発想です。
まず、このシステムの動作からして、受信して棄却するだけでは有効メールと判断されて一回でも受信した時点で大量に送り込まれます。これは回線とサーバーリソースの無駄遣いです。システムに不達通知を返すと以降の送信を停止してくれる可能性もありますが、一般のスパムは返信先を偽装していますので自分がSPAM送信の片棒を担いでしまうことになります。そこで、回線への圧迫を抑えて相手に不達を知らせる方法はそもそもそのメールを受けないことです。相手は送信エラーが分かりますので良心的なメーリングリスト用の配信システムなら送信を停止します。(SPAM送信業者には通じませんが・・)ということで、IPアドレスで配信を拒否します。問題は、どうやって次々変わるIPアドレスを知るかということです。
ヒントは、spfでした

手順は簡単
・スパムメールの送信元を調べます。エンベロープを調べます。あるいはReturn-Pathを調べます。
 ここで例として rainbow+err****@imp102.mag-rfn.net だったとします。
・次に@マーク以降のアドレスからDNSを使って、spfを調べます
 例
%dig imp102.mag-rfn.net TXT | grep spf1
imp102.mag-rfn.net. 3600 IN TXT "v=spf1 include:spf-fl.mail-bfn.net ~all"
# dig spf-fl.mail-bfn.net TXT | grep spf1
spf-fl.mail-bfn.net. 3043 IN TXT "v=spf1 include:spf01.mail-bfn.net include:spf-tp.mail-b.net ~all"
 
もしも、上記のように include やredirect が出てきたら再帰的にip4アドレスがでてくるまで調べます

# dig spf01.mail-bfn.net TXT | grep spf1
spf01.mail-bfn.net. 3600 IN TXT "v=spf1 ip4:103.30.72.0/24 ip4:103.30.73.0/24 ip4:103.30.74.0/24 ip4:103.30.75.0/24 ~all"
# dig spf-tp.mail-b.net TXT | grep spf1
spf-tp.mail-b.net. 3500 IN TXT "v=spf1 include:spf.mail-bgn.net include:spf-il.mail-b.net include:spf1.mail-btl.net include:spf-ex.mail-bgn.net include:spf-n.mail-b.net include:spf-ka.mail-b.net include:spf-o1.mail-b.net include:spf-o2.mail-b.net ~all"

一部でてきましたね。これを最後まで繰り返します。

・結果は(あくまで例示のアドレスがSPAMだった場合の例です)

ip4 103.30.72.0/24
ip4 103.30.73.0/24
ip4 103.30.74.0/24
ip4 103.30.75.0/24
ip4 103.8.64.0/24
ip4 103.8.65.0/24
ip4 103.23.248.0/24
ip4 103.23.249.0/24
ip4 103.23.250.0/24
ip4 103.23.251.0/24
ip4 115.187.69.0/24
ip4 115.187.70.0/24
ip4 115.187.71.0/24
ip4 115.187.72.128/25
ip4 115.187.77.0/25
ip4 157.250.72.0/24
ip4 120.143.39.128/25
ip4 123.50.223.128/25
ip4 123.98.155.128/25
ip4 180.222.60.0/24
ip4 180.222.61.0/24
ip4 180.222.62.0/24
ip4 180.222.63.0/24
ip4 103.9.176.0/24
ip4 103.9.177.0/24
ip4 103.9.178.0/24
ip4 103.9.179.0/24
ip4 103.8.66.0/24
ip4 103.8.67.0/24
ip4 103.13.104.0/24
ip4 103.13.105.0/24
ip4 103.13.106.0/24
ip4 103.13.107.0/24
ip4 103.14.32.0/24
ip4 103.14.33.0/24
ip4 103.14.34.0/24
ip4 103.14.35.0/24
ip4 103.13.192.0/24
ip4 103.13.193.0/24
ip4 103.13.194.0/24
ip4 103.13.195.0/24
ip4 103.15.108.0/24
ip4 103.15.109.0/24
ip4 103.15.212.0/24
ip4 103.15.213.0/24
ip4 103.15.214.0/24
ip4 103.15.215.0/24
ip4 103.15.110.0/24
ip4 103.15.111.0/24
ip4 1.0.16.0/20
ip4 180.222.32.0/20
ip4 180.222.48.0/21
ip4 119.82.152.0/21
ip4 27.100.28.0/22
ip4 203.142.207.16/28
ip4 203.142.214.0/24
ip4 124.248.144.0/24
ip4 124.248.145.0/24
ip4 210.146.22.0/24
ip4 210.151.32.0/24
ip4 210.151.38.192/26
ip4 210.169.130.0/26
ip4 210.169.148.0/24
ip4 210.175.112.0/25
ip4 210.175.115.0/24
ip4 210.175.124.0/24
ip4 210.175.40.0/24
ip4 210.175.47.0/24
ip4 210.175.62.0/24
ip4 210.175.80.0/24
ip4 211.8.127.0/25
ip4 211.8.131.128/25
ip4 211.8.56.0/21
ip4 211.8.70.0/24
ip4 61.200.42.0/25
ip4 61.200.43.0/25
ip4 61.209.229.0/24
ip4 61.209.230.0/24
ip4 61.209.231.0/24
ip4 61.209.246.0/24

以上のアドレスの中から送信しますと宣言していることになります。
このアドレスを全て IPフィルターを掛けてやればすむということです。

同様に rainbow+err*****@slv001.mag-r.net から迷惑メールが来た場合の結果は
ip4 103.15.108.0/22
ip4 157.250.72.0/25
ip4 103.20.72.0/22
ip4 103.20.8.0/22
ip4 103.30.72.0/22
ip4 103.20.4.0/22
ip4 202.231.248.0/21
ip4 123.98.155.128/25
ip4 103.6.44.0/22
ip4 103.13.192.0/22
ip4 103.19.116.0/22
ip4 103.19.160.0/22
ip4 119.82.8.0/21
ip4 119.82.152.0/21
ip4 180.222.32.0/19
ip4 27.100.28.0/22
ip4 120.143.39.128/25
ip4 103.14.152.0/22
ip4 31.148.149.0/22
ip4 103.28.184.0/22
ip4 115.187.69.0/24
ip4 123.50.223.128/25
ip4 120.143.39.128/25
ip4 103.23.248.0/22
ip4 202.231.244.0/22
ip4 1.0.16.0/20
ip4 103.8.64.0/23
ip4 103.13.112.0/22
ip4 202.234.14.35
ip4 210.129.217.128/26
ip4 103.9.176.0/22
ip4 103.8.66.0/23
ip4 103.13.104.0/22
ip4 103.14.32.0/22
ip4 103.13.164.0/22
ip4 103.14.148.0/22
ip4 103.13.140.0/24
ip4 103.13.141.0/24
ip4 103.13.142.0/24
ip4 103.13.143.0/24
ip4 103.15.212.0/22
ip4 58.80.51.0/24
ip4 103.20.84.0/22
ip4 103.20.36.0/22
ip4 120.143.17.0/25
ip4 115.187.67.0/24

です。
もう一度 なんと礼儀正しいSPAMなんだ!

フィルターのアドレスをおしえてくれるなんて

 注意)この方法で出てきたアドレスの中からSPAMを送信するよと宣言はしていますが、このアドレスの管理者がSPAM送信をしていることを示すわけでは有りません。IPアドレスを貸与しているだけだったり、サーバーを他の業者に貸与しているだけの場合もありますし、本来の所有者に無断で掲載しているだけかもしれません。

もっともこのシステムの場合は、送信元メールアドレスの拒否にワイルドカードが使えるのなら rainbow+err*  を拒否してやれば終わりですけどね。IPアドレスで拒否できない場合はお試しあれ

実は、spfでIPアドレスを拒否る方法は問題がありました。
おまけで b-e-a-m.jp で同じことをした場合こうなります。不思議ですね私のところに来る迷惑メールの多くは下記アドレスと上のエリアの共通アドレスのところから来ています。しかもなんとgoogleのアドレスもちゃっかり入れています。機械的にIPフィルターを掛けるとgoogleやその関係のサービスに支障がでます。XXもさる者引っかく者
ip4 103.15.108.0/22
ip4 157.250.72.0/25
ip4 103.20.72.0/22
ip4 103.20.8.0/22
ip4 103.30.72.0/22
ip4 103.20.4.0/22
ip4 202.231.248.0/21 B-net LLC
ip4 123.98.155.128/25 Redspeed Networks
ip4 103.6.44.0/22 B-net LLC
ip4 103.13.192.0/22
ip4 103.19.116.0/22
ip4 103.19.160.0/22
ip4 119.82.8.0/21 Redspeed Networks
ip4 119.82.152.0/21 Redspeed Networks
ip4 180.222.32.0/19 Redspeed Networks
ip4 27.100.28.0/22 Redspeed Networks
ip4 120.143.39.128/25
ip4 103.14.152.0/22
ip4 31.148.149.0/22 チェコ共和国
ip4 103.28.184.0/22
ip4 115.187.69.0/24
ip4 123.50.223.128/25 Redspeed Networks
ip4 120.143.39.128/25
ip4 103.23.248.0/22
ip4 202.231.244.0/22 B-net LLC
ip4 1.0.16.0/20
ip4 103.8.64.0/23
ip4 103.13.112.0/22
ip4 202.234.14.35
ip4 210.129.217.128/26
ip4 103.9.176.0/22
ip4 103.8.66.0/23
ip4 103.13.104.0/22
ip4 103.14.32.0/22
ip4 103.13.164.0/22
ip4 103.14.148.0/22
ip4 103.13.140.0/24
ip4 103.13.141.0/24
ip4 103.13.142.0/24
ip4 103.13.143.0/24
ip4 103.15.212.0/22
ip4 58.80.51.0/24
ip4 103.20.84.0/22
ip4 103.20.36.0/22
ip4 120.143.17.0/25 Redspeed Networks
ip4 115.187.67.0/24
ip4 216.239.32.0/19 GOOGLE
ip4 64.233.160.0/19 GOOGLE
ip4 66.249.80.0/20 GOOGLE
ip4 72.14.192.0/18 GOOGLE
ip4 209.85.128.0/17 GOOGLE
ip4 66.102.0.0/20 GOOGLE
ip4 74.125.0.0/16 GOOGLE
ip4 64.18.0.0/20 Postini Googleの提携会社
ip4 207.126.144.0/20 Postini Googleの提携会社
ip4 173.194.0.0/16 GOOGLE

これは今後、ドメイン名をgoogleで偽装してくるのかも知れません。
ということで、この方法を使う場合は、以下のネットブロックは除外しておきそこからSPAMが来たらログをとりGoogleに通告すると良いでしょう
aspmx.googlemail.com
_spf.google.com
_netblocks.google.com
_netblocks2.google.com
_netblocks3.google.com

(コメント オフ)