Ich habe einige IIS / 6.0-Server, auf denen ich vom Sicherheitsdienst aufgefordert werde, einige Antwortheader zu entfernen, die bei Anforderungen an Clientbrowser gesendet werden. Sie sind besorgt über die Weitergabe von Plattforminformationen über Antwort-Header. Ich habe alle HTTP-HEADERS aus der IIS-Konfiguration für die Website entfernt (X-Powered-By oder ein solcher Header).
(Ich persönlich weiß, dass diese Informationen leicht gefunden werden können, auch wenn sie verborgen sind, aber nicht mein Anruf.)
Überschriften, die ich entfernen möchte:
- Server - Microsoft-IIS / 6.0
- X-AspNet-Version - 2.0.50727
Ich weiß auch, dass ASP.NET MVC auch einen eigenen Header ausgibt. Wenn Sie wissen, wie man ihn auch entfernt, wäre das hilfreich.
- X-AspNetMvc-Version - 1.0
quelle
Um alle benutzerdefinierten Header zu entfernen, die zu viele Informationen enthalten, wurden die Methoden für IIS 7 (leider) geändert:
Headername: X-Powered-By
Hinzufügen:
in der
<system.webServer>
Sektion.Headername: Server
Implementieren Sie ein httpModule, das diesen Header entfernt, indem Sie Response.Headers.Remove ("Server") aus dem PreSendRequestHeaders-Ereignis aufrufen. Eine weitere Ressource hierfür: Verschleiern Ihrer ASP.NET MVC-Webanwendung unter IIS 7
Headername : X-AspNet-Version
Im httpRuntime-Bereich der web.config - set:
Headername : X-AspNetMvc-Version
Führen Sie im Application_Start-Ereignis in global.asax den folgenden Code (C #) aus:
quelle
Wenn Sie dies in die web.config-Datei einer ASP.NET-Anwendung einfügen, wird der Header der X-AspNet-Version entfernt:
Beachten Sie, dass das Tag system.web bereits in der Datei vorhanden sein sollte. Erstellen Sie kein Duplikat, fügen Sie einfach das httpRuntime-Tag hinzu. Das httpRuntime-Tag ist möglicherweise auch bereits vorhanden. Wenn ja, fügen Sie einfach das Attribut hinzu oder setzen Sie den Wert, wenn es bereits vorhanden ist.
quelle
system.web
meine website stecke, geht das runter. wissen Sie, warum?Nachdem ich gerade den "Hardening" -Zyklus meines aktuellen Projekts durchlaufen hatte, bloggte ich über unseren Ansatz, der ein HTTPModule zum Entfernen der folgenden Header enthält :
Server,
X-AspNet-Version,
X-AspNetMvc-Version,
X-Powered-By
Passende Stücke sind unten abgebildet:
Es gibt jedoch keine einfache Möglichkeit, den Server-Antwortheader über die Konfiguration zu entfernen. Zum Glück verfügt IIS7 über eine verwaltete, steckbare Modulinfrastruktur, mit der Sie die Funktionalität problemlos erweitern können. Im Folgenden finden Sie die Quelle für ein HttpModule zum Entfernen einer angegebenen Liste von HTTP-Antwortheadern:
Stellen Sie sicher, dass Sie die Assembly signieren. Anschließend können Sie sie im GAC Ihrer Webserver installieren und einfach die folgende Änderung an der web.config Ihrer Anwendung vornehmen (oder, wenn Sie möchten, dass sie global angewendet wird, an der machine.config):
quelle
Überprüfen Sie diesen Blog . Verwenden Sie keinen Code, um Antwortheader zu entfernen. Es ist laut Microsoft instabil
Verwenden Sie stattdessen den Abschnitt Web.config custom Headers:
quelle
Ich benutze folgenden Code und funktioniert für mich iis 7.5
quelle