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


カテゴリー: BlogNginxSecurity

adachin

1989年生まれのFindy/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTA/TechBullで未経験者にインフラのコーチング/コミュニティマネージャーとして立ち上げと運営をしている。また、過去「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。

0件のコメント

コメントを残す

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