スパムメールに関する現状考察
以前は XREA で借りていたレンタルサーバのメールサーバ機能を用いていましたが、どうにも迷惑メールのフィルタ機能に満足いかず、自宅サーバでメールサーバを構築したこともありました。
結局は満足のいくスパムフィルタの環境を作り込むことができず、結局諦めて Google Apps 経由で Gmail に独自ドメインを紐づけてメールを受信するようにしています。もうこの運用に切り替えて随分と経ちますが、Google のスパムフィルタの精度には相当満足しています。
プロバイダを運営している各社のメールシステムでは、おおよそ以下の2つの製品のシステムを導入しているようです。
- Cloudmark社製品 - Cloudmark Authority http://www.cloudmark.com/ja/serviceproviders/
- Cisco社製品 - IronPort http://www.ironport.com/jp/
もっとも個人ベースでこのような製品を入れることは大凡無理があるのですが、そもそも迷惑メールに関する僕の知識が結構古いことに気がつかされました。
Cisco 社が提供している Cisco IronPort SenderBase Security Network というサイトがあるのですが、IronPort という製品のベースとなっている情報の一部を無料公開しています。
その中でも一番興味深かったのが、迷惑メールの配信拠点となっている情報です。僕の知識では、迷惑メールのほとんどが中国からの送信かと記憶していたのですが、今は全然違うようです。北米からの送信が多いようです。
データは日時で更新されている模様で、日によってマークの位置が異なるのも、非常に興味深い。
ちなみにウィルスメールの送信先もプロットしてみると、若干ながら拠点が違うのも興味深い。
このサイトのもう一つの使いどころは、IP アドレスを入力すると、その IP の信頼度を教えてくれる機能です。たとえば、僕のところに送りつけてきた IP でテストしてみました。信頼度が Poor なので、この IP から送られるメールは、おおよそスパムですよって結果を得ることができました。
http://www.senderbase.org/senderbase_queries/detailip?search_string=210.146.22.21
ずざざっと調べてみる場合には、こんなスクリプトを流すと良いと思います。
use LWP::Simple; my $api = 'http://www.senderbase.org/senderbase_queries/detailip?search_string='; while (<DATA>) { chomp; my $ip = $_; my $text = get(qq{$api$ip}); my ($score) = $text =~ m!SenderBase\sreputation\sscore</td>.*?<td.*?>\s*(.+?)\n!msx; print qq{$ip : $score\n}; sleep 1; } 1; __DATA__ 210.146.22.21
このサイトへの攻撃にならないように sleep 1 を入れてあるので、複数の IP を調べる際には、それなりに時間がかかりますし、そもそもこのチェックが遅いので思ったより時間がかかりますが、コレ系の業務をしている方には当方するスクリプトかと思います。
コメントやシェアをお願いします!