Quantcast
Channel: ADACHIN SERVER LABO
Viewing all articles
Browse latest Browse all 164

[セキュリティ]Nginxで特定IPを拒否する

$
0
0

Adachinですっ。

今回はNginxで特定IPを制限するために実際どうやって設定してるのかをブログします。

そもそもIP制限はアタックされたときに、よくhosts.allowやiptables(前回のブログより)

で拒否れるのですが、Nginxのconfファイルでも設定すれば拒否れるのです。

まずはNginxのconfファイルの構成から説明していきましょう。


■nginx.conf

Nginxは元々ディレクトリの集まりでできているのですが、
各モジュールによって導入されていて、
モジュールを有効にするとディレクティブが利用可能になります。

主に4つのモジュールがあります。

Mainモジュール: プロセス管理やセキュリティなどの基本機能
Eventsモジュール: ネットワーク機能の内部メカニズム
Configurationモジュール: ファイルのInclude
HTTPモジュール: HTTPサーバの基本ブロック、ディレクティブ、変数を格納しているコンポーネント

そうするとアクセス制限をする場合はどのモジュールを使えばいいのか、

HTTPモジュールの「HttpAccessモジュール」を使えばOKです。


■特定IPのみ拒否る

location /wordpress/ {
deny xxx.xxx.xxx.xxx;
allow all;
}

これでxxx.xxx.xxx.xxxのみ拒否して他はアクセスOKという記述になります。


■ちなみに

location /wordpress/ {
 deny all;
 allow xxx.xxx.xxx.xxx;
}

これだとxxx.xxx.xxx.xxxはアクセスできて、他はアクセスできなくなります。


■設定反映

# sudo /etc/init.d/nginx reload


■拒否されるとどうなるのか

404

404となり、残念な状態に・・・

nginxのerrorログにも

2016/xx/xx 00:00:00 [error] 1948#0: *3458 access forbidden by rule, client: xxx.xxx.xxx.xxx,〜〜〜

となってアクセスてきてないよ!となってるはずです。


■まとめ

これでバッチグー(・∀・)b

参考:http://mogile.web.fc2.com/nginx/admin-guide/restricting-access.html


Viewing all articles
Browse latest Browse all 164

Trending Articles