メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

現象

次のような状況で問題が発生します。

  • Microsoft インターネット セキュリティと ISA Server 2006 または Forefront TMG 2010 では、SMTP フィルターを有効にします。

  • SMTP クライアントは、ISA Server 2006 または Forefront TMG 2010 を使用する SMTP サーバーと通信します。

  • SMTP クライアントは、SMTP サーバーとの対話で次のコマンドのいずれかを使用します。

    • TLS

    • STARTTLS

    • X AnonymousTLS

このシナリオで ISA Server 2006 または Forefront TMG 2010 リセット接続 SMTP クライアントに SMTP サーバーが TCP の FIN パケットを ISA Server または Forefront TMG 2010 への接続を終了するとします。これにより特定の SMTP クライアントのメッセージが正しく送信される場合でも、メッセージの配信が失敗したことを報告するアプリケーションです。ISA のログ記録は、この接続は次の結果コードが表示されます。

0x80074e24 FWX_E_CONNECTION_KILLED

原因

仕様では、SMTP サーバーは、ISA Server または Forefront TMG 2010 への接続を終了すると、SMTP クライアントへの接続がリセットされます。ISA Server または Forefront TMG 2010 は、トラフィックが暗号化されている場合に、SMTP QUITコマンドに対する SMTP トラフィックに検査できないためにです。ただし、この動作は、エラーを報告する特定の SMTP クライアント アプリケーションを発生することができます。

解決方法

修正プログラムは、不正なエラー レポートを避けるためにされています。この修正プログラムにより、既定の動作を変更できるように、ISA Server は、SMTP サーバーが TCP の FIN パケットが TCP 接続を終了すると、SMTP ではなくクライアントのリセット パケットに TCP の FIN パケットを返します。この修正プログラムをインストールした後は、既定の動作を変更するには、ISA Server コンピューターでスクリプトを実行するのにはあります。この修正プログラムを適用するには、次の手順を実行します。

  1. ダウンロードし、次のマイクロソフト サポート技術情報資料に記載されている修正プログラム パッケージをインストールします。

    ISA Server 2006 の修正プログラム パッケージの959357の説明: 2008 年 10 月 29 日注: Forefront TMG 2010 を実行している場合は、メモ帳ファイルには、手順 2 からスクリプトをコピーし、保存します。管理者特権でコマンド プロンプトを開くし、スクリプトを実行 (ie: cscript smtp.vbs)。

  2. メモ帳を起動し、メモ帳ファイルに次のスクリプトをコピーします。

    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "GracefulPassthroughServerShutdown"Const SE_VPS_VALUE = trueSub 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 IfEnd SubSub CheckError()    If Err.Number <> 0 Then        WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description        Err.Clear    End IfEnd SubSetValue
  3. .Vbs ファイル名の拡張子を使用して、Microsoft Visual Basic スクリプト ファイルとしてファイルを保存します。

  4. スクリプトを実行する .vbs ファイルをダブルクリックします。

ヘルプを表示

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

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

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

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

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

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

×