スパムメールに関する現状考察

以前は XREA で借りていたレンタルサーバのメールサーバ機能を用いていましたが、どうにも迷惑メールのフィルタ機能に満足いかず、自宅サーバでメールサーバを構築したこともありました。

結局は満足のいくスパムフィルタの環境を作り込むことができず、結局諦めて Google Apps 経由で Gmail に独自ドメインを紐づけてメールを受信するようにしています。もうこの運用に切り替えて随分と経ちますが、Google のスパムフィルタの精度には相当満足しています。

プロバイダを運営している各社のメールシステムでは、おおよそ以下の2つの製品のシステムを導入しているようです。

もっとも個人ベースでこのような製品を入れることは大凡無理があるのですが、そもそも迷惑メールに関する僕の知識が結構古いことに気がつかされました。

- スポンサーリンク -

Cisco 社が提供している Cisco IronPort SenderBase Security Network というサイトがあるのですが、IronPort という製品のベースとなっている情報の一部を無料公開しています。

その中でも一番興味深かったのが、迷惑メールの配信拠点となっている情報です。僕の知識では、迷惑メールのほとんどが中国からの送信かと記憶していたのですが、今は全然違うようです。北米からの送信が多いようです。

img001.jpg

データは日時で更新されている模様で、日によってマークの位置が異なるのも、非常に興味深い。
ちなみにウィルスメールの送信先もプロットしてみると、若干ながら拠点が違うのも興味深い。

img002.jpg

このサイトのもう一つの使いどころは、IP アドレスを入力すると、その IP の信頼度を教えてくれる機能です。たとえば、僕のところに送りつけてきた IP でテストしてみました。信頼度が Poor なので、この IP から送られるメールは、おおよそスパムですよって結果を得ることができました。

http://www.senderbase.org/senderbase_queries/detailip?search_string=210.146.22.21

img003.jpg

ずざざっと調べてみる場合には、こんなスクリプトを流すと良いと思います。

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 を調べる際には、それなりに時間がかかりますし、そもそもこのチェックが遅いので思ったより時間がかかりますが、コレ系の業務をしている方には当方するスクリプトかと思います。

- スポンサーリンク -