Windows Sever IIS reverse Proxy (ARR) verhindert Zugriff auf URLs mit Plus („+“) Zeichen

Der IIS mit ARR verhindert „by Default“ den Zugriff auf Adressen (URLs), die reservierte Zeichen enthalten. Genauer gesagt werden Anfragen mit solchen Zeichen von der IIS-Anfragefilterung blockiert und mit einen Fehler 404 beantwortet.

Die IIS-Anforderungsfilterung prüft standardmäßig auf viele verschiedene Dinge. Das Verhalten wird aber durch die Konfiguration gesteuert und kann (muss) pro Site angepasst werden.

Dazu gehören:

  • Doppelte Escapezeichen (..%25)
  • Prozent-Zeichen „%“-Zeichen
  • Plus „+“-Zeichen (Leerzeichen, also auch „%2b“)
  • Nicht-ASCII-High-Bit-Zeichen (ja, auch Emojies)
  • Punkt im URI-Pfad, wenn eine Anfrage, die einen anderen Punkt als den für die Ressourcenerweiterung enthält, abgelehnt wird (http://foo/a.b/bar.aspx)

Lösung

In der betreffenden web.config die Ausnahme für Double-Escaping hinzufügen:

<system.webServer>

  <security>
    <requestFiltering allowDoubleEscaping="true">
    </requestFiltering>
  </security>

[...]

Windows Remotehilfe erweiterte Rechte („Als Administrator“) erlauben / ermöglichen

Die Windows Remotehilfe (STRG+Win+Q) ist ein ausgezeichnetes, oft unterschätztes und seit Windows 10 allgegenwärtiges Werkzeug. Der Admin kann damit beliebigen Windows (Clients) direkt Hilfe anbieten, ohne Tools wie Teamviewer oder Anydesk herunterladen zu müssen.

Das einzige Problem ist die Rechteausweitung. Die Windows Remotehilfe kann nicht selbstständig „Erweiterte Rechte“ erlangen, man kann also nicht mal eben Dinge „Als Administrator“ starten. Wenn man das versucht, sieht man auf der Helfer-Seite ein „Pause“ Symbol und auf dem Client den „Secure Desktop“ der die Eingabeaufforderung für Admin-Credentials

Selbst wenn man dann bestimmte Anwendungen als Administrator gestartet hat, zum Beispiel via runas oder minirunas, sind Eingaben in diese Fenster für den Helfenden nicht möglich. Der „Sichere Desktop“ verhindert das ein nicht-admin die Administrator-Fenster bedienen kann. Grundsätzlich sicher eine sichere Idee, aber auch etwas unprkatisch.

Lösung

Um es Admins zu ermöglichen, die Anmeldedaten auch in einer Remotehilfesitzung einzugeben, müssen zwei Dinge geschehen. Erstens muss die UAC-Eingabeauffoderung ohne „Sicheren Desktop“ angezeigt werden und zweitens muss die ganze Benutzersitzung zum „Sicheren Desktop“ wechseln dürfen.

Das geht am einfachsten per Gruppenrichtlinie.

Computerkonfiguration > Richtlinien > Lokale Richtlinien > Sicherheitsoptionen > Benutzerkontensteuerung >
„Benutzerkontensteuerung: Bei Benutzeraufforderung nach erhöhten Rechten zum sicheren Desktop wechseln“: Deaktiviert

(Gleicher Pfad)
„Benutzerkontensteuerung: Erhöhte Rechte nur für UIAccess-Anwendungen, die an sicheren Orten installiert sind“: Aktiviert

(Gleicher Pfad)
„Benutzerkontensteuerung: UIAccess-Anwendungen können erhöhte Rechte ohne sicheren Desktop anfordern“: Aktiviert

Nach dem nächsten gpupdate können Admins auch in der Windows Remotehilfe wieder Anmeldedaten „für „Als Administrator“ eingeben.

PrintNightmare: Drucker hinzufügen Fehler 0x0000011b (Update)

Nach der Installation von KB5005033 (und den folgenden Patches) kann es dazu kommen, dass Clients im Netzwerk nicht mehr zuverlässig drucken können:

  • Die Druckerliste ist (und bleibt) leer
  • Es passiert nach einem Druckauftrag nichts mehr
  • Alle Netzwerkdrucker sind verschwunden

Verbindet man einen so „verschwundenen“ Drucker von einem gepatchten Windows-Druckserver neu, erhält man statt eines neu verbundenen Druckers die Fehlermeldung 0x0000011b. Das betrifft in der Regel Maschinen, die eine ältere Version des zugehörigen Druckertreibers installiert hatten.

Nutzt man auch noch Drucker(treiber) die einen einem eigenen Porttyp mitbringen, bleibt auch die Liste der „Anschlüsse“ plötzlich leer.

Lösung

In die Registry importieren:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print]
"RestrictDriverInstallationToAdministrators"=dword:00000000

Nach einem Neustart des Druckerspoolers geht alles wieder.

In einigen Fällen kann auch dieser Registry Key auf dem Printserver die Lösung sein:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print]  "RpcAuthnLevelPrivacyEnabled"=dword:00000000

Hiernach ist ebenfalls ein Neustart des Spoolers (auf dem Printserver) erforderlich.

Update

Damit Benutzer auch weiterhin Drucker installieren können und nicht nach dem „Administrator“ gefrat werden, muss zusätzlich zur PointAndPrint Richtlinie dieser Schlüssel gesetzt werden

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint]
"RestrictDriverInstallationToAdministrators"=dword:00000000

Microsoft 365 Exchange online: SMTP-Relay sendet nicht mehr „SendAsDenied“ und „not allowed to send as“

„Auf einmal“ sendet ein SMTP-Relay Server nicht mehr alle E-Mails raus. Im (IIS-SMTP-) Log findet sich dieser Fehler:

SendAsDenied; <NAME> not allowed to send as <NAME>; STOREDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied; Failed to process message due to a permanent exception with message [BeginDiagnosticData]Cannot submit message.

Wobei <NAME> ein Alias des Relay-Benutzers ist. Der Benutzer darf also nicht mehr als er selbst senden.

Lösung

Microsoft hat, natürlich ohne große Ankündigung, die implizite „Senden-Als“ Berechtigung für Aliase einer Mailbox entfernt. Man muss diese im Exchange Admin-Center einfach wieder aktivieren.

Das geht unter Einstellungen > Nachrichtenfluss > „Senden von Aliasnamen aktivieren“

… und schon kann der Nutzer wieder mit einem beliebigen Alias E-Mails (via SMTP) versenden.

Abhängigkeiten zu Windows-Diensten hinzufügen oder entfernen

Manchmal muss man Abhängikeiten von Windows-Diensten untereinander bearbeiten. Die Abhängigkeiten machen auch genau das was sie sagen: Dienste starten damit erst, wenn ein Anderer fertig ist.

Sinnvoll ist das zum Beispiel bei Lizenzdiensten die erst nach dem USB-Link starten sollen oder Middleware-Services erst nach einer Datenbank.

Lösung

An der guten alten CMD-Shell (als Administrator) lassen sich Abhängigkeiten schnell hinzufügen:

sc config <DIENST> depend=<ABHAENGIG VON ANDEREM DIENST>

Alle Abhängikeiten entfernen:

sc config <DIENST> depend= /