Outlook 2013/2016 mit einer E-Mail crashen

Ein Kunde meldet sich:

Immer wenn ich diese E-Mail öffne, stürzt mein Computer ab.

Wir, als gestandene Admins, glauben natürlich erstmal nichts und schauen uns das an. Stellt sich raus: Der Kunde hat recht. Er hat eine Mail in seinem Posteingang, die seinen Outlook-Client immer crasht, wenn er die Mail anschaut. Wir leiten uns die Mail weiter (OWA ist nicht betroffen) und stellen fest: Outlook 2013 und 2016 lassen sich mit dieser Nachricht reproduzierbar und überall crashen. Unter jedem Windows. In der Voransicht (Standartmäßig eingeschaltet), beim anklicken, als MSG- oder EML-Datei, immer. Sehr schön!

Nach genauer Analyse stellt sich heraus: Es ist „nur“ der HTML-Word-Viewer. Dieser stolpert über eine einzige Zeile:

<style>table {mso-style-name:Standardowy; width:100%;}</style><br>

Wenn man also anderen Leuten das Outlook abschießen möchte verschickt einfach diese Zeile. Eine Beispiel-Crash-Mail.eml sieht zum Beispiel so aus:

From: Teleweed <[email protected]>
To: "Anonymous" <Anonymous>
Subject: This is an outlook crashing example
Date: Fri, 2 Jun 2017 2:22:22 -0200
Content-Type: text/html;

<style>table {mso-style-name:Standardowy; width:100%;}</style><br>

Leider konnten wir den Fehler nicht an Microsoft melden, weil das praktisch unmöglich ist. Weder ein MVP, unser PAM/PSX, die Social-Foren, noch das Feedback, noch die Security noch das Support-Team, noch der Partner-Support konnten oder wollten den Bug annehmen. Also liebe Welt: Happy shooting!

Vielleicht schickt ja mal jemand eine solche Mail an Rajesh Jha oder am besten gleich Satya Nadella 🙂

Update:

Mit dem Code lässt sich scheinbar auch Word an sich zum absturz bringen: Baut man folgendes in den Head eines html-Dokuments und versucht dann, selbiges mit Word zu öffnen kommt es ebenfalls zum Absturz.

<style>table {mso-style-name:Standardowy; width:100%;}</style>

Scheinbar ist das Ganze abhängig von der verwendeten Office-Sprache: Standardowy ist polnisch für „konventionell“. Ersetzt man es z.B. mit „Normale Tabelle“ (mit Anführungszeichen, wegen dem Leerzeichen) lässt es sich mit einem deutschen Word wieder Öffnen. Ein beliebige anderer String (z.B. auch „Table Normal“ aus einem englischsprachigen Word) verursacht den Absturz trotzdem.

Wichtig ist die Kombination aus „mso-style-name:<string>;“ und „width:<size>;“ -> Verwendet man z.B. „height“ gibt es keinen crash. Für <size> spielt es allerdings keine Rolle in welcher Einheit die Angabe erfolgt, Abstürzen tut Word auch mit z.B. 300px

Beispiele (proof of concept) gibt’s hier. („normale-tabelle_prozent.html“ sollte keinen Crash verursachen, der Rest allerdings schon.)

Danke @iSnackyCracky und @teleweed fürs finden und die langwierige Analyse.

Exchange 2016 OWA/ECP leere Seite nach Login

Problem:

Bei einer On-Premise Exchange Umgebung funktionieren „plötzlich“ Outlook und OWA nicht mehr. OWA und auch die ECP-Site zeigen noch den Login, danach bleibt die Seite allerdings leer.

Im System-Eventlog gibt es massenweise folgendes Event: (Source: HttpEvent; Event-ID: 15021)

Bei der Verwendung der SSL-Konfiguration für den Endpunkt 0.0.0.0:444 ist ein Fehler aufgetreten. Der Fehlerstatuscode ist in den zurückgegebenen Daten enthalten.

Lösung:

Ursache ist eine fehlende Zuordnung des SSL-Zertifikats für die Backend-Site im IIS.

Dort das SSL-Zertifikat wieder bei der korrekten Bindung auswählen, ggfs. den IIS neustarten und schon sollte der Zugriff wieder klappen:

  1. IIS Manager öffnen
  2. Sites -> Exchange Back End
  3. Im Aktionsbereich auf Bindungen
  4. Die https Bindung *:444 Bearbeiten
  5. das SSL-Zertifikat auswählen
  6. ggfs. iisreset

Trend Micro Worry-Free Business Security (WFBS) Dashboard Fehler 401/403 nach Windows-Update

Problem

Nach einem der letzten Windows-Updates und einem Serverneustart läuft das TrendMicro Dashboard vom IIS nicht mehr. Der Browser fragt ständig nach einem Benutzernamen und einem Passwort, oder zeigt sofort eine dieser Fehlermeldungen an:

  • 401.1 – Logon failed (Anmeldung fehlgeschlagen)
  • 401.3 – Unauthorized due to ACL on resource (Aufgrund von Berechtigungen …)
  • 403.1 – Execute access forbidden
  • 403.2 – Read access forbidden
  • 403.3 – Write access forbidden
  • 403.4 – Forbidden SSL required
  • 404.0 – Not Found
  • 404.1 – Web Site not accessible on the requested port
  • 404.2 – Lockdown policy prevents this request
  • 404.3 – MIME Map policy prevents this request

Lösung

Folgende Lösung hat sich bewährt, auch wenn sie etwas rigiros erscheint. Es gehen keine Einstellungen oder Daten verloren.

  1. Im IIS-Manager die Site „OfficeScan“ löschen. Ja, vollständig und restlos löschen.
  2. In einem Administrator-CMD Fenster in dieses Verzeichnis wechseln:
    %ProgramFiles(x86)%\Trend Micro\Security Server\PCCSRV
  3. Diese Befehle nacheinander ausführen:
    svrsvcsetup -install
    svrsvcsetup -setvirdir
    svrsvcsetup -setprivilege
    svrsvcsetup -enablessl

Schon fertig. Der svrsvcsetup-Manager erstellt das virtuelle Verzeichnis, Berechtigungen, Bindungen und so weiter wieder sauber neu.

Wenn man die Bindung der IIS-Site verändert hat(te), mit einem eigenen SSL-Zertifikat, anderem Port oder ähnliches, muss man diese Einstellung nun wiederholen. NUR die Bindungen verändern, mehr nicht – hier ist das Dashboard etwas empfindlich.

WSUS unter Windows Server 2012 und 2016 funktioniert nicht (Error 503, 0x80040154, 0x80245002)

Problem

Ein frischer Windows Server 2016 (oder 2012/2012R2) WSUS-Server funktioniert nicht. Clients werden in der WSUS-Console zwar aufgeführt, aber es werden keine Updates verteilt. Stattdessen sagen die %SystemRoot%\WindowsUpdate.log Logfiles, das der Fatale Fehler 0x80040154 oder 0x80245002 aufgetreten sei. Die DNS-Auflösung des WSUS-Servers klappt aber ohne Probleme.

Zudem wirft die manuell aufgerufene URL http://<WSUS-SERVERNAME>/ClientWebService/client.asmx einen HTTP-Fehler, und zwar den http-error 503.

Lösung (und ein Tipp)

Bei der Installation des IIS ist vermutlich die dynamische Komprimierung installiert worden. Aus magischen Gründen wird diese bei der Installation auf allen neu angelegten Sites („WSUS-Verwaltung“) auch gleich aktiviert. Die dynamische Kompression muss ausgeschaltet sein, sonst mag der Windows Update Client die HTTP-Antworten nicht mehr verstehen.

IIS-Manager > Sites > WSUS-Verwaltung > Komprimierung (rechts) > Dynamische Kompression AUSSCHALTEN

Tipp

Bei mehr als 190 WSUS-Clients steigt der WSUS-Applikationspool im IIS regelmäßig aus, wenn die Clients anfangen ihren Patchstand zu reporten. Der Pool beendet sich mit ienem „Out of Memory“ Fehler.

Wir raten daher eindringlich dazu, den Arbeitsspeicher des Pools von den knapp gerechneten ~1,8g (1.843.200kb) auf mindestens 4gb zu erhöhen. Dananch tritt der Fehler (zumindest bis 800 Clients) nicht mehr auf.

IIS-Manager > Anwendungspools > WsusPool > Erweiterte Eigenschaften > Wiederverwendung/“Limit für den privaten Speicher“ auf 4000000 (4Mio) setzen.

 

 

Windows 10 Excel 2016 Vorschau (Preview) funktioniert nicht

Unter Windows 10 ist es uns Admins mittlerweile einige male begegnet, das der Windows-Explorer die Dateivorschau für Excel-Dateien nicht mehr anzeigt. Das scheint meistens dann zu passieren, wenn Office 2016 installiert wurde. Die Explorer-Vorschau ist dabei aber offenbar unabhängig von der Office-Edition, klappt also unter Office 365 (CTR), Volume License, Open oder HAB nicht richtig.

Lösung

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PreviewHandlers]
"{00020827-0000-0000-C000-000000000046}"="Microsoft Excel previewer"

Registry-Fix herunterladen: excel_2016_preview_handlers

Ressourcenpostfach Kalenderbuchungen automatisch akzeptieren um Konflikte zu vermeiden

Problem:

Ein Ressourcenpostfach (Gerätepostfach) soll Kalenderbuchungen automatisch akzeptieren. In der Standardeinstellung sind Konflikte bei der Buchung möglich.

Lösung:

Standardmäßig werden bei Gerätepostfächern Kalenderbuchungen zwar als „Mit Vorbehalt“ im Kalender eingetragen, allerdings nicht automatisch bestätigt. Somit sind auch doppelte Buchungen möglich.

Diese Einstellung lässt sich relativ schnell via Exchange-Management-Shell ändern:

Set-CalendarProcessing -Identity "POSTFACH" -AutomateProcessing AutoAccept

Kalenderdetails eines Ressourcenpostfaches anzeigen (Exchange 2016/Online)

Problem:

Benutzer sehen im Kalender eines Ressourcenpostfaches standardmäßig lediglich den Frei-/Gebucht-Status und können Termine auch nicht zum anzeigen von Details öffnen.

Lösung:

Es gibt mehrere Möglichkeiten dies zu ändern:

  1. Einem Benutzer Vollzugriff auf das Ressourcenpostfach geben (via EMC). Mit diesem Benutzer können dann die Berechtigungen des Kalenders vom betroffenen Postfach angepasst werden. Oder:
  2. Die Kalenderberechtigungen für den „Default“-Benutzer via Exchange-Management-Shell anpassen:
Set-MailboxFolderPermission "POSTFACH-ID:\Kalender" -AccessRights Reviewer -User Default

Die Rolle „Reviewer“ behinhaltet die Berechtigungen „FolderVisible, ReadItems“, somit also auch das Anzeigen der Termindetails.
Die anderen möglichen Berechtigungen bzw. Rollen finden sich unter https://technet.microsoft.com/de-de/library/dd298062(v=exchg.160).aspx

Windows EventID: 36888 – Quelle: Schannel – Warnung 10 – Fehlerstatus: 1203

Problem

Seit „einer Weile“ tauchen im Ereignisprotokoll ständig diese Meldungen auf:

Quelle: Schannel

Ereignis-ID: 36888

Ebene: Fehler

Es wurde eine schwerwiegende Warnug generiert: 10. Der interne Fehlerstatus lautet 1203.

Lösung

Das passiert gerne auf Maschinen mit installierten IIS oder Apps mit ausgehenden TLS-Verbindungen. Der Status 10 bedeutet: „TLS1_ALERT_UNEXPECTED_MESSAGE (10)“. Man kann das nachstellen, indem man ein nicht-TLS-Verbindung auf einen TLS-Port öffnet, z.B. mit http://SERVER:443/foo.

Das ist in aller Regel nicht schlimm und nervt nur. Die Verbindung wird auf jeden Fall beendet.

Man kann die Protokollierung des Fehlers in der Cryptoapi einfach deaktivieren, dann ist der Eintrag weg. Den Wert von „EventLogging“ in HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL einfach von „1“ auf „0“ umstellen.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL]
"EventLogging"=dword:00000000