Ich muss übermäßige Header entfernen (hauptsächlich, um Penetrationstests zu bestehen). Ich habe mir einige Zeit mit Lösungen befasst, bei denen UrlScan ausgeführt wird. Diese sind jedoch umständlich, da UrlScan bei jedem Start einer Azure-Instanz installiert werden muss .
Es muss eine gute Lösung für Azure geben, bei der keine Installationsprogramme über startup.cmd bereitgestellt werden.
Ich verstehe, dass die Antwortheader an verschiedenen Stellen hinzugefügt werden :
- Server : von IIS hinzugefügt.
- X-AspNet-Version : hinzugefügt von System.Web.dll zum Zeitpunkt von Flush in der HttpResponse-Klasse
- X-AspNetMvc-Version : Hinzugefügt von MvcHandler in System.Web.dll.
- X-Powered-By : von IIS hinzugefügt
Gibt es eine Möglichkeit, IIS7 so zu konfigurieren (über web.config usw.?), Um die HTTP-Antwortheader zu entfernen / auszublenden / zu deaktivieren, um die Warnung "Übermäßige Header" auf asafaweb.com zu vermeiden , ohne ein IIS-Modul zu erstellen oder Installationsprogramme bereitzustellen , die dies benötigen jedes Mal ausgeführt werden, wenn eine Azure-Instanz gestartet wird?
quelle
MSDN hat diesen Artikel zum Ausblenden von Headern auf Azure-Websites veröffentlicht. Sie können den Server jetzt vor web.config ausblenden, indem Sie einen Eintrag zu system.webServer hinzufügen
VS wird das oben Gesagte jedoch als ungültig ansehen. Der obige Link hat Code als Bilder, schwer zu finden. Die MVC-Version ist beim Anwendungsstart wie oben weiterhin ausgeblendet, genau wie bei der x-powered-by- und der .Net-Version.
quelle
Es gibt auch ein Paket auf NuGet, mit dem Sie dies durch ein paar Konfigurationszeilen und keine Änderungen am Code erreichen können: NWebsec. Die Dokumente zum Entfernen von Versionsheadern finden Sie hier: https://github.com/NWebsec/NWebsec/wiki/Suppressing-version-headers
Es wird hier vorgeführt: http://www.nwebsec.com/HttpHeaders/VersionHeaders (in Azure)
Haftungsausschluss: Ich bin der Entwickler des Projekts.
quelle
Die Antwort von Nick Evans ist perfekt, aber ...
Wenn Sie diese Header aus Sicherheitsgründen entfernen , vergessen Sie nicht, die
ASP.NET Session coockie name
! Weil es einfacher ist, die verwendete Sprache oder die Serverversion zu erraten, wenn Sie Folgendes sehen:So ändern Sie den Cookie-Namen: (Seien Sie kreativ)
quelle
Wenn Sie die vorherigen Antworten von @ giveme5minutes und @AKhooli zusammenfassen, die sich auf Azure-Websites beziehen, sowie einige andere Elemente, die der Scanner sehen möchte, sind dies die Änderungen, die ich vorgenommen habe, um ASafaWeb mit einer Azure-Site zufrieden zu stellen.
Es wird immer noch beanstandet, dass das Azure-Affinitätsheader-Cookie nicht nur https ist, sondern dass Affinität die Art von Cookie ist, die Sie trotzdem wiedergeben möchten, oder?
quelle