LINEで送る
Pocket

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

LINEで送る
Pocket

カテゴリー: BlogNginxSecurity

あだちん

1989年生まれ。 ランサーズ/SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、他社インフラレスポンス改善、ランサーズでの副業、ansibleでのインフラコード化を推進し、未経験によるエンジニアのMENTAなども実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/広報/VulsRepo init file,chatwork通知のコントリビュータでもある。現在はDocker開発環境の提供、AWSで新サービスのインフラ構築、PHPバージョンアップ、新卒採用、採用広報、分析基盤を担当しておりDigdag,embulk,BigQueryを使いこなし中。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください