Un análisis de seguridad de nuestro servidor IIS 10 reveló que revela la dirección IP interna del servidor a través del Location
encabezado cuando se realiza una solicitud a una carpeta, como https://example.org/Content
. Esto genera lo siguiente ( xxx
representa la IP interna):
HTTP/1.1 301 Moved Permanently
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Content-Type: text/html; charset=UTF-8
Expires: -1
Location: https://xxx.xxx.xxx.xxx/Content/
....
Unas cuantas preguntas:
- ¿Cuál es la mejor práctica para solucionar este problema?
- ¿Cómo hacemos una solicitud GET HTTP/1.0 fuera del software de escaneo para simular esto y probarlo después de la corrección?
Gracias.
Actualizar:Probé la regla de reescritura de URL desdeesta publicaciónpero arroja un error 500.
Respuesta1
Este artículojunto conÉsteDescribe la protección contra este tipo de ataque (vulnerabilidad de divulgación de información del servidor de acceso al cliente) cancelando solicitudes a las que les falta el encabezado Host.
Estos son los pasos para solucionar este problema. Asegúrese de tener elMódulo de reescritura de URLinstalado,
Abra IIS.
Seleccione su sitio web.
Haga doble clic en Reescritura de URL.
Haga clic en Agregar reglas en el panel Acciones en el lado derecho.
Elija Reglas de entrada > Solicitar bloqueo.
Introduzca la siguiente configuración para la regla:
Bloquear el acceso según: Encabezado del host
Bloquear solicitud que: No coincide con el patrón
Patrón (encabezado de host): .+ (léase: "punto más", que significa "coincidir con uno o más caracteres")
Usando: Expresiones regulares
como bloquear: Cancelar solicitud
Haga clic en Aceptar para guardar la regla.
Actualizar:El análisis de seguridad realizado en un servidor Windows reveló que la vulnerabilidad ya no existía después de este cambio.