適用先
Microsoft Forefront Threat Management Gateway 2010 Service Pack 2 Microsoft Forefront Threat Management Gateway 2010 Service Pack 2 Forefront Threat Management Gateway 2010 Enterprise Forefront Threat Management Gateway 2010 Standard

現象

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

  • 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 = TRUESub 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 IfEnd SubSub CheckError()    If Err.Number <> 0 Then        WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description        Err.Clear    End IfEnd SubSetValue
  2. 脅威管理ゲートウェイのアレイのメンバーに、スクリプト ファイルをコピーし、スクリプトを実行するファイルをダブルクリックします。

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

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

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

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

修正プログラムの情報

サポートされている修正プログラムは、マイクロソフトのサポートから使用できます。ただし、この修正プログラムは、ここで説明する問題のみを修正することを目的としたものです。この修正プログラムは、この資料に記載された問題があったシステムのみに対して適用してください。この修正プログラムは、今後さらにテストを行う場合があります。したがって、この問題の影響が深刻でない場合は、この修正プログラムが含まれる次のソフトウェア更新プログラムがリリースされるまで待つことをお勧めします。修正プログラムをダウンロードできる場合は、このサポート技術情報の資料の上部に「修正プログラムのダウンロード」セクションがあります。このセクションが表示されていない場合は、マイクロソフト カスタマー サービス サポートにお問い合わせのうえ、修正プログラムを入手してください。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。