2009.11.11
スパムとの戦い:現在状況報告
コメントスパムがかなり来るようになってきました。WordPress に最初からついてくるプラグインの「Akismet」がすべて 弾いてくれてます。いまんとこ100%です。書き込まれても非公開のまま保留してくれます。
でもそれじゃあ私としてはある意味おもしろくないわけでして。
私はスパムが来たらその IP を aguse で調べ、すべて .htaccess に登録してきました。なぜって、スパムって一度来ると同じ相手からずっと来続けるからです。悪の芽は育たないうちに早めに摘む。それに限ります。
.htaccess で弾きますから当然エラーログに入ります。たまにそれを見てほくそ笑むわけです。おお、こいつらこんなに来てるんだぁとかね。
でもだんだんめんどくさくなってきました。ここまで登録したのは以下のとおり。トレンドマイクロのはスパムじゃないけど、うざいから(^_^;)
以下、スパムなんで IP とか HostName はそのまま晒します。
order allow,deny
allow from all
#
#trend micro
deny from 150.70.0.0/16
deny from 66.180.80.0/20
deny from 66.35.255.0/24
deny from 128.241.0.0/16
deny from 216.104.0.0/19
#
#AUSTRIA: BUNDESLAND WIEN WIEN SIL-UBIT
deny from 78.142.140.192/29
#
#brazil: http://viagera.cyallis.info/ MPS Informatica
deny from 200.160.16/20
deny from 212.95.51.0/24
deny from 212.95.52.0/24
#
#Belize: ALTUSHOST-NET
deny from 91.214.44.0/22
#
#CHINA: BEIJING BEIJING CMNET-yunnan
deny from 218.202.0.0/18
#
#Cyprus: Centralux Ltd
deny from 91.199.112.0/24
#
#GERMANY THURINGEN ERFURT DE-KEYWEB-I
deny from 62.141.56.0/21
#Germany: Sedo Domain Parkingc/o Plusline
deny from 82.98.86.0/24
#GERMANY: BAYERN NUERNBERG HETZNER-RZ-NBG-NET
deny from 85.10.192.0/20
#GERMANY: BERLIN BERLIN DE-BBTT-19991008
deny from 212.42.224.0/19
#GERMANY: BERLIN BERLIN NL-INTERNETUNLTD
deny from 213.131.234.0/28
#GERMANY: BERLIN BERLIN
deny from 85.214.16.0/20
deny from 85.214.32.0/19
deny from 85.214.64.0/18
deny from 85.214.128.0/21
deny from 85.214.136.0/22
#GERMANY: SACHSEN DRESDEN Technische Universitaet Dresden
deny from 141.76.0.0/16
#GERMANY: HESSEN FRANKFURT NETDIRECT-NET
deny from 78.159.96.0/21
#GERMANY: NORDRHEIN-WESTFALEN HUERTH SERVER4YOU-1
deny from 85.25.129.0/24
deny from 85.25.130.0/23
deny from 85.25.132.0/22
deny from 85.25.136.0/21
deny from 85.25.144.0/21
deny from 85.25.152.0/23
#
#Great Britain(United Kingdom) DRAGONARA-NET
deny from 194.8.74.0/23
#
#Moldova: SC STARNET SRL Chisinau
deny from 89.28.114.0/24
#
#Netherlands: NOORD-HOLLAND AMSTERDAM NL-ECATEL
deny from 89.248.172.0/27
deny from 89.248.172.32/28
deny from 89.248.172.48/29
deny from 89.248.172.56/31
#
#RUSSIAN: FEDERATION MOSCOW CITY MOSCOW RU-CORBINA-20081010
deny from 95.24.0.0/13
#RUSSIAN: FEDERATION BASHKORTOSTAN UFA Russian Federation
deny from 77.79.160.0/19
#Russia: Federation ZAO “Delovaja set” Ufa
deny from 81.30.218.0/23
deny from 81.30.220.0/23
#Russian: Federation Artem Zhirkov
deny from 91.212.226.0/24
#RUSSIAN: FEDERATION MOSCOW CITY MOSCOW AVIEL-NET
deny from 93.185.192.0/21
#RUSSIAN: FEDERATION BASHKORTOSTAN UFA UBN
deny from 94.41.0.0/17
#
#UNITED STATES: CALIFORNIA APTOS FORMLESS-1
deny from 216.224.124.112/28
#UNITED STATES: ALABAMA TUSCALOOSA
deny from 69.244.0.0/19
#UNITED STATES: TEXAS PLANO GOLDMARK.ORG
deny from 72.64.118.112/29
ドイツが圧倒的に多いです。次いでロシア。で、方針を少し変えました。アクセスしてきた相手の IP で排除するんではなく、国で排除しちゃうことに。私んとこは日本語しか応対できませんから、海外からのアクセスを気にする必要はない。唯一イギリスだけは息子がアクセスしてきますから国ごとの排除はできませんけど。
ということで、ドイツ・ロシア他いくつかは上の羅列をやめて deny from 国コード、で弾くことにしました。 国コードで参照できます。日本だと .jp ってやつですね。
ところが、日本でもたとえば .com の人もいれば .org とか .net とかあります。それと同じで国コードだけだと漏れちゃう。結果的にいまのところ以下に収まってます。以下の分(スエーデン・ドイツ・オランダ・ロシア)だけで、それ以外は最初に書いた羅列をまだ併用してます。
#Sweden
deny from .se
#GERMANY
deny from .de
deny from .foebud.org
#NETHERLANDS
deny from .nl
#RUSSIAN
deny from .ru
#UKRAINE:
deny from onlinemartin.org
これらから来たスパム書き込み時のリファラー(どこからリンクしてきたか)を見ると、すべて「うち」なんですよ。全部ゲストブックに来てるんだけど、リンク元がそのゲストブックになってる。これはどういうことかと言いますと、ゲストブックのコメント欄をブラウザで表示させオフライン用に保存します。そしてオフラインでそこに書き込んで送信を押す。するとリンク元がゲストボードになってここのゲストボードに書き込まれるというわけ。これは掲示板時代からある技なんだけど、いまだに使ってるとは思わなかった。なんらかの自動書き込みツールを使ってるもんだと思ってました。かといって「そこからのリンクは書き込めない」という規制はできないんですよね。そんなことしたら正規の書き込みもできなくなるから(^_^;)
おもしろいこともわかってきました。ほぼ同時に複数の国からやってくる。
以下、私独自に弾いた分のエラーアクセスを拾った記録(の一部)。弾いたんで書き込まれはしなかったけど、弾かなければこれもスパムになってたはず。
2009/11/11 06:57:48
IP_ADDR = [ anonymizer2.blutmagie.de ]
Page = [ /blog/guestbook/comment-page-1 ]
Agent = [ Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.6 (build 01425); MRSPUTNIK 1, 5, 0, 19 SW) ]
From = [ http://nbbs.jp/blog/guestbook/comment-page-1#comment-141 ]
2009/11/11 06:58:59
IP_ADDR = [ 66.230.230.230 ]
Page = [ /blog/guestbook/comment-page-1 ]
Agent = [ Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.6 (build 01425); MRSPUTNIK 1, 5, 0, 19 SW) ]
From = [ http://nbbs.jp/blog/guestbook/comment-page-1#comment-141 ]
2009/11/11 06:59:36
IP_ADDR = [ tor.lab.os3.nl ]
Page = [ /blog/guestbook/comment-page-1 ]
Agent = [ Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.6 (build 01425); MRSPUTNIK 1, 5, 0, 19 SW) ]
From = [ http://nbbs.jp/blog/guestbook/comment-page-1#comment-141 ]
2009/11/11 07:00:21
IP_ADDR = [ 78.142.140.194 ]
Page = [ /blog/ ]
Agent = [ Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.6 (build 01425); MRSPUTNIK 1, 5, 0, 19 SW) ]
From = [ http://nbbs.jp/blog/ ]
2009/11/11 07:00:33
IP_ADDR = [ tor-proxy.fejk.se ]
Page = [ /blog/ ]
Agent = [ Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.6 (build 01425); MRSPUTNIK 1, 5, 0, 19 SW) ]
From = [ http://nbbs.jp/blog/ ]
2009/11/11 10:56:34
IP_ADDR = [ 66.230.230.230 ]
Page = [ /blog/wp-comments-post.php ]
Agent = [ Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) ]
From = [ http://nbbs.jp/blog/guestbook_2 ]
2009/11/11 13:05:41
IP_ADDR = [ 94.41.13.34.dynamic.ufanet.ru ]
Page = [ /blog/guestbook ]
Agent = [ Mozilla/4.0 (compatible- MSIE 6.0- Windows NT 5.1- SV1- .NET CLR 1.1.4322 ]
From = [ http://nbbs.jp/blog/guestbook ]
2009/11/11 13:05:47
IP_ADDR = [ 94.41.13.34.dynamic.ufanet.ru ]
Page = [ /blog/guestbook/comment-page-1 ]
Agent = [ Mozilla/4.0 (compatible- MSIE 6.0- Windows NT 5.1- SV1- .NET CLR 1.1.4322 ]
From = [ http://nbbs.jp/blog/guestbook/comment-page-1 ]
2009/11/11 13:05:54
IP_ADDR = [ 94.41.13.34.dynamic.ufanet.ru ]
Page = [ /blog/ ]
Agent = [ Mozilla/4.0 (compatible- MSIE 6.0- Windows NT 5.1- SV1- .NET CLR 1.1.4322 ]
From = [ http://nbbs.jp/blog/ ]
2009/11/11 15:08:17
IP_ADDR = [ tor-proxy.fejk.se ]
Page = [ /blog/guestbook_2 ]
Agent = [ Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; KKman2.0) ]
From = [ http://nbbs.jp/blog/guestbook_2 ]
2009/11/11 15:08:45
IP_ADDR = [ tor-exit.aof.su ]
Page = [ /blog/ ]
Agent = [ Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; KKman2.0) ]
From = [ http://nbbs.jp/blog/ ]
2009/11/11 15:09:23
IP_ADDR = [ anonymizer2.blutmagie.de ]
Page = [ /blog/ ]
Agent = [ Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; KKman2.0) ]
From = [ http://nbbs.jp/blog/ ]
対処しきれなくなったら一度ゲストブックを閉鎖して新規にまた作ります。でも実際にはまだ一回も一般書き込みとミス判定されて公開されたコメントスパムはないので大丈夫みたいだけどね。この攻防も遊びとしては楽しんでたりします(^_^)
.htaccess に記述するのをアクセス排除のブラックリスト方式ではなく、基本はすべて排除で許可制のホワイトリスト方式にして、.jp とか .uk(イギリスね)とかグーグルの ip 群だけとか個別に許可しちゃったほうが楽かもしれない。
関連してそうな投稿

コメントとトラックバック