アクセス制限 – プロキシ対策

接続元のIPアドレスでアクセス制限をかけても、プロキシを使って突破しようとするスパマーたち。この困った人たちへの対策法。

規制したい対象

主に中国、香港、台湾、韓国からやってくるウィルスばらまき型スパマー。

  • 接続元のIPアドレスが中国、香港、台湾、韓国のもの。
  • プロキシ経由でアクセスしていて、要求元のIPアドレスが中国、香港、台湾、韓国のもの。
  • 匿名プロキシ経由のもの。

特に勘弁して欲しいのが、接続元のドメインが「fj.cn.cndata.com」のもの。2006/8/7現在、このドメインに属するIPアドレスとしてわかっているものは、次のアドレス帯。

  • 59.56.0.0 – 59.61.255.255
  • 218.6.0.0 – 218.6.127.255
  • 220.160.0.0 – 220.162.255.255
  • 222.76.0.0 – 222.79.255.255

対策法

アクセス元IPを.htaccessで規制

アクセス元IPアドレスを.htaccessに記述して規制する。具体的な設定方法は「中国・韓国からのアクセス制限」の記事に書いたので、ここでは割愛。

プロキシ経由のものを.htacessで規制

プロキシ経由でアクセスしてきたものを、環境変数HTTP_FORWARDED、HTTP_X_FORWARDED_FORに入っている要求元IPアドレスでチェックして拒否。ただし、拒否したい国のすべてのIPアドレス用の正規表現を記述するのは現実的には無理があるので(自動化するツールがないため)、特に拒否したいプロバイダのアドレス帯のみを記述する。

SetEnvIf X-Forwarded-For "59\.(5[6-9]|6[0-1])\.[0-9]+\." cn_spam
SetEnvIf X-Forwarded-For "218\.6\.([0-9]|[0-9]{2}|1[0-1][0-9]|12[0-7])\." cn_spam
SetEnvIf X-Forwarded-For "220\.16[0-2]\.[0-9]+\." cn_spam
SetEnvIf X-Forwarded-For "222\.7[6-9]\.[0-9]+\." cn_spam
SetEnvIf Forwarded "59\.(5[6-9]|6[0-1])\.[0-9]+\." cn_spam
SetEnvIf Forwarded "218\.6\.([0-9]|[0-9]{2}|1[0-1][0-9]|12[0-7])\." cn_spam
SetEnvIf Forwarded "220\.16[0-2]\.[0-9]+\." cn_spam
SetEnvIf Forwarded "222\.7[6-9]\.[0-9]+\." cn_spam
order allow,deny
allow from all
deny from env=cn_spam
公開プロキシを.htaccessで規制

GUARD PROXYというフリーウェアがあったが、現在は動作しない。定期的に公開プロキシのリストを取得して.htaccessを作成し、WebサーバにFTP転送してくれるという必要十分な機能を持っていた。プロキシのリストをソフトウェア作者のページからダウンロードして.htaccessを作成するけれども、現在ではこのリストが更新されていないために動作しない。

これに相当する別のプログラムを探してみたものの、いまだ見つからず。自作するしかないのかも。

参考リンク

タイトルとURLをコピーしました