ウェブサイトを運営していて、サイト上に掲示板などを置いているとものすごい量のコメントSPAMに会うことがあります。
実際に弊社で製作した掲示板サイトにものすごい量のコメントスパムが。。。
いったい誰がこんなことをするんだと思い
IPアドレスを調べると、ほぼ100%が中国・韓国からだとわかりました。
ああ、なるほど。なるほど。
一人で納得したところで、中国・韓国のIPアドレスからのアクセスを全拒否にする方法を紹介します。
.htaccessが利用できるサーバーなら誰でもできる簡単な方法です。
STEP 1 中国・韓国に割り当てられているIPアドレスリストを用意
韓国IPアドレスからのパケットを遮断するサイトにある「中国と韓国」のIPアドレスリストをダウンロードします。
KRCN.sh.txtという名前のテキストファイルが手に入ると思います。
iptables -A KRFILTER -s 58.14.0.0/15 -j KRFILTERED
iptables -A KRFILTER -s 58.16.0.0/13 -j KRFILTERED
iptables -A KRFILTER -s 58.24.0.0/15 -j KRFILTERED
iptables -A KRFILTER -s 58.29.0.0/16 -j KRFILTERED
iptables -A KRFILTER -s 58.30.0.0/15 -j KRFILTERED
内容はこんな感じの記述が千数百行続いています。
ちなみにこのデータは毎月更新されているようです。
STEP 2 サクラエディタで.htaccessの形に書き直す
秀丸エディタでもいいんですが、今回はフリーソフトのサクラエディタを使います。
置換で
置換前「 -j KRFILTERED」(-jの前は半角スペース)
置換後「」(何にも入れない)
を指定してすべて置換します。
iptables -A KRFILTER -s 58.14.0.0/15
iptables -A KRFILTER -s 58.16.0.0/13
iptables -A KRFILTER -s 58.24.0.0/15
置換するとこんな感じ
続いて同様に、
置換前「iptables -A KRFILTER -s」
置換後「deny from」
を指定してすべて置換します。
deny from 58.14.0.0/15
deny from 58.16.0.0/13
deny from 58.24.0.0/15
置換するとこんな感じ
先頭に
order allow,deny
allow from all
の2行を書いて完成。
order allow,deny
allow from all
deny from 58.14.0.0/15
deny from 58.16.0.0/13
deny from 58.24.0.0/15
最終的にこんな感じ
適当な名前で保存して(例:cnkr.htaccess)サーバーにアップロード。
アップロード後.htaccessにリネームしてください。
※注意※
この設定をしてしまうと、中国・韓国の人はサイトに全くアクセスできなくなってしまいます。
中国、韓国の人が利用しないサイトかどうか事前によーく考えて設定しましょう。
補足
韓国IPアドレスからのパケットを遮断するサイトには他にも
・韓国・中国・香港(.hk)・台湾(.tw)・インド(.id)・インドネシア(.in)・フィリピン(.ph)・タイ(.th)
・韓国(.kr)のみ
・中国(.cn)のみ
などいろいろなファイルが用意されています。
サイトの実情に合わせて利用しましょう。
この記事へのコメント一覧