IIS 8.0 動的 IP アドレス制限
作成者: Robert McMurray
互換性
バージョン | メモ |
---|---|
IIS 8.0 | IIS 8.0 に組み込まれている動的 IP アドレス制限。 |
IIS 7.5 | 動的 IP アドレス制限は、IIS 7.5 の帯域外モジュールとして使用できました。 |
IIS 7.0 | 動的 IP アドレス制限は、IIS 7.0 の帯域外モジュールとして使用できました。 |
問題
IIS 7 以前のバージョンには、管理者が個々の IP アドレスまたは IP アドレスの範囲に対するアクセスを許可または拒否できる組み込み機能がありました。 IP アドレスがブロックされると、その IP アドレスの HTTP クライアントは、サーバーから HTTP エラー "403.6 Forbidden" 応答を受け取りました。 この機能を使用すると、管理者は、サーバーのログに表示されるアクティビティまたは Web サイトのアクティビティに基づいて、サーバーへのアクセスをカスタマイズできます。 ただし、これは手動のプロセスです。 Microsoft の LogParser ユーティリティなどのツールを使用して IIS ログ ファイルを調べ、悪意のあるユーザーを検出する機能をスクリプト化できますが、これには引き続き手動介入が必要です。
解決策
IIS 8.0 では、Microsoft は組み込み機能を拡張して、いくつかの新機能を追加しました。
- 動的 IP アドレスのフィルタリング。これにより、管理者は、指定された数の要求を超える IP アドレスへのアクセスをブロックするようにサーバーを構成できます。
- この IP アドレスのフィルタリング機能により、管理者は IIS が IP アドレスをブロックするときの動作を指定できるようになりました。これにより、悪意のあるクライアントからの要求は、HTTP 403.6 応答をクライアントに返す代わりにサーバーによって中止されるようになります。
- IP フィルタリングにプロキシ モードが追加されました。これにより、IIS が認識するクライアント IP だけでなく、x-forwarded-for HTTP ヘッダーで受信した値によっても IP アドレスをブロックできるようになります。
ステップ バイ ステップの手順
前提条件:
IIS 8.0 がインストールされている Windows Server 2012 マシン。
Note
IP とドメインの制限機能は、IIS の一部としてインストールする必要があります。
既知のバグの回避策:
現時点では、この機能に関する既知のバグはありません。
HTTP 要求に基づいてアクセスを拒否するように IIS を構成する
IIS 8.0 は、指定された期間内に HTTP クライアントがサーバーにアクセスする回数、または HTTP クライアントからのコンカレント接続の数に基づいて、Web サイトへのアクセスを拒否するように構成できます。
受信する HTTP 要求の数に基づいてアクセスを拒否するように IIS を構成するには、次の手順を実行します。
- Windows Server 2012 コンピューターに管理者としてログインします。
- インターネット インフォメーション サービス (IIS) マネージャーを開きます。
- [接続] ペインでサーバー名、Web サイト、またはフォルダー パスを強調表示し、機能の一覧で [IP アドレスおよびドメインの制限] をダブルクリックします。
- 操作ウィンドウで、[ダイナミック制限の設定の編集] をクリックします。
- HTTP クライアントが多すぎる同時接続を確立しないようにする場合は、[Dynamic IP Restriction の設定] ダイアログ ボックスが表示されたら、[同時要求の回数に基づいて IP アドレスを拒否する] をオンにします。 また、HTTP クライアントが特定の期間内に多すぎる接続を確立しないようにする場合は、[一定時間内の要求回数に基づいて IP アドレスを拒否する] ボックスをオンにします。
- OK をクリックします。
IP アドレスを拒否するときの IIS の動作の構成
IIS 7 以前のバージョンでは、クライアント IP アドレスがブロックされると、IIS はサーバーから HTTP エラー "403.6 Forbidden" 応答を返していました。 IIS 8.0 では、管理者は、いくつかの追加の方法で IP アドレスへのアクセスを拒否するようにサーバーを構成できます。
IP アドレスを拒否するときに IIS が使用する動作を構成するには、次の手順を実行します。
Windows Server 2012 コンピューターに管理者としてログインします。
インターネット インフォメーション サービス (IIS) マネージャーを開きます。
[接続] ペインでサーバー名、Web サイト、またはフォルダー パスを強調表示し、機能の一覧で [IP アドレスおよびドメインの制限] をダブルクリックします。
[IP およびドメイン制限設定の編集] ダイアログ ボックスが表示されたら、[拒否時の動作の種類] ドロップダウン メニューをクリックし、IIS が使用する動作を次の値から選択します。
Unauthorized: IIS は HTTP 401 応答を返します。
Forbidden: IIS は HTTP 403 応答を返します。
Not Found: IIS は HTTP 404 応答を返します。
Abort: IIS は HTTP 接続を終了します。
OK をクリックします。
プロキシ モード用の IIS の構成
IP フィルタリングの課題の 1 つは、多くのクライアントが 1 つ以上のファイアウォール、負荷分散、またはプロキシ サーバーを介して IIS にアクセスするため、IIS サーバーに最も近い要求パスのサーバーとして IP アドレスが常に表示される可能性があることです。 IIS 8.0 では、管理者は、ブロックする要求を決定するために、クライアント IP アドレスに加えて x-forwarded-for HTTP ヘッダーを調べるようにサーバーを構成できます。 この動作は "プロキシ モード" と呼ばれます。
プロキシ モード用に IIS を構成するには、次の手順を実行します。
- Windows Server 2012 コンピューターに管理者としてログインします。
- インターネット インフォメーション サービス (IIS) マネージャーを開きます。
- [接続] ペインでサーバー名、Web サイト、またはフォルダー パスを強調表示し、機能の一覧で [IP アドレスおよびドメインの制限] をダブルクリックします。
- [操作] ペインで、[機能設定の編集] をクリックします。
- [IP およびドメイン制限設定の編集] ダイアログ ボックスが表示されたら、[プロキシ モードを有効にする] ボックスをオンにします。
- OK をクリックします。
まとめ
このガイドでは、クライアント IP アドレスからの要求の数に基づいてサーバーへのアクセスを動的に拒否するように IIS を構成する方法と、悪意のある可能性のあるユーザーへのアクセスを拒否するときに IIS が使用する動作を構成する方法について説明しました。