Su departamento de seguridad quiere que haga esto para dificultar la identificación del tipo de servidor. Esto puede disminuir el aluvión de herramientas de piratería automatizadas y dificultar que las personas entren en el servidor.
Dentro de IIS, abra las propiedades del sitio web, luego vaya a la pestaña Encabezados HTTP. La mayoría de los encabezados X se pueden encontrar y eliminar aquí. Esto se puede hacer para sitios individuales o para todo el servidor (modifique las propiedades para el objeto Sitios web en el árbol).
Para el encabezado del servidor, en IIS6 puede usar la herramienta URLScan de Microsoft para controlar eso. Port 80 Software también fabrica un producto llamado ServerMask que se encargará de eso, y mucho más, por usted.
Para IIS7 (y superior), puede usar el Módulo de reescritura de URL para reescribir el encabezado del servidor o dejar en blanco su valor. En web.config (en un sitio o en el servidor en su conjunto), agregue este contenido después de instalar el Módulo de reescritura de URL:
<rewrite>
<outboundRules rewriteBeforeCache="true">
<rule name="Remove Server header">
<match serverVariable="RESPONSE_Server" pattern=".+" />
<action type="Rewrite" value="" />
</rule>
</outboundRules>
</rewrite>
Puede poner un valor personalizado en la acción de reescritura si lo desea. Esta muestra proviene de este artículo que también tiene otra gran información.
Para el encabezado MVC, en Global.asax:
MvcHandler.DisableMvcResponseHeader = true;
Editado el 11-12-2019 para actualizar la información de IIS7 ya que el enlace del blog de TechNet ya no era válido.
Para eliminar todos los encabezados personalizados que revelan demasiada información, los métodos son variados (desafortunadamente) para IIS 7:
Nombre del encabezado: X-Powered-By
Añadir:
en la
<system.webServer>
seccion.Nombre del encabezado: servidor
Implemente un httpModule que elimine este encabezado llamando a Response.Headers.Remove ("Servidor") desde el evento PreSendRequestHeaders. Otro recurso para esto: Encubrir su aplicación web ASP.NET MVC en IIS 7
Nombre del encabezado: X-AspNet-Version
En la sección httpRuntime de web.config - set:
Nombre del encabezado: X-AspNetMvc-Version
Desde el evento Application_Start en global.asax: ejecute el siguiente código (C #):
fuente
Al poner esto en el archivo web.config de una aplicación ASP.NET, se eliminará el encabezado X-AspNet-Version:
Tenga en cuenta que la etiqueta system.web ya debería existir en el archivo. No cree un duplicado, solo agregue la etiqueta httpRuntime. La etiqueta httpRuntime también podría existir. Si es así, solo agregue el atributo o establezca su valor si ya está allí.
fuente
system.web
mi sitio web se cae. ¿Sabes por qué?Después de haber pasado por el ciclo de "endurecimiento" en mi proyecto actual , escribí en un blog sobre el enfoque que tomamos, que incluye un HTTPModule para eliminar los siguientes encabezados :
Servidor,
X-AspNet-Version,
X-AspNetMvc-Version,
X-Powered-By
Piezas pertinentes reproducidas a continuación:
Pero no hay una manera fácil de eliminar el encabezado de respuesta del servidor a través de la configuración. Afortunadamente, IIS7 tiene una infraestructura de módulo conectable administrada que le permite ampliar fácilmente su funcionalidad. A continuación se muestra la fuente de un HttpModule para eliminar una lista específica de Encabezados de respuesta HTTP:
Asegúrese de firmar el ensamblado, luego puede instalarlo en el GAC de sus servidores web y simplemente realizar la siguiente modificación en el archivo web.config de su aplicación (o si desea que se aplique globalmente, en la máquina.config):
fuente
Mira este blog . No use código para eliminar encabezados de respuesta. Es inestable según Microsoft
Utilice la sección de encabezados personalizados Web.config en su lugar:
fuente
Yo uso el siguiente código y funciona para mí iis 7.5
fuente