X-Forwarded-For で、リバースプロキシの背後にある元のクライアント IP を記録します。
RdpGuard
Windows サーバーを不正アクセスから保護

プロキシ経由の IIS でクライアント IP を記録

リバースプロキシが IIS に中継する場合、Client IP Address (c-ip) は通常プロキシの IP です。元の IP を X-Forwarded-For で渡し、IIS ログに追加して、RdpGuard の HTTP / RD Web Access で読み取りを有効にします。

リバースプロキシの X-Forwarded-For 設定

X-Forwarded-For ヘッダーで元の IP を IIS に渡すようプロキシを設定します。方法はソフトウェアごとのドキュメントを参照してください。以下は Nginx の例です。

Nginx がクライアントから直接接続を受ける場合は、サイト設定を開き、IIS へ中継する location ブロックに次を追加します:

proxy_set_header X-Forwarded-For $remote_addr;

これはクライアントが送った X-Forwarded-For を接続元 IP に置き換えます。一方、一般的な $proxy_add_x_forwarded_for は既存のヘッダーにアドレスを追加します。RdpGuard は最初のアドレスを使うため、信頼できないクライアントがそれを指定できないようにしてください。Nginx のプロキシヘッダー説明を参照してください。

Linux では、Nginx 設定をテストして再読み込みします:

sudo nginx -t && sudo nginx -s reload

Nginx の前に CDN、ロードバランサー、別のプロキシがある場合は、まず信頼するアドレスとクライアント IP の処理を設定してください。そうしないと $remote_addr は前段のプロキシを示します。Nginx の real IP モジュールを利用できます。IIS への直接アクセスも制限し、プロキシの迂回を防いでください。

IIS ログに X-Forwarded-For を追加

以下は IIS 8.5 以降のカスタムログフィールドを使用します。サーバーレベルでは利用できないため、サイトレベルで設定してください。

  1. IIS Manager を開き、Connections でサイトを選択し、IIS グループの Logging をダブルクリックします。

    Logging を選択した IIS マネージャー
    サイトのログ設定を開きます。
  2. Logging ページ:

    Select Fields ボタンがある IIS W3C ログ設定
    W3C 形式で Select Fields をクリックします。

    Format に W3C を選びます。RdpGuard にファイルを提供するため、Log Event Destination で Log file only または Both log file and ETW event を選択します。Select Fields... をクリックします。

  3. W3C Logging Fields で Add Field... をクリックします:

    Add Field ボタンがある W3C ログフィールド
    既存の W3C フィールドにカスタムフィールドを追加します。
  4. Add Custom Field ダイアログが開きます:

    カスタムフィールド: 名前とソースは X-Forwarded-For、種類は Request Header
    X-Forwarded-For ヘッダーを同じフィールド名で記録します。

    以下の値を入力します:

    • Field Name:X-Forwarded-For
    • Source Type:Request Header
    • Source:X-Forwarded-For

    RdpGuard が列を識別できるよう、フィールド名は正確に指定してください。両方のウィンドウで OK をクリックし、Actions ペインの Apply をクリックします。

IIS ログの X-Forwarded-For を確認

プロキシ経由で要求を送り、サイトの最新ログを開きます。通常は %SystemDrive%\inetpub\logs\LogFiles 内にサイト別の W3SVC... フォルダーがあります。カスタムフィールドのあるファイルには _x が付きます。バッファーの内容が書き込まれるまで待ってください。

#Fields: に X-Forwarded-For があり、その列にクライアント IP が記録されていることを確認します。以下の短縮した W3C 例は、2 つのアドレスフィールドの関係を示します:

#Fields: date time c-ip cs-method cs-uri-stem sc-status X-Forwarded-For
2026-09-30 10:15:00 192.0.2.10 GET /login 200 203.0.113.45

c-ip の 192.0.2.10 はプロキシ、X-Forwarded-For の 203.0.113.45 は元のクライアントです。他の列が含まれる場合もあります。列の順序は #Fields: 行で定義されます。

列がない場合はサイト設定と最新のログを確認します。値が - の場合は、要求がプロキシを経由し、ヘッダーが送信されたことを確認してください。

RdpGuard でクライアント IP の検出を有効化

RdpGuard ダッシュボードを管理者として実行し、監視対象のプロトコルの HTTP または RD-WEB を開いて、詳細設定...をクリックします。HTTP の詳細設定が開きます:

X-Forwarded-For を有効にし、接続元 IP の代用を無効にした HTTP 詳細設定
信頼するプロキシ経由のサイトで X-Forwarded-For を有効にします。

X-Forwarded-For フィールドからクライアント IP アドレスを取得を有効にします。HTTP では IIS に適用されます。すべてプロキシ経由の場合、X-Forwarded-For がない場合は接続元 IP を使用はオフにします。c-ip を使うとプロキシ自体をブロックする恐れがあります。OK、続いてプロトコル設定の保存をクリックします。

クライアント IP の読み取りだけでは、ブロックする場所は変わりません。その IP の Windows ルールではプロキシからの接続を遮断できません。プロキシでブロックするか、HTTP と RD Web Access のガイドに従い、IIS の IP・ドメイン制限、プロキシモード、RdpGuard アクションを設定してください。

RdpGuard 10.4.5 を無料で試す

RdpGuard の保護対象:

お客様の声

"本当に素晴らしいソフトウェアです。サーバーが常に攻撃を受けていたので、安心できるようになりました。RdpGuard、ありがとう。" - Joaquim De Sousa Marques

"優れた製品です。以前は TSBlock という他の方が作成したスクリプトで同様の対策をしていましたが、簡素で使い勝手がよくありませんでした。このソフトウェアで作業がずっと楽になりました。小規模企業にとっても購入する価値があります。" - J. Johnson

"この製品には感心しました。私たちはダラス北部の教会です。今朝、リモートアクセス用サーバーで多数のログイン失敗を発見しました。友人に勧められて、すぐに体験版をダウンロードしました。数分で 5 件ほどの IP アドレスがブロックされ、それを見て購入を決めました。10 分から 15 分後には約 30 件になり、その少なくとも 3 分の 1 は海外からの侵入の試みでした。素晴らしい製品をありがとうございます。多くの問題を未然に防いでいただいたのかもしれません。" - John Hallford

"このソフトウェアが気に入っています。Windows サーバーへの RDP 攻撃が絶えません。ルーターでアクセスを遮断したいところですが、長年のお客様の多くにも影響してしまいます。" - Scott Hirsch

"とても気に入っています。VB スクリプトをカスタマイズするより簡単です。" - Nick Brennan

"RDP の攻撃者を本当に止めてくれる素晴らしい製品です :-)" - Dave、英国

"まず、とても便利なアプリケーションで、Server 2012 R2 の保護に大変役立っています。RdpGuard は、私が見つけた中で最も優れたソリューションです。10 分間試してから製品版を購入しました。:-)" - Carsten Baltes

その他の製品
Copyright © 2012-2026 Netsdk Software FZE. All rights reserved. 利用規約 (英語). プライバシーポリシー (英語). 返金ポリシー (英語).