- Betrifft: IIS 7.0 und IIS 7.5
- System: Microsoft Windows Server 2008, Windows Server 2008 R2
- Problem: Zugriff auf Dateien mit “+” im Namen schlagen fehl, unter anderem Notwendig bei Microsoft Active Directory Zertifizierungsstelle
Hintergrund
Beim Zugriff auf eine Datei mittels Webbrowser erhält man einen Serverfehler. Die Webseite wird dabei im IIS 7.0 oder IIS 7.5 auf einem Windows Server betrieben.
In meinem konkreten Fall werden die “Internetinformationsdienste 7.5” unter Windows Server 2008 R2 verwendet. Die Fehlerzusammenfassung zeigt folgendes an:
HTTP-Fehler 404.11 – Not Found
Das Anforderungsfilterungsmodul ist so konfiguriert, dass Anforderungen abgelehnt werden, die eine doppelte Escapesequenz enthalten. Ausführliche Fehlerinformationen
Wahrscheinlichste Ursachen: · Die Anforderung enthielt eine doppelte Escapesequenz, und die Anforderungsfilterung ist auf dem Webserver so konfiguriert, dass doppelte Escapesequenzen abgelehnt werden. Mögliche Vorgehensweise: · Überprüfen Sie die Einstellungen für “configuration/system.webServer/security/requestFiltering@allowDoubleEscaping” in der Datei “applicationhost.config” oder “web.config”. Links und weitere InformationenHierbei handelt es sich um ein Sicherheitsfeature. Ändern Sie dieses Feature nur, wenn Sie sich über die Auswirkungen der Änderung vollständig im Klaren sind. Vor dem Ändern dieses Werts sollten Sie eine Ablaufverfolgung im Netzwerk ausführen, um sicherzustellen, dass die Anforderung nicht bösartig ist. Wenn doppelte Escapesequenzen vom Server zugelassen werden, ändern Sie die Einstellung “configuration/system.webServer/security/requestFiltering@allowDoubleEscaping”. Dies kann auf eine falsch formatierte URL zurückzuführen sein, die von einem böswilligen Benutzer an den Server gesendet wurde. |
Behebung
In der Standardeinstellung werden doppelte Escapesequenzen blockiert. Damit können unter anderem keine Dateien geladen werden, die im Namen ein “+” enthalten. Bei manchen Webdiensten ist es jedoch erforderlich, dass diese Zeichen zugelassen werden.
Unter anderem ist die Active Directory Zertifizierungsstelle ein solcher Webdienst. Hierbei wird die Zertifikat-Deltasperrliste auf diese Weise verteilt. Im Dateinamen ist dabei ein Plus vorhanden.
Die Behebung ist dabei recht simpel.
- Der Command-Prompt muss mit Administratorenrechte gestartet werden.
- Es wird der Command-Prompt oder auch Konsolenfenster geöffnet.
- Nun muss der Ordner gewechselt werden. Dazu folgendes eingeben:
%windir%\system32\inetsrv - Danach kommt der eigentliche Befehl. Statt “Default Web Site” bitte die eigene Webseitenbezeichnung eingeben. Dies kann im Internetinformationsdienste (IIS)-Manager ausgelesen werden.
Appcmd set config “Default Web Site” /section:system.webServer/Security/requestFiltering -allowDoubleEscaping:True - Die Erlaubnis von doppelten Escapesequenzen wird dabei nur für die entsprechend angegebene Webseite erlaubt. Alle anderen bleiben auf der Standardeinstellung.
Weitere Information ist auch in der Microsoft Knownledge Base KB 942076 zu finden – IIS 7.0: “HTTP-Fehler 404.11 – URL_DOUBLE_ESCAPED”.