Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
21
Help us understand the problem. What is going on with this article?
More than 1 year has passed since last update.

海外からのアクセス(IP)を拒否するhtaccessの設定

不要なアクセスを受けるとサーバーのパフォーマンスが落ちたりします。
海外のIPから無作為にアクセスを受けることも珍しくありません。
不正ログインやアクセス超過を防ぐための設定になります。

このため.htaccessに設定をして、海外からはサイトなどにアクセスできないような設定をします。

.htaccess
#########  海外IPを許可しないための設定  #########

### 検索エンジンをまとめて許可するためにenv化する (Must)
SetEnvIf User-Agent "Googlebot" allowbot
SetEnvIf User-Agent "msnbot" allowbot
SetEnvIf User-Agent "bingbot" allowbot
SetEnvIf User-Agent "Slurp" allowbot

### いったん全てを拒否する (Must)
order deny,allow
deny from all

### 検索エンジンからのアクセスを許可 (Must)
allow from env=allowbot

### SearchConsoleのプロパティが確認出来るためにの対策 (使っていなければ不要)
### https://support.google.com/webmasters/answer/80553?hl=ja
allow from googlebot.com
allow from google.com

### vagrantなどのアクセス許可 (使っていなければ不要)
### vagrantなど使っていれば許可にしないと開発環境が使えないため
allow from 192.168.xx.xx/24

### 日本国内のIPを許可 (Must)
### http://www.cgis.biz/tools/access/
### 2018.12.1時点 割り当て個数 203,957,760
allow from 1.0.16.0/20
allow from 1.0.64.0/18
allow from 1.1.64.0/18
allow from 1.5.0.0/16
allow from 1.21.0.0/16

( 中略 )

allow from 223.223.164.0/22
allow from 223.223.208.0/21
allow from 223.223.224.0/19
allow from 223.252.64.0/19
allow from 223.252.112.0/20

説明

流れとしては、まず全てのアクセスを拒否します。

次に検索エンジンからのアクセスを許可します。
これをしないと検索エンジンがクロールできないため、SEOで上位にくるどころか検索結果に出るかどうかもあやしいです。

これは必要であればですが、googleのSearchConsoleやアナリティクスを使っている場合も指定のものを許可して下さい。
また開発環境で同じ.htaccessを使用している場合は、そのIPも記載ください。

最後に日本からのアクセスを許可します。
最初に全てのアクセスを拒否しているため、日本のIPの全て記載する必要があります。
下記のサイトが、日本国外(海外/外国)からのアクセスを制限する(禁止する)ために
日本に割り当てられているIPアドレスをAPNICより取得してリスト化してくれていますのでこちらからコピると良いと思います。
http://www.cgis.biz/tools/access/

サーバーへのアクセスの確認方法

参考までに。
サーバーにsshログイン後、下記などのパスを探して実行してみて下さい。(サーバーによって多少異なります)

cat /var/log/httpd/access_log
21
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
non0311
東日本大震災から10年 世のため人のために自分のできることを探し生きています。 エンジニア仲間も募集しています。 PHP(Laravel) / Github / Vagrant 使える方、または覚えたい方、気軽にメールください。 お仕事として対価をお支払いする事ももちろん可能です。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
21
Help us understand the problem. What is going on with this article?