
IPアドレスでアクセス拒否をする
迷惑なコメントやお問い合わせ、スパムメールやDoS攻撃などを国ごとに割り振られたIPアドレスでアクセスを拒否していきます。
まず、国ごとのIPアドレスを取得するために「Country IP Blocks」というサイトでIPアドレスと拒否するための.htaccessの書式をコピーしていきます。
アクセス拒否する対象の国
- ロシア Russian Federation
- ウクライナ Ukraine
- 中華人民共和国 China
- 香港 Hong Kong
- 北朝鮮 Korea, Democratic People’s Republic Of
- 大韓民国 Korea, Republic Of
以上の国々から来たアクセスを遮断します。
Country IP Blocks の使い方
前述した「Country IP Blocks」にてアクセスを拒否する国を選んでいきます。
最初に、左側のチェックボックスが並んでいる「Select by Continent or Country」ところから対象の国をチェックしていきます。

チェックし終えたら中央にある「Select Format」のラジオボタンで「Apache .htaccess Deny」を選択。
選択後、並びの一番下にある「Create ACL」ボタンを押します。

「Create ACL」ボタンを押すと右側に「deny from IPアドレス」の一覧が出力されますので、こちらをコピーします。
ちなみに、ここに出力されたIPアドレスがアクセス拒否対象の国々ということになります。
なお書式はApache2.2系となっておりますので、2.4系をお使いの方は適宜エディタなどで整形し直して下さい。

.htaccessにアクセス拒否の書式を書き込む
.htaccessの場所
WordPressを使っているならば、「wp-content」「wp-admin」ディレクトリや「wp-config.php」ファイルが置かれている並びに「.htaccess」というファイルがあります。
.htaccessのIPアドレスを用いたアクセス拒否の書き方
Order allow,deny
allow from all
ここにコピーしてきた内容を貼り付けます「Order allow,deny」は「最初は許可(allow)を書いて、次に拒否(deny)を書くよ」という宣言。
「allow from all」は「とえあえず全部アクセス許可するよ」という建前。
そして、コピーしてきた「deny from IPアドレス」で「この人たちは許可しないよ、さようなら」という無慈悲な本音。
# BEGIN WordPress
# END WordPress
Order allow,deny
allow from all
deny from 1.0.1.0/24
deny from 1.0.2.0/23
deny from 1.0.8.0/21
・
・ 長いので省略
・
deny from 223.255.248.0/22
deny from 223.255.252.0/23WordPressを使っているならば、「# BEGIN WordPress」「# END WordPress」の前か後に記述してください。「# BEGIN WordPress」と「# END WordPress」の間は、WordPress側から操作した際に書き込まれる部分になります。せっかく貼り付けたものが上書きされてしまう可能性がありますのでご注意を!
※あまりにも行数が長い場合は、.htaccessよりもさらに上の「httpd.conf」へ書くことをオススメします。.htaccessは、アクセスがあるたびに処理が発生しますが、httpd.confではサーバー起動時に一度読み込まれるだけなので。


Be the first to comment