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のみ拒否る

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


■ちなみに

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


■設定反映


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

404

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

nginxのerrorログにも

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


■まとめ

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

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

The following two tabs change content below.
あだちん

あだちん

1989年生まれ。 Infra Engineer/SRE In Shibuya 2013年新卒に自宅サーバを構築し、この技術ブログを立ち上げたが、 2017年に電源が壊れConoHaにリプレイスした。 好きな構成管理ツールはansible,Terraform。 インフラならdocker。言語はPython。 WEBならH2o。 HIPHOPが好きすぎてTrack Makerでもある。

コメントを残す