Exchange Canary
Grubenarbeiter und Winzer haben gerne singfreudige Kanarienvögel in geschlossene Räume mitgenommen. Wenn diese verstummten, drohte eine CO-Vergiftung. Der Begriff "Canary" gibt es aber auch bei Exchange und hat eine ähnliche Funktion.
Warum?
Zur Bereitstellung von Exchange gehört, dass Clients darauf zugreifen. Wie aber jeder Server im Internet sind DoS-Attacken nicht ungewöhnlich und der Server sollte möglichst wenig Zeit dafür aufwenden. Er muss also ganz schnell entscheiden, ob die Anfrage es überhaupt wert ist, bearbeitet zu werden. Selbst anonyme Anfragen sind nicht per se unwichtig, denn der erste Zugriff eines Clients ist immer anonym und der Server lehnt zwar ab aber sendet doch genug Informationen mit, damit der Client sich weiter anmelden kann. Dann gibt es noch "Replay"-Attacken und letztlich versucht Microsoft sich früh davor zu schützen.
Daher nutzt eine Exchange Installation einen individuellen "Key" der nach erfolgreicher Anmeldung des Clients auch diesem mitgeteilt wird. Der Client speichert den Wert auch als Cookie und sendet ihn mit jedem Request wieder an den Server. Der Exchange Server prüft bei den angeblich authentifizierten Requests auch diesen Wert. Stimmt er nicht, kann Exchange das Paket sehr schnell verwerfen. Die Anfrage muss ja "gefälscht" sein
Das macht Exchange für OWA; ECP, EWS.
Schema: msExchCanaryData
Durch das Exchange 2013 Schema-Updates wurden im Active Directory erstmals die neuen Felder angelegt und in folgenden LDF-Dateien finden Sie die Definitionen. (Stand Exchange 2016CU16). Genau genommen werden sogar drei Felder "ms-Exch-Canary-Data-0", "ms-Exch-Canary-Data-1", "ms-Exch-Canary-Data-2" addiert.
POSTEXCHANGE2000_SCHEMA53.LDF POSTEXCHANGE2000_SCHEMA95.LDF POSTEXCHANGE2003_SCHEMA94.LDF POSTWINDOWS2003_SCHEMA73.LDF POSTWINDOWS2003_SCHEMA77.LDF SCHEMA95.LDF
Letztlich wird dem Schema folgendes Feld addiert
dn: CN=ms-Exch-Canary-Data-0,<SchemaContainerDN> changetype: ntdsSchemaAdd adminDescription: ms-Exch-Canary-Data-0 adminDisplayName: ms-Exch-Canary-Data-0 attributeID: 1.2.840.113556.1.4.7000.102.52051 attributeSecurityGuid:: iYopH5jeuEe1zVcq1T0mfg== attributeSyntax: 2.5.5.10 isMemberOfPartialAttributeSet: FALSE isSingleValued: TRUE lDAPDisplayName: msExchCanaryData0 name: ms-Exch-Canary-Data-0 oMSyntax: 4 objectCategory: CN=Attribute-Schema,<SchemaContainerDN> objectClass: attributeSchema rangeLower: 0 rangeUpper: 50000 schemaIdGuid:: ozyg68m2DkW92znZFULHag== searchFlags: 0
Das Feld wird dann weiter an das Objekt "Exchange Container" angefügt
dn: CN=ms-Exch-Base-Class,<SchemaContainerDN> changetype: ntdsSchemaAdd adminDescription: ms-Exch-Base-Class adminDisplayName: ms-Exch-Base-Class defaultHidingValue: TRUE governsID: 1.2.840.113556.1.5.7000.62.14 lDAPDisplayName: msExchBaseClass name: ms-Exch-Base-Class objectCategory: CN=Class-Schema,<SchemaContainerDN> objectClass: classSchema objectClassCategory: 3 rDNAttID: cn schemaIdGuid:: NCx42MpG0xGqcgDAT47t2A== subClassOf: top ... mayContain: msExchCanaryData0 mayContain: msExchCanaryData1 mayContain: msExchCanaryData2 ...
Speicherort im AD
Da die Client Access Rolle diese Information braucht, finden Sie diese Felder am "Client Access"-Objekt in der Exchange Konfiguration
Bei mir waren alle drei Felder gefüllt. Weitere Details habe ich dazu nicht aber ich vermute, dass Exchange diese Felder füllt und auch ggfls. durchrotiert.
IISLogs
Wenn Sie ihre Webserver-Logs anschauen, dann finden Sie hier auch manchmal diesen Kanarienvogel in den URLs. Hier ein Beispielzeile (Umgebrochen)
2013-05-04 00:05:07 fe80::fdf3:c513:ee8a:81df%13 POST /ecp/RulesEditor/InboxRules.svc/GetList msExchEcpCanary=Cc2JvWbJ2U2l2DS8jmSVltNHCSxyFtAIr6cn-Z04-IiA71lLTBuqolmH_Ze048b7plS8oco-zA0. 443 HealthMailbox9d246b94d86a47e69d886eb053a0a32a@msxfaq.de fe80::fdf3:c513:ee8a:81df%13 Mozilla/4.0+(compatible;+MSIE+9.0;+Windows+NT+6.1;+MSEXCHMON;+ACTIVEMONITORING) - 200 0 0 93
Auf dem Server hat der Health Monitoring Service von einer Health-Mailbox die Posteingangsregel ausgelesen.
Weitere Links
- Exchange 2013 Managed Availability
- GetCredentialtype u.a.
- Get-CASURL und exchange/tools/auswertung/get-casurl.1.1.ps1.txt
- "Something went wrong" error in Outlook Web App and ECP in
Exchange Server 2013
https://support.microsoft.com/en-us/topic/-something-went-wrong-error-in-outlook-web-app-and-ecp-in-exchange-server-2013-809cbfd0-25e9-e493-2090-2991f01d8f93 - Exchange 2013 Troubleshooting: "Something went wrong" in
both OWA and ECP
https://social.technet.microsoft.com/wiki/contents/articles/29433.exchange-2013-troubleshooting-something-went-wrong-in-both-owa-and-ecp.aspx - Exchange 2013 OWA & ECP failure after deploying CU3
https://ucbite.wordpress.com/2014/01/13/exchange-2013-owa-ecp-failure-after-deploying-cu3/ - OWA Problems and Exchange canary data
https://powershellshocked.wordpress.com/2020/07/24/owa-problems-and-exchange-canary-data/ - Exchange Server 2013 Unable to access OWA or ECP. -
"Something went wrong" or "500 unexpected error"
https://itmanblog.blogspot.com/2018/10/exchange-server-2013-unable-to-access.html - Cannot login to Exchange 2013/2016 Exchange Control Panel
http://therealshrimp.blogspot.com/2018/02/cannot-login-to-exchange-20132016.html - Loss of OWA and ECP access "Something Went Wrong"
https://www.mickputley.net/2015/05/loss-of-owa-and-ecp-access-something.html