インターネットの急速な発展に伴い、ネットワーク セキュリティがますます重要な問題になっています。悪意のある攻撃やフィッシング事件は時折発生し、Web サイトやユーザーに大きな脅威をもたらします。したがって、効果的なネットワーク セキュリティ防御システムを確立することが重要です。
Nginx は、高パフォーマンスの Web サービスを提供するだけでなく、リバース プロキシの役割も果たす人気の Web サーバー ソフトウェアです。 Nginx は、管理者が Web サーバーとアプリケーションを保護するのに役立つ豊富なモジュールも提供します。重要な機能の 1 つは、管理者が特定の IP アドレスからのアクセスを制限するのに役立つ IP ブラックリストです。
以下では、Nginx で IP ブラックリストを実装する方法について説明します。
ステップ 1: IP アドレス アクセスを無効にする
Nginx 構成では、管理者はアクセスを無効にする IP アドレスのセットを定義できます。これは、「deny」ディレクティブと IP アドレスのリストを使用して実現できます。たとえば、次の設定では 2 つの IP アドレス 192.168.1.2 と 192.168.1.3 へのアクセスが禁止されます。
location / { deny 192.168.1.2; deny 192.168.1.3; # ... other configuration directives }
location ブロックで複数の拒否ディレクティブを使用して、複数の IP アドレスへのアクセスを防ぐことができます。
ステップ 2: 特定の IP アクセスを許可する
管理者は、IP アドレスを無効にするだけでなく、特定の IP アドレスからのアクセスを許可するように Nginx を構成することもできます。これは、「allow」ディレクティブと IP アドレスのリストを使用して実現できます。たとえば、次の設定では 2 つの IP アドレス 192.168.1.4 と 192.168.1.5 へのアクセスが許可されます。
location / { deny all; allow 192.168.1.4; allow 192.168.1.5; # ... other configuration directives }
deny ディレクティブと同様に、location ブロックで複数のallow ディレクティブを使用して、複数の IP へのアクセスを許可できます。アドレス。
ステップ 3: 変数を使用して IP アドレス リストを管理する
実際のアプリケーションでは、管理者が IP アドレス リストを動的に管理する必要がある場合があります。構成をより柔軟にするために、変数を使用して IP アドレスのリストを管理できます。次の例は、変数を使用して IP アドレスのリストを定義する方法を示しています。
map $remote_addr $deny_ip { 192.168.1.2 1; 192.168.1.3 1; default 0; }
上記の例では、「map」ディレクティブはリモート IP アドレスを $deny_ip 変数にマップします。 IP アドレスが 192.168.1.2 または 192.168.1.3 リストにある場合、$deny_ip 変数は 1 に設定されます。それ以外の場合、$deny_ip 変数は 0 に設定されます。
次に、Nginx 構成で $deny_ip 変数を使用して、アクセスが禁止されているかどうかを判断できます。次の例は、$deny_ip 変数を使用して、禁止された IP アドレスへのアクセスをブロックする方法を示しています。
location / { if ($deny_ip) { return 403; } # ... other configuration directives }
$deny_ip 変数が 1 の場合、Nginx は 403 Forbidden 応答コードを返します。
概要
Nginx は、サーバーのパフォーマンスを確保しながら豊富なセキュリティ機能を提供できる強力な Web サーバー ソフトウェアです。 NginxのIPブラックリスト機能を利用することで、管理者は特定のIPアドレスからのアクセスを禁止し、Webサーバーのセキュリティを確保することができます。同時に、変数を使用すると、構成がより柔軟になり、管理が容易になります。上記の手順を使用すると、管理者は Nginx に IP ブラックリスト機能を簡単に実装できます。
以上がNginx を使用して IP ブラックリストを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。