【WordPress】htaccessでロシア・中国・ウクライナ等からアクセス拒否する方法

アクセス拒否

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」ボタンを押します。

htaccessの書式を選択する

Create ACL」ボタンを押すと右側に「deny from IPアドレス」の一覧が出力されますので、こちらをコピーします。

ちなみに、ここに出力されたIPアドレスがアクセス拒否対象の国々ということになります。

なお書式はApache2.2系となっておりますので、2.4系をお使いの方は適宜エディタなどで整形し直して下さい。

アクセス拒否するIPアドレスの一覧をコピーする

.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/23

WordPressを使っているならば、「# BEGIN WordPress」「# END WordPress」の前か後に記述してください。「# BEGIN WordPress」と「# END WordPress」の間は、WordPress側から操作した際に書き込まれる部分になります。せっかく貼り付けたものが上書きされてしまう可能性がありますのでご注意を!

※あまりにも行数が長い場合は、.htaccessよりもさらに上の「httpd.conf」へ書くことをオススメします。.htaccessは、アクセスがあるたびに処理が発生しますが、httpd.confではサーバー起動時に一度読み込まれるだけなので。

 

 

 

About Naoki 24 Articles
デザインを含めたフロントエンドから、インフラ含めたバックエンドまで広く浅く活動しているエンジニアです。主にSaasの開発・営業・運営管理などをしております。毎日デスマーチがモットーなブラックエンジニアです。 私が管理しているクラウドソフトウェアがこちらです→まとめツール倶楽部『MTCsystem』

Be the first to comment

Leave a Reply

Your email address will not be published.


*


CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)