IIS はホスト ヘッダーのない HTTP/1.0 リクエストで内部 IP を漏洩します

IIS はホスト ヘッダーのない HTTP/1.0 リクエストで内部 IP を漏洩します

LocationIIS 10 サーバーのセキュリティ スキャンにより、 などのフォルダーへの要求時に、ヘッダーを介してサーバーの内部 IP アドレスが公開されていることが判明しましたhttps://example.org/Content。これにより、次のコードが生成されます (xxxは内部 IP を表します)。

HTTP/1.1 301 Moved Permanently
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Content-Type: text/html; charset=UTF-8
Expires: -1
Location: https://xxx.xxx.xxx.xxx/Content/
....

いくつかの質問:

  • これを修正するためのベストプラクティスは何ですか?
  • これをシミュレートし、修正後にテストするには、スキャン ソフトウェアの外部で GET HTTP/1.0 リクエストを実行するにはどうすればよいでしょうか?

ありがとう。

アップデート:URL書き換えルールを試しましたこの郵便受けしかし、500 エラーが発生します。

答え1

この記事とともにこれですホスト ヘッダーがない要求を中止することによって、この種の攻撃 (クライアント アクセス サーバー情報漏洩の脆弱性) から保護する方法の概要を示します。

これを修正する手順は次のとおりです。URL書き換えモジュールインストール済み、

  1. IIS を開きます。

  2. Web サイトを選択します。

  3. URL Rewrite をダブルクリックします。

  4. 右側の「アクション」パネルで「ルールの追加」をクリックします。

  5. [受信ルール] > [要求のブロック] を選択します。

  6. ルールに次の設定を入力します。

    アクセスをブロックする: ホストヘッダー

    ブロックリクエスト: パターンに一致しません

    パターン (ホスト ヘッダー): .+ (「ドットプラス」と読み、「任意の文字の 1 つ以上と一致する」という意味)

    使用: 正規表現

    ブロックする方法: 中止要求

  7. [OK] をクリックしてルールを保存します。

アップデート:Windows Server で実行されたセキュリティ スキャンにより、この変更後に脆弱性が存在しなくなったことが明らかになりました。

関連情報