コラム

ランダムな英字トラックバックスパムをブロックする方法


ブロック方法は主に2つ。1つめはトラックバック用のアドレスを取得するサーバをブロックする方法、もう1つはPOSTに含まれている特徴的なUserAgentをブロックすることです。

今回取り上げるトラックバックスパムは通常のものと違い、リンク先のドメインが存在しません。つまり宣伝目的ではなく、愉快犯かあるいは技術的なスパムの実験ではないかと思われます。例えば、

トラックバック送信元サイト名:myigkqve
トラックバック送信元記事名:wwoplazmy
トラックバック送信元アドレス:http://www.hlribogxe.com

と、以上のような感じで送られてきます。


アドレスなどの文字列はランダムな英字の組み合わせになっているのが特徴で、送信元のIPアドレスは毎回違う海外の匿名プロキシを経由してきます。しかもご丁寧なことに世界中の様々な匿名プロキシサーバリストにまだ載っていないようなものがほとんど。つまり、匿名プロキシサーバリストを自動取得して.htaccessなどで規制する方法が使えないわけです。

しかし様々な試行錯誤の末、この意味不明トラックバックスパムを排除することに成功しました。
◆方法1:トラックバック用のアドレスを取得するサーバをブロック

以下のホスト名をブロックするとトラックバックのアドレスを取得されないようになるので、必然的にトラックバックが来なくなります。



ホスト名:52.2e.5746.static.theplanet.com

IPアドレス:70.87.46.82



これを見つけたのは、つい先日のこと。あまりにも頻繁に来るので、仕組みを考えることにしたわけです。おそらく敵の手順は以下のような感じのはずです。



1.ページを取得する

2.トラックバックのアドレスを抜き出す

3.トラックバックを送信する




「2」の部分は毎回違うプロキシを使っているようですが、「1」はどうなのでしょう?ログを見ると、トラックバックを送ってきたプロキシはあくまでも送信専用でした。スパム送信に使用するプロキシ経由でアドレスを取得していないようです。



また、GIGAZINEの場合はトラックバック用のアドレスを表示して一定時間以内でなければランダムアドレスが破棄され、無効になってしまいます。これをくぐりぬけているということは、ページを取得してかなり短時間のうちに送信していることになります。ということは、トラックバックを送信してきた際のログのちょっと前を見てそのページにアクセスしているホスト名が、トラックバック用のアドレスを取得するためのホスト名ということになります。



というわけで、今までの同系統種のトラックバックスパムをチェックしたところ、浮上したのが先のホスト名「52.2e.5746.static.theplanet.com」というわけです。7月の初旬からつい先日までずーっと同じです。



ただ、最近のその他の種類のランダムな文字列を吐き出すトラックバックスパムはプロキシを使ってアドレスを受信するタイプも出てきているようです。速度はその分だけ遅いのですが、対策が立てにくいです。しかし、そういう場合でも下記の「方法2」ならば対処可能です。



◆方法2:特徴的なPOSTのUserAgentをブロック

今度は「3」のトラックバック送信で考えてみます。トラックバックの送信は当然ですが「GET」ではなく、「POST」で行われます。つまり、何か特徴的なPOSTであれば防衛可能と言うことです。



調べてみたところ、トラックバックを送る際は必ずUserAgentが「Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)」になっていました。通常のブログからのトラックバックであれば、こんなブラウザ名みたいなUserAgentになることはまずありません。というわけで、これだけを拒否するように.htaccessで設定すればいいわけです。下記のようになります。







「Files index.php」の「index.php」の部分は各ブログのトラックバックを受信するファイル名にします。MovableTypeだと「mt-tb.cgi」に変えたりするわけです。この方法は応用が広く、その他のトラックバックスパムにも有効です。また、正規表現を駆使すればUserAgentを送ってこないようなスパムを弾いたりすることもできます。



正規表現は下記のソフトを使うと作るのが楽です。初心者でも問題なく作成できます。



正規表現チェッカー



極端なことをするならば、国内のIPアドレスを列挙して、国内以外のPOSTは全部弾く、という超絶技も可能です。通常の閲覧に使用する「GET」を弾く方法ではないので、海外からの閲覧であっても支障はないというのがメリットです。その代わり、海外のサーバを利用している国内サービスからのトラックバックは全部弾いてしまいますが…。


この記事のタイトルとURLをコピーする

・関連記事

韓国からの異常なアクセスを拒否する方法 - GIGAZINE



新しく作られるブログの約9パーセントはスパム - GIGAZINE



まぐまぐの「代理登録」を永久に完全拒否する方法 - GIGAZINE



ネット上の電子メールの86%はスパム - GIGAZINE

in ネットサービス,   コラム, Posted by darkhorse_log

You can read the machine translated English article here.