Votre service de sécurité vous demande de le faire pour rendre le type de serveur plus difficile à identifier. Cela pourrait réduire le nombre d'outils de piratage automatisés et rendre plus difficile l'accès au serveur par des personnes.
Dans IIS, ouvrez les propriétés du site Web, puis accédez à l'onglet En-têtes HTTP. La plupart des en-têtes X peuvent être trouvés et supprimés ici. Cela peut être fait pour des sites individuels ou pour le serveur entier (modifiez les propriétés de l'objet Sites Web dans l'arborescence).
Pour l’en-tête du serveur, sous IIS6, vous pouvez utiliser l’ outil URLScan de Microsoft pour le supprimer . Port 80 Software fabrique également un produit appelé ServerMask qui s’occupera de cela, et de bien d’autres, pour vous.
Pour IIS7 (et versions ultérieures), vous pouvez utiliser le module URL Rewrite pour réécrire l'en-tête du serveur ou effacer sa valeur. Dans web.config (sur un site ou sur le serveur dans son ensemble), ajoutez ce contenu après l'installation du module URL Rewrite:
<rewrite>
<outboundRules rewriteBeforeCache="true">
<rule name="Remove Server header">
<match serverVariable="RESPONSE_Server" pattern=".+" />
<action type="Rewrite" value="" />
</rule>
</outboundRules>
</rewrite>
Vous pouvez définir une valeur personnalisée dans l'action de réécriture si vous le souhaitez. Cet exemple provient de cet article qui contient également d’autres informations intéressantes.
Pour l'en-tête MVC, dans Global.asax:
MvcHandler.DisableMvcResponseHeader = true;
Édité le 11-12-2019 pour mettre à jour les informations IIS7, car le lien de blog TechNet n'était plus valide.
Pour supprimer tous les en-têtes personnalisés contenant trop d'informations, les méthodes sont différentes (malheureusement) pour IIS 7:
Nom d'en-tête: X-Powered-By
Ajouter:
dans la
<system.webServer>
section.Nom d'en-tête: Serveur
Implémentez un httpModule qui supprime cet en-tête en appelant Response.Headers.Remove ("Server") à partir de l'événement PreSendRequestHeaders. Une autre ressource pour cela: masquer votre application Web ASP.NET MVC sur IIS 7
Nom d'en-tête: X-AspNet-Version
Dans la section httpRuntime de web.config - set:
Nom d'en-tête: X-AspNetMvc-Version
A partir de l'événement Application_Start dans global.asax - exécutez le code suivant (C #):
la source
Le placer dans le fichier web.config d'une application ASP.NET supprimera l'en-tête X-AspNet-Version:
Notez que la balise system.web doit déjà exister dans le fichier. Ne créez pas de doublon, ajoutez simplement la balise httpRuntime. La balise httpRuntime peut également déjà exister. Si c'est le cas, ajoutez simplement l'attribut ou définissez sa valeur s'il est déjà présent.
la source
system.web
mon site Web tombe en panne. est-ce que tu sais pourquoi?Je viens de terminer le cycle de «durcissement» de mon projet actuel - j'ai blogué sur notre approche, qui inclut un HTTPModule pour supprimer les en-têtes suivants :
Serveur, version
X-AspNet, version
X-AspNetMvc,
X-Powered-By
Pièces pertinentes reproduites ci-dessous:
Mais il n’existe pas de moyen simple de supprimer l’en-tête de réponse du serveur via la configuration. Heureusement, IIS7 possède une infrastructure de module enfichable gérée qui vous permet d'étendre facilement ses fonctionnalités. Vous trouverez ci-dessous la source d'un module HttpModule permettant de supprimer une liste spécifiée d'en-têtes de réponse HTTP:
Assurez-vous de signer l'ensemble, puis installez-le dans le GAC de vos serveurs Web et apportez simplement les modifications suivantes au fichier web.config de votre application (ou, si vous souhaitez qu'il soit appliqué globalement, au fichier machine.config):
la source
Vérifiez ce blog . N'utilisez pas de code pour supprimer les en-têtes de réponse. C'est instable selon Microsoft
Utilisez plutôt la section En-têtes personnalisés Web.config:
la source
J'utilise le code suivant et travaille pour moi IIS 7.5
la source