Der Zugriff auf SNI-SSL-Websites über Threat Management Gateway 2010 schlägt fehl, wenn die HTTPS-Inspektion aktiviert ist
Symptome
Stellen Sie sich das folgende Szenario vor:
Sie versuchen, über Microsoft Forefront Threat Management Gateway 2010 auf eine Secure Sockets Layer (SSL)-Website zuzugreifen.
Die Website verwendet Server Name Indication (SNI), um zu bestimmen, welches Zertifikat bereitgestellt werden soll.
Die HTTPS-Inspektion des Threat Management Gateway ist aktiviert.
Der Threat Management Gateway-Server verwendet Web-Chaining, um ausgehende Web-Anfragen an einen Upstream-Proxy-Server zu senden.
Der Herstellerparametersatz HTTPSiDontUseOldClientProtocols ist aktiviert (gemäß KB 2545464 ).
In diesem Szenario können Sie nicht auf die Website zugreifen.
Ursache
Dieses Problem tritt auf, weil das Threat Management Gateway einen falschen SNI-Header erstellt, der Verbindungsfehler oder Webserverfehler verursacht.
Auflösung
Um dieses Problem zu beheben, wenden Sie diesen Hotfix auf alle Mitglieder des Threat Management Gateway-Arrays an. Dieser Hotfix ist standardmäßig nicht aktiviert. Nachdem Sie diesen Hotfix installiert haben, müssen Sie die folgenden Schritte ausführen, um den Fix zu aktivieren:
Kopieren Sie das folgende Skript in einen Texteditor wie Notepad und speichern Sie es dann als UseOriginalHostNameInSslContex.vbs:
'
' Copyright (c) Microsoft Corporation. Alle Rechte vorbehalten.
' DIESER CODE WIRD OHNE JEGLICHE GEWÄHRLEISTUNG ZUR VERFÜGUNG GESTELLT. DAS GANZE
' Das Risiko der Nutzung oder der Ergebnisse aus der Nutzung dieses Codes verbleibt bei der
' BENUTZER. Die Nutzung und Weiterverbreitung dieses Codes, mit oder ohne Änderung, ist
' HIERMIT ZULÄSSIG.
'''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''
' Dieses Skript zwingt TMG, den ursprünglichen Hostnamen für den SSL-Kontext zu verwenden, wenn über den Upstream-Proxy eine Verbindung zum Zielserver hergestellt wird
'''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
Const SE_VPS_NAME = "UseOriginalHostNameInSslContex"
Const SE_VPS_VALUE = TRUE
Sub SetValue()
' Erstellen Sie das Stammobjekt.
Dunkle Wurzel
' Das FPCLib.FPC-Stammobjekt
Setze root = CreateObject("FPC.Root")
„Deklarieren Sie die anderen benötigten Objekte."
Dim array ' Ein FPCArray-Objekt
VendorSets dimmen
' Eine FPCVendorParametersSets-Sammlung
Dim VendorSet
' Ein FPCVendorParametersSet-Objekt
Setze array = root.GetContainingArray
Setzen Sie VendorSets = array.VendorParametersSets
Bei Fehler Weiter fortsetzen
Setze VendorSet = VendorSets.Item( SE_VPS_GUID )
Wenn Err.Number <> 0, dann
Err.Clear ' Element hinzufügen.
Setze VendorSet = VendorSets.Add( SE_VPS_GUID )
CheckError
WScript.Echo „Neues VendorSet hinzugefügt..." & VendorSet.Name
Anders
WScript.Echo „Vorhandenes VendorSet gefunden... Wert:" & VendorSet.Value(SE_VPS_NAME)
Ende wenn
if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Dann
Err.Clear
VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE
Wenn Err.Number <> 0, dann
CheckError
Anders
VendorSets.Save false, true
CheckError
Wenn Err.Number = 0, dann
WScript.Echo „Fertig mit „ & SE_VPS_NAME & „, gespeichert!"
Ende wenn
Ende wenn
Anders
WScript.Echo „Fertig mit „ & SE_VPS_NAME & „, keine Änderung!"
Ende wenn
End Sub
Sub CheckError()
Wenn Err.Number <> 0, dann
WScript.Echo „Ein Fehler ist aufgetreten: 0x" & Hex(Err.Number) & „ „ & Err.Description
Err.Clear
Ende wenn
End Sub
SetValueKopieren Sie die Skriptdatei auf ein Threat Management Gateway-Array-Mitglied und doppelklicken Sie dann auf die Datei, um das Skript auszuführen.
Um zum Standardverhalten zurückzukehren, führen Sie die folgenden Schritte aus:
Suchen Sie die folgende Zeile des Skripts:
Const SE_VPS_VALUE = true
Ändern Sie diese Zeile wie folgt:
Const SE_VPS_VALUE = false
Führen Sie das Skript erneut auf einem der Mitglieder des Threat Management Gateway-Arrays aus.
Hotfix-Informationen
Ein unterstützter Hotfix ist beim Microsoft-Support erhältlich. Dieser Hotfix soll jedoch nur das in diesem Artikel beschriebene Problem beheben. Wenden Sie diesen Hotfix nur auf Systemen an, bei denen das in diesem Artikel beschriebene Problem auftritt. Dieser Hotfix wird möglicherweise weiteren Tests unterzogen. Wenn Sie von diesem Problem nicht schwerwiegend betroffen sind, empfehlen wir Ihnen daher, auf das nächste Software-Update zu warten, das diesen Hotfix enthält.
Wenn der Hotfix zum Download verfügbar ist, finden Sie oben in diesem Knowledge Base-Artikel den Abschnitt „Hotfix-Download verfügbar". Wenn dieser Abschnitt nicht angezeigt wird, wenden Sie sich an den Kundendienst und Support von Microsoft, um den Hotfix zu erhalten.
Hinweis Wenn weitere Probleme auftreten oder eine Fehlerbehebung erforderlich ist, müssen Sie möglicherweise eine separate Serviceanfrage erstellen. Für weitere Supportfragen und Probleme, die für diesen speziellen Hotfix nicht in Frage kommen, fallen die üblichen Supportkosten an. Eine vollständige Liste der Microsoft-Kundendienst- und Support-Telefonnummern oder zum Erstellen einer separaten Serviceanfrage finden Sie auf der folgenden Microsoft-Website:
http://support.microsoft.com/contactus/?ws=support Hinweis Im Formular „Hotfix-Download verfügbar" werden die Sprachen angezeigt, für die der Hotfix verfügbar ist. Wenn Ihre Sprache nicht angezeigt wird, liegt das daran, dass für diese Sprache kein Hotfix verfügbar ist.
Voraussetzungen
Um diesen Hotfix anwenden zu können, muss Service Pack 2 für Microsoft Forefront Threat Management Gateway 2010 installiert sein.
Informationen zum Neustart
Möglicherweise müssen Sie den Computer neu starten, nachdem Sie dieses Hotfix-Rollup angewendet haben.
Informationen zum Ersatz
Dieses Hotfix-Rollup ersetzt kein zuvor veröffentlichtes Hotfix-Rollup.
Die englische Version dieses Hotfixes verfügt über die Dateiattribute (oder spätere Dateiattribute), die in der folgenden Tabelle aufgeführt sind. Die Datums- und Uhrzeitangaben für diese Dateien werden in der koordinierten Weltzeit (UTC) angegeben. Wenn Sie die Dateiinformationen anzeigen, werden diese in die Ortszeit konvertiert. Um den Unterschied zwischen UTC und Ortszeit zu ermitteln, verwenden Sie die Registerkarte „Zeitzone " im Element „Datum und Uhrzeit" in der Systemsteuerung.
Dateiname | Dateiversion | Dateigröße | Datum | Zeit | Plattform |
|---|---|---|---|---|---|
Authdflt.dll | 7.0.9193.650 | 252.768 | 22.04.15 | 9:46 | x64 |
Comphp.dll | 7.0.9193.650 | 257.912 | 22.04.15 | 9:46 | x64 |
Complp.dll | 7.0.9193.650 | 108.032 | 22.04.15 | 9:46 | x64 |
Cookieauthfilter.dll | 7.0.9193.650 | 682.760 | 22.04.15 | 9:46 | x64 |
Dailysum.exe | 7.0.9193.650 | 186.288 | 22.04.15 | 9:46 | x64 |
Diffserv.dll | 7.0.9193.650 | 162.616 | 22.04.15 | 9:46 | x64 |
Diffservadmin.dll | 7.0.9193.650 | 310.400 | 22.04.15 | 9:46 | x64 |
Empfilter.dll | 7.0.9193.650 | 711.088 | 22.04.15 | 9:46 | x64 |
Empscan.dll | 7.0.9193.650 | 267.664 | 22.04.15 | 9:46 | x64 |
Gwpafltr.dll | 7.0.9193.650 | 191.456 | 22.04.15 | 9:46 | x64 |
Httpadmin.dll | 7.0.9193.650 | 242.944 | 22.04.15 | 9:46 | x64 |
Httpfilter.dll | 7.0.9193.650 | 251.208 | 22.04.15 | 9:46 | x64 |
Isarepgen.exe | 7.0.9193.650 | 79.704 | 22.04.15 | 9:46 | x64 |
Ldapfilter.dll | 7.0.9193.650 | 189.896 | 22.04.15 | 9:46 | x64 |
Linktranslation.dll | 7.0.9193.650 | 418.592 | 22.04.15 | 9:46 | x64 |
Managedapi.dll | 7.0.9193.650 | 80.752 | 22.04.15 | 9:46 | x64 |
Microsoft.isa.reportingservices.dll | 7.0.9193.650 | 876.328 | 22.04.15 | 9:46 | x64 |
Microsoft.isa.rpc.managedrpcserver.dll | 7.0.9193.650 | 172.440 | 22.04.15 | 9:46 | x64 |
Microsoft.isa.rpc.rwsapi.dll | 7.0.9193.650 | 136.920 | 22.04.15 | 9:46 | x64 |
Mpclient.dll | 7.0.9193.650 | 128.632 | 22.04.15 | 9:46 | x64 |
Msfpc.dll | 7.0.9193.650 | 1.079.304 | 22.04.15 | 9:46 | x64 |
Msfpccom.dll | 7.0.9193.650 | 13.446.024 | 22.04.15 | 9:46 | x64 |
Msfpcmix.dll | 7.0.9193.650 | 569.448 | 22.04.15 | 9:46 | x64 |
Msfpcsec.dll | 7.0.9193.650 | 386.656 | 22.04.15 | 9:46 | x64 |
Msfpcsnp.dll | 7.0.9193.650 | 17.112.848 | 22.04.15 | 9:46 | x64 |
Mspadmin.exe | 7.0.9193.650 | 1.121.552 | 22.04.15 | 9:46 | x64 |
Mspapi.dll | 7.0.9193.650 | 130.680 | 22.04.15 | 9:46 | x64 |
Msphlpr.dll | 7.0.9193.650 | 1.279.136 | 22.04.15 | 9:46 | x64 |
Mspmon.dll | 7.0.9193.650 | 150.232 | 22.04.15 | 9:46 | x64 |
Mspsec.dll | 7.0.9193.650 | 84.872 | 22.04.15 | 9:46 | x64 |
Pcsqmconfig.com.xml | Unzutreffend | 137.103 | 13.02.12 | 20:24 | Unzutreffend |
Preapi.dll | 7.0.9193.650 | 21.536 | 22.04.15 | 9:46 | x64 |
Radiusauth.dll | 7.0.9193.650 | 138.408 | 22.04.15 | 9:46 | x64 |
Ratlib.dll | 7.0.9193.650 | 148.184 | 22.04.15 | 9:46 | x64 |
Reportadapter.dll | 7.0.9193.650 | 723.888 | 22.04.15 | 9:46 | x86 |
Reportdatacollector.dll | 7.0.9193.650 | 1.127.648 | 22.04.15 | 9:46 | x86 |
Softblockfltr.dll | 7.0.9193.650 | 143.552 | 22.04.15 | 9:46 | x64 |
Updateagent.exe | 7.0.9193.650 | 211.520 | 22.04.15 | 9:46 | x64 |
W3filter.dll | 7.0.9193.650 | 1.409.416 | 22.04.15 | 9:46 | x64 |
W3papi.dll | 7.0.9193.650 | 21.024 | 22.04.15 | 9:46 | x64 |
W3pinet.dll | 7.0.9193.650 | 35.432 | 22.04.15 | 9:46 | x64 |
W3prefch.exe | 7.0.9193.650 | 341.312 | 22.04.15 | 9:46 | x64 |
Webobjectsfltr.dll | 7.0.9193.650 | 170.320 | 22.04.15 | 9:46 | x64 |
Weng.sys | 7.0.9193.572 | 845.440 | 12.12.12 | 21:31 | x64 |
Wengnotify.dll | 7.0.9193.572 | 154.280 | 12.12.12 | 21:31 | x64 |
Wploadbalancer.dll | 7.0.9193.650 | 203.840 | 22.04.15 | 9:46 | x64 |
Wspapi.dll | 7.0.9193.650 | 49.840 | 22.04.15 | 9:46 | x64 |
Wspperf.dll | 7.0.9193.650 | 131.192 | 22.04.15 | 9:46 | x64 |
Wspsrv.exe | 7.0.9193.650 | 2.464.136 | 22.04.15 | 9:46 | x64 |
Mehr Informationen
SNI ist eine Funktion der SSL-Transportschichtsicherheit (TLS), die es einem Client ermöglicht, einen Header in der „Hallo"-Nachricht des SSL-Clients zu senden, der angibt, auf welchen vollqualifizierten Domänennamen (FQDN) zugegriffen wird. Mit dieser Aktion kann ein Server anhand des SNI-Headers bestimmen, welches Zertifikat an den Client gesendet werden soll.
Wenn Threat Management Gateway SSL Inspection aktiviert ist, übernimmt Threat Management Gateway die SSL-Aushandlung mit dem Ziel-Webserver und wird von der SSL-Aushandlung des Webservers als Client identifiziert.
Threat Management Gateway erstellt den SNI-Header falsch, indem es den Namen des Upstream-Servers und nicht den Namen des Ziel-Webservers verwendet, wenn die folgenden Bedingungen zutreffen:
Threat Management Gateway ist ein Downstream-Proxyserver.
Threat Management Gateway kettet ausgehende Anfragen an einen vorgelagerten Threat Management Gateway-Server.
Der Herstellerparametersatz HTTPSiDontUseOldClientProtocols ist gemäß KB 2545464 aktiviert.
Dies kann zu Verbindungsfehlern oder Webserverfehlern führen, je nachdem, wie der Webserver auf den falschen SNI-Header reagiert.
No comments:
Post a Comment