ISA Server 2006 nebo Forefront TMG 2010 obnoví připojení klienta SMTP v případě, že SMTP server ukončí připojení k serveru ISA Server

Příznaky

Jde o takovouto situaci:
  • V Microsoft Internet Security and Acceleration (ISA) Server 2006 nebo Forefront TMG 2010 povolíte filtrování protokolu SMTP.
  • Klient SMTP komunikuje se serverem SMTP prostřednictvím serveru ISA Server 2006 nebo Forefront TMG 2010.
  • Klient SMTP používá jednu z následujících akcí v jeho konverzaci pomocí serveru SMTP:
    • TLS
    • STARTTLS
    • X AnonymousTLS
V tomto scénáři ISA Server 2006 nebo Forefront TMG 2010 obnoví připojení klienta SMTP v případě, že SMTP server ukončí připojení k serveru ISA Server nebo Forefront TMG 2010 s paket TCP FIN. Toto chování může způsobit některé konkrétní klient SMTP aplikace zprávu, že doručení zprávy se nezdařilo, přestože jsou zprávy odesílány správně.

V protokolování ISA zobrazí následující výsledek kód pro toto připojení:
0x80074e24 FWX_E_CONNECTION_KILLED

Příčina

Podle návrhu dojde k resetu připojení klienta SMTP v případě, že SMTP server ukončí připojení k serveru ISA Server nebo Forefront TMG 2010. Toto je, protože ISA Server či Forefront TMG 2010 nelze kontrolovat přenos SMTP SMTP Konec příkazu při přenosu šifrována. Toto chování však může způsobit určité aplikace klienta SMTP zprávy o chybách.

Řešení

Oprava hotfix je nyní k dispozici, aby se zabránilo nesprávné chybové zprávy. Tato oprava hotfix umožňuje výchozí chování změnit tak, aby se ISA Server vrátí paket TCP FIN klienta SMTP namísto paketů RESET, pokud SMTP server ukončí připojení TCP paket TCP FIN. Chcete-li změnit výchozí chování po instalaci této opravy hotfix, je nutné spustit skript v počítači serveru ISA Server.

Chcete-li nainstalovat tuto opravu hotfix, postupujte takto:
  1. Stáhněte a nainstalujte balíček opravy hotfix, která je uvedena v následujícím článku znalostní báze Microsoft Knowledge Base:
    959357 Popis balíčku opravy hotfix produktu ISA Server 2006: říjen 29, 2008

    Poznámka: Používáte-li aplikaci Forefront TMG 2010, zkopírujte skript z kroku 2 do souboru programu Poznámkový blok a uložte jej. Se zvýšeným oprávněním otevřete příkazový řádek a potom spusťte skript (ie: cscript smtp.vbs).
  2. Spusťte program Poznámkový blok a potom zkopírujte následující skript do souboru programu Poznámkový blok.
    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "GracefulPassthroughServerShutdown"
    Const SE_VPS_VALUE = true

    Sub SetValue()

    ' Create the root obect.
    Dim root ' The FPCLib.FPC root object
    Set root = CreateObject("FPC.Root")

    'Declare the other objects needed.
    Dim array ' An FPCArray object
    Dim VendorSets ' An FPCVendorParametersSets collection
    Dim VendorSet ' An FPCVendorParametersSet object

    ' Get references to the array object
    ' and the network rules collection.
    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

  3. Uložte soubor jako soubor skriptu jazyka Microsoft Visual Basic pomocí přípony názvu souboru VBS.
  4. Poklepejte na soubor VBS skript spustit.
Poznámka: Pokud chcete obnovit výchozí chování, změňte následující řádek skriptu:
Const SE_VPS_VALUE = true

Změňte tento řádek následujícím způsobem:
Const SE_VPS_VALUE = false

Spusťte skript v počítači serveru ISA Server nebo Forefront TMG.

Stav

Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".

Odkazy

Pro další informace o terminologii používané v aktualizacích softwaru, klepněte na následující číslo článku k zobrazení článku v databázi Microsoft Knowledge Base:
824684 Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft
Vlastnosti

ID článku: 959312 - Poslední kontrola: 14. 1. 2017 - Revize: 1

Váš názor