Exchange 2016; EventID 3018, MSExchangeApplicationLogic

Im Eventlog eines Exchange 2016 Servers kann unter Umständen die folgende Fehlermeldung mit der Quelle MSExchangeApplicationLogic jede Stunde auftreten:

Quelle: MSExchangeApplicationLogic

Ereignis ID: 3018

Scenario[ServiceHealth]: GetConfig. CorrelationId: 6852d41c-26fb-4ef9-9f7a-ee9d25f780c7. The request failed. Mailbox:  Url: https://officeclient.microsoft.com/config16?CV=15.1.1261.36&Client=WAC_Outlook&corr=6852d41c-26fb-4ef9-9f7a-ee9d25f780c7 Exception: System.Net.WebException: Die zugrunde liegende Verbindung wurde geschlossen: Unbekannter Fehler beim Empfangen.. —> System.ComponentModel.Win32Exception: Der Client und der Server können keine Daten austauschen, da sie nicht über einen gemeinsamen Algorithmus verfügen
bei System.Net.SSPIWrapper.AcquireCredentialsHandle(SSPIInterface SecModule, String package, CredentialUse intent, SecureCredential scc)
bei System.Net.Security.SecureChannel.AcquireCredentialsHandle(CredentialUse credUsage, SecureCredential& secureCredential)
bei System.Net.Security.SecureChannel.AcquireClientCredentials(Byte[]& thumbPrint)
bei System.Net.Security.SecureChannel.GenerateToken(Byte[] input, Int32 offset, Int32 count, Byte[]& output)
bei System.Net.Security.SecureChannel.NextMessage(Byte[] incoming, Int32 offset, Int32 count)
bei System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
bei System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
bei System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
bei System.Net.TlsStream.BeginWrite(Byte[] buffer, Int32 offset, Int32 size, AsyncCallback asyncCallback, Object asyncState)
bei System.Net.ConnectStream.WriteHeaders(Boolean async)
— Ende der internen Ausnahmestapelüberwachung —
bei System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
bei Microsoft.Exchange.Data.ApplicationLogic.Extension.BaseAsyncOmexCommand.<>c__DisplayClass18_0.<EndGetResponseCallback>b__0()

MSExchangeApplicationLogic

Häufigste Ursache für den Fehler ist, dass der Exchange Server nicht direkt ins Internet darf, sondern einen Proxy benutzen muss. Sollte dies der Fall sein, muss der Proxy in der Exchange Konfiguration hinterlegt werden. Der Proxy kann mit folgendem Befehl eingetragen werden:

Set-ExchangeServer ExchangeServerName -InternetWebProxy  http://192.168.1.1:8080

Zusätzlich sollte geprüft werden, ab der Zugriff auf officeclient.microsoft.com vom Exchange Server erlaubt ist. Unter Umständen muss hier eine Ausnahme an der Firewall des Unternehmens eingerichtet werden.

Eine weitere Möglichkeit könnte sein, dass TLS1.0 abgeschaltet wurde. Wichtig ist hier das TLS1.0 als Client Protokoll aktiviert ist. Die Einstellungen zu TLS1.0 lassen sich in der Registry prüfen. Hier die korrekten TLS1.0 Client Einstellungen:

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client

MSExchangeApplicationLogic

Sollte nicht gewünscht sein, dass der Exchange Server direkt mit dem Internet kommuniziert und die Microsoft URL kontaktiert, lassen sich zumindest die Anzahl der Fehlermelden reduzieren. Dazu kann der Intervall der Prüfungen auf einen Tag angehoben werden. Um das Intervall zu ändern muss in den folgenden zwei Dateien jeweils eine Zeile ergänzt werden:

  • %ExchangeInstallPath%ClientAccess\exchweb\ews\web.config
  • %ExchangeInstallPath%ClientAccess\Owa\web.config

In diesen Dateien muss jeweils die folgende Zeile zwischen <appSettings> und </appsettings> eingefügt werden:

<add key = „KillBitRefreshTimeInSeconds“ value = „86400“ />

Hinweis: Auf die korrekte Formatierung der Hochkomma achten, siehe Screenshot.

MSExchangeApplicationLogic

Falls sich jemand fragt was der Exchange Server unter der in der Fehlermeldung angegebenen URL runterladen oder abrufen möchte:

Exchange möchte hier die aktuelle Liste der Killbits runterladen, dabei handelt es sich um ein Sicherheitsfeature welches bereits mit Exchange 2013 eingeführt wurde. Detaillierte Informationen zu den Killbits gibt es hier:

2 thoughts on “Exchange 2016; EventID 3018, MSExchangeApplicationLogic”

  1. Hallo Herr Zöchling,

    bin auf das Problem gestoßen, als ich nach Fehlern suchte, die verzögerten Mailempfang und -versand verursachen.
    Bei dem Server 2012R2 mit Exchange 2013 gibt es in der Registry unter allen TLS-Einträgen nur den Unterschlüssel „Server“.
    Soll man da jetzt den Unterschlüssel „Client“ anlegen?
    Den in der Fehlermeldung angegebenen Link kann ich auf dem Server öffnen, es öffnet sich eine xml-Datei.

    Vielen Dank für Ihre vielen Anleitungen und Problemlösungen, die mir schon oft geholfen haben.

    Mit freundlichen Grüßen

    Armin Müller

    Reply

Leave a Comment