HTTPS 検査が有効になっている場合、脅威管理ゲートウェイ 2010 年までの SNI の SSL web サイトにアクセスが失敗します。

現象

次のような状況を考えます。

  • Microsoft Forefront 脅威管理ゲートウェイ 2010 で Secure Sockets Layer (SSL) web サイトにアクセスしようとするとします。

  • Web サイトでは、サーバー名を示します (SNI) を使用して、サービスを提供する証明書を決定します。

  • 脅威管理ゲートウェイの HTTPS 検査が有効になります。

  • 脅威管理ゲートウェイ サーバーは、web、上位プロキシ サーバーに発信方向の web 要求を送信するのにはチェーンを使用します。

  • ( KB 2545464) あたりHTTPSiDontUseOldClientProtocolsのベンダー パラメーター セットになっています。

このシナリオでは、web サイトにアクセスすることはできません。

原因

脅威管理ゲートウェイ接続エラーまたは web サーバーのエラーの原因となる不正の SNI ヘッダーを構築するため、この問題が発生します。

解決策

この問題を解決するには、脅威管理ゲートウェイのすべてのアレイ メンバーにこの修正プログラムを適用します。この修正プログラムは既定で有効になっていません。この修正プログラムをインストールした後は、修正プログラムを有効にする手順を従う必要があります。

  1. メモ帳などのテキスト エディターに次のスクリプトをコピーし、UseOriginalHostNameInSslContex.vbs として保存します。

    '' Copyright (c) Microsoft Corporation. All rights reserved.
    ' THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE
    ' RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE
    ' USER. USE AND REDISTRIBUTION OF THIS CODE, WITH OR WITHOUT MODIFICATION, IS
    ' HEREBY PERMITTED.
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' This script forces TMG to use original host name for SSL context when connecting to target server via upstream proxy
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
    Const SE_VPS_NAME = "UseOriginalHostNameInSslContex"
    Const SE_VPS_VALUE = TRUE
    Sub SetValue()
    ' Create the root object.
    Dim root
    ' The FPCLib.FPC root object
    Set root = CreateObject("FPC.Root")
    'Declare the other objects that are needed.
    Dim array ' An FPCArray object
    Dim VendorSets
    ' An FPCVendorParametersSets collection
    Dim VendorSet
    ' An FPCVendorParametersSet object
    Set array = root.GetContainingArray
    Set VendorSets = array.VendorParametersSets
    On Error Resume Next
    Set VendorSet = VendorSets.Item( SE_VPS_GUID )
    If Err.Number <> 0 Then
    Err.Clear ' Add the item.
    Set VendorSet = VendorSets.Add( SE_VPS_GUID )
    CheckError
    WScript.Echo "New VendorSet added... " & VendorSet.Name
    Else
    WScript.Echo "Existing VendorSet found... value: " & VendorSet.Value(SE_VPS_NAME)
    End If
    if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then
    Err.Clear
    VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE
    If Err.Number <> 0 Then
    CheckError
    Else
    VendorSets.Save false, true
    CheckError
    If Err.Number = 0 Then
    WScript.Echo "Done with " & SE_VPS_NAME & ", saved!"
    End If
    End If
    Else
    WScript.Echo "Done with " & SE_VPS_NAME & ", no change!"
    End If
    End Sub
    Sub CheckError()
    If Err.Number <> 0 Then
    WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description
    Err.Clear
    End If
    End Sub
    SetValue
  2. 脅威管理ゲートウェイのアレイのメンバーに、スクリプト ファイルをコピーし、スクリプトを実行するファイルをダブルクリックします。

既定の動作に戻すには、次の手順に従います。

  1. スクリプトの次行を見つけます。

    Const SE_VPS_VALUE = true
  2. この行を次のように変更します。

    Const SE_VPS_VALUE = false
  3. 脅威管理ゲートウェイのアレイ メンバーのいずれかのスクリプトを再実行します。

修正プログラムの情報

サポートされている修正プログラムは、マイクロソフトのサポートから使用できます。ただし、この修正プログラムは、ここで説明する問題のみを修正することを目的としたものです。この修正プログラムは、この資料に記載された問題があったシステムのみに対して適用してください。この修正プログラムは、今後さらにテストを行う場合があります。したがって、この問題の影響が深刻でない場合は、この修正プログラムが含まれる次のソフトウェア更新プログラムがリリースされるまで待つことをお勧めします。

修正プログラムをダウンロードできる場合は、このサポート技術情報の資料の上部に「修正プログラムのダウンロード」セクションがあります。このセクションが表示されていない場合は、マイクロソフト カスタマー サービス サポートにお問い合わせのうえ、修正プログラムを入手してください。

ヘルプを表示

スキルを磨く
トレーニングの探索
新機能を最初に入手
Microsoft Insider に参加する

この情報は役に立ちましたか?

フィードバックをお送りいただきありがとうございます!

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×