Cómo configurar la herramienta URLScan

Seleccione idioma Seleccione idioma
Id. de artículo: 326444 - Ver los productos a los que se aplica este artículo
Recomendamos encarecidamente que todos los usuarios actualizar a Microsoft Internet Information Services (IIS) versión 7.0 que se ejecutan en Microsoft Windows Server 2008. IIS 7.0 aumenta notablemente la seguridad de la infraestructura Web. Para obtener más información acerca de temas relacionados con la seguridad IIS, visite el siguiente sitio Web de Microsoft:
http://www.microsoft.com/technet/security/prodtech/IIS.mspx
Para obtener más información acerca de IIS 7.0, visite el siguiente sitio Web de Microsoft:
http://www.iis.net/default.aspx?tabid=1
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo paso a paso se explica cómo configurar la herramienta URLScan para proteger el servidor Web frente a ataques y puntos débiles.

Instalar URLScan

Para instalar URLScan, visite el programador de Microsoft siguiente sitio Web de Network (MSDN):
http://msdn2.microsoft.com/en-us/library/aa302368.aspx
Para obtener información adicional, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
307608Uso de URLScan en IIS

Modificar el archivo URLScan.ini

Toda la configuración de URLScan se realiza mediante el archivo URLScan.ini archivo, que se encuentra en la carpeta %WINDIR%\System32\Inetsrv\URLscan. Para configurar URLScan, abra este archivo en un editor de texto, como el Bloc de notas, realice los cambios apropiados y, a continuación, guarde el archivo.

Nota Debe reiniciar servicios de Internet Information Server (IIS) para que los cambios surtan efecto. Una forma puede hacerlo rápidamente es ejecutar el comando IISRESET en el símbolo del sistema.

El archivo URLScan.ini contiene las secciones siguientes:
  • [opciones] : esta sección describen las opciones generales de URLScan.
  • [AllowVerbs] y [DenyVerbs] : esta sección define los verbos (también conocido como métodos HTTP) que URLScan admite.
  • [DenyHeaders] : esta sección muestra encabezados HTTP que no están permitidos en una solicitud HTTP. Si una solicitud HTTP contiene uno de los encabezados HTTP que se enumeran en esta sección, URLScan rechaza la solicitud.
  • [AllowExtensions] y [DenyExtensions] : esta sección define las extensiones de nombre de archivo que URLScan admite.
  • [DenyURLSequences] : esta sección muestra las cadenas que no están permitidas en un HTTP solicitud. URLScan rechaza las solicitudes HTTP que contienen una cadena que aparece en esta sección.
Cada sección se describirán con más detalle en este documento.

La sección [Options]

En la sección [Options] , puede configurar un número de opciones de URLScan. Cada línea en esta sección tiene el formato siguiente:
OptionName= OptionValue
Las opciones disponibles y sus valores predeterminados son:
  • UseAllowVerbs = 1

    De forma predeterminada, esta opción se establece en 1. Si esta opción se establece en 1, URLScan sólo permite las solicitudes HTTP que utilizan los verbos que aparecen en la sección [AllowVerbs] . URLScan bloquea las solicitudes que no utilizan estos verbos. Si esta opción se establece en 0, URLScan omite la sección [AllowVerbs] y en su lugar bloquea sólo las solicitudes que utilizan verbos que se muestran en la sección [DenyVerbs] .
  • UseAllowExtensions = 0

    De forma predeterminada, esta opción se establece en 0. Si esta opción se establece en 0, URLScan bloquea solicita extensiones de nombre de archivo enumerados en la sección [DenyExtensions] , pero permite las solicitudes de otras extensiones de nombre de archivo. Si esta opción se establece en 1, URLScan sólo permite las solicitudes de archivos con extensiones que se enumeran en la sección [AllowExtensions] y bloquea las solicitudes de los otros archivos.
  • NormalizeUrlBeforeScan = 1

    IIS recibe las solicitudes que están codificada la dirección URL. Esto significa que algunos caracteres pueden reemplazarse con un signo de porcentaje (%) seguido de un determinado número. Por ejemplo, % 20 corresponde a un espacio, por lo que una solicitud de http://myserver/My%20Dir/My%20File.htm es el mismo que una solicitud de http://myserver/My Dir/My File.htm. La normalización es el proceso de descodificación solicitudes codificados. De forma predeterminada, esta opción se establece en 1. Si la opción NormalizeUrlBeforeScan se establece en 1, URLScan analiza la solicitud descodificada. Si se establece en 0, URLScan analiza la solicitud undecoded en su lugar. Esta opción a 0, reduce la capacidad de URLScan para bloquear ciertos tipos de ataques.
  • VerifyNormalization = 1

    Debido a que el signo de porcentaje (%), sí puede codificada la dirección URL, un atacante puede enviar una solicitud cuidadosamente diseñada a un servidor que es básicamente con codificación doble. Si esto ocurre, IIS puede aceptar una solicitud de lo contrario podría rechazar como no válidos. De forma predeterminada, esta opción se establece en 1. Si la opción VerifyNormalization se establece en 1, URLScan normaliza la dirección URL dos veces. Si la dirección URL después de la normalización primer es diferente de la dirección URL después de la normalización de segunda, URLScan rechaza la solicitud. Esto evita los ataques que dependen de las solicitudes codificadas doble.
  • AllowHighBitCharacters = 0

    De forma predeterminada, esta opción se establece en 0. Si esta opción se establece en 0, URLScan rechaza las solicitudes que contienen caracteres no ASCII. Esto puede impedir que determinados tipos de ataques, pero también puede bloquear de las solicitudes de determinados archivos legítimos, como archivos con nombres que no está en inglés.
  • AllowDotInPath = 0

    De forma predeterminada, esta opción se establece en 0. Si esta opción se establece en 0, URLScan rechaza las solicitudes que contiene varios puntos (.). Esto impide que intenta disfrazar las peticiones de extensión de archivo peligrosos colocando una extensión de archivo seguro en la ruta de acceso información o consulta en cadena parte de la dirección URL. Por ejemplo, si esta opción se establece en 1, URLScan podría permitir una solicitud de http://servername/BadFile.exe/SafeFile.htm porque considera que es una solicitud de una página HTML, cuando es realmente una solicitud para un archivo ejecutable (.exe) con el nombre de una página HTML en el área PATH_INFO. Cuando esta opción se establece en 0, URLScan también puede denegar las solicitudes de directorios que contienen puntos.
  • RemoveServerHeader = 0

    De forma predeterminada, un servidor Web devuelve un encabezado que identifica qué software de servidor Web se está ejecutando en todas las respuestas. Esto puede aumentar la vulnerabilidad del servidor porque un atacante puede determinar que está ejecutando un servidor IIS y, a continuación, problemas IIS, en lugar de intentar atacar un servidor IIS utilizando explotaciones que están diseñados para otros servidores Web conocidos de ataque. De forma predeterminada, esta opción se establece en 0. Si la opción RemoveServerHeader se establece a 1, impedir que el servidor se envíe el encabezado que lo identifica como un servidor IIS. Si RemoveServerHeader se establece en 0, todavía se enviará este encabezado.
  • AlternateServerName =(not specified by default)

    Si RemoveServerHeader está establecido en 0, puede especificar una cadena en la opción AlternateServerName para especificar lo que se pasarán en el encabezado de servidor. Si RemoveServerHeader está establecido en 1, se omite esta opción.
  • EnableLogging = 1

    De forma predeterminada, URLScan mantiene un registro completo de todas las solicitudes bloqueadas en % WINDIR%\System32\Inetsrv\URLScan. Puede establecer EnableLogging en 0 si no desea mantener este registro.
  • PerProcessLogging = 0

    De forma predeterminada, esta opción se establece en 0. Si esta opción se establece en 1, URLScan crea un registro independiente para cada proceso que aloja URLScan.dll. Si se establece en 0, todos los procesos registran en el archivo mismo.
  • PerDayLogging = 1

    De forma predeterminada, esta opción se establece en 1. Si este valor se establece en 1, URLScan crea un nuevo archivo de registro cada día. Cada archivo de registro se denomina URLScan. MMDDYY. log, donde MMDDYY es la fecha del archivo de registro. Si este valor se establece en 0, se guarda todo el registro en el mismo archivo, independientemente de la fecha.
  • AllowLateScanning = 0

    De forma predeterminada, esta opción se establece en 0. Si esta opción se establece en 0, URLScan se ejecuta como un filtro de prioridad alta, lo que significa que se ejecuta antes de cualquier otro Internet Server Application interfaz de programación (ISAPI) filtros que está instalado en el servidor. Si esta opción se establece en 1, URLScan se ejecuta como un filtro de baja prioridad, para que otros filtros puedan modificar la dirección URL antes de que URLScan realice cualquier análisis. Extensiones de servidor de FrontPage (FPSE) requiere esta opción se establece en 1.
  • RejectResponseUrl =(not specified by default)

    Esta opción especifica la ruta de acceso virtual a un archivo que se ejecuta cuando URLScan bloquea una solicitud. Esto permite personalizar la respuesta que se envía al cliente para solicitudes bloqueadas. Debe especificar RejectResponseUrl como una ruta de acceso virtual al archivo adecuado, como /Path/To/RejectResponseHandler.asp. Puede especificar un archivo que URLScan normalmente bloquea, como una página Active Server (ASP). También puede utilizar las siguientes variables de servidor de la página:
    • HTTP_URLSCAN_STATUS_HEADER : especifica por qué se bloqueó la solicitud.
    • HTTP_URLSCAN_ORIGINAL_VERB : Especifica el verbo original de la solicitud bloqueado (por ejemplo, GET, POST, HEAD o DEBUG).
    • HTTP_URLSCAN_ORIGINAL_URL : Especifica la dirección URL original de la solicitud bloqueada.
    Si establece RejectResponseUrl en el valor especial de / ~ * , URLScan utiliza el modo de sólo registro. Esto permite que IIS sirva todas las solicitudes, pero agrega una entrada en el registro URLScan para solicitudes que normalmente están bloqueados. Esto es útil si desea probar su URLScan.ini archivo.

    Si no especifica un valor para RejectResponseUrl , URLScan utiliza el valor predeterminado de /<Rejected-By-UrlScan>.

  • UseFastPathReject = 0

    De forma predeterminada, esta opción se establece en 0. Si esta opción se establece en 1, URLScan omite la opción RejectResponseUrl y vuelve inmediatamente un mensaje de error 404 al explorador. Esto es más rápido que procesar RejectResponseUrl pero no permite tantas opciones de registro. Si esta opción se establece en 0, URLScan utiliza la opción RejectResponseUrl para procesar la solicitud.

[AllowVerbs] y [DenyVerbs] secciones

Las secciones [AllowVerbs] y [DenyVerbs] definen los verbos HTTP (también conocido como métodos) que URLScan admite. Verbos HTTP comunes son GET, POST, HEAD y PUT. Otras aplicaciones, como por ejemplo, FPSE y Web Distributed Authoring and Versioning (WebDAV), utilizar verbos adicionales.

Secciones [DenyVerbs] y el [AllowVerbs] tienen la misma sintaxis. Se realizan copias de una lista de HTTP verbos y cada verbo aparece en su propia línea.

URLScan decide qué sección para utilizar según el valor de la opción UseAllowVerbs en la sección [Options] . De forma predeterminada, esta opción se establece en 1. Si se establece UseAllowVerbs en 1, URLScan sólo permite las solicitudes que utilizan los verbos que aparecen en la sección [AllowVerbs] . Se rechaza una solicitud que no utiliza uno de estos verbos. En este caso, se omite la sección [DenyVerbs] .

Si se establece UseAllowVerbs en 0, URLScan rechaza las solicitudes que utilizan verbos que explícitamente se muestran en la sección [DenyVerbs] . Se permiten las solicitudes que utilizan verbos que no aparecen en esta sección. En este caso, URLScan omite la sección [AllowVerbs] .

La sección [DenyHeaders]

Cuando un cliente solicita una página desde un servidor Web, normalmente se envía a través de algunos encabezados HTTP que contienen información adicional acerca de la solicitud. Encabezados HTTP comunes son las siguientes:
  • host:

    Este encabezado contiene el nombre del servidor Web.
  • acepte:

    Este encabezado define los tipos de archivo que puede controlar el cliente.
  • Agente de usuario:

    Este encabezado contiene el nombre del explorador que solicita la página.
  • autorización:

    Este encabezado define los métodos de autenticación que admite el cliente.
Los clientes pueden enviar otros encabezados al servidor para especificar información adicional.

En la sección [DenyHeaders] , puede definir encabezados HTTP que URLScan rechazará. Si URLScan recibe una solicitud que contiene cualquier encabezado que aparece en esta sección, rechaza la solicitud. Esta sección se compone de una lista de HTTP encabezados, con cada encabezado aparezca en su propia línea. Los nombres de encabezado deben ir seguidas dos puntos (:) (por ejemplo, nombre de encabezado: ).

[AllowExtensions] y [DenyExtensions] secciones

La mayoría de los archivos tienen la extensión archivo que identifica el tipo de archivo son. Por ejemplo, nombres de archivo para documentos de Word normalmente terminan en .doc, nombres de archivo HTML normalmente terminan en .htm o .HTML y nombres de archivo de texto sin formato normalmente terminan en .txt. Las secciones [AllowExtensions] y [DenyExtensions] permiten definir las extensiones que URLScan bloqueará. Por ejemplo, puede configurar URLScan para rechazar solicitudes de archivos .exe impedir que los usuarios de Web se ejecute aplicaciones en el sistema.

Secciones [DenyExtensions] y [AllowExtensions] de la tienen la misma sintaxis. Que se componen de una lista de extensiones de nombre de archivo y cada extensión aparece en su propia línea. La extensión comienza con un punto (.) (por ejemplo, .ext).

URLScan decide qué sección para utilizar basándose en el valor de UseAllowExtensions en la sección [Options] . De forma predeterminada, esta opción se establece en 0. Si se establece UseAllowExtensions en 0, URLScan rechaza sólo las solicitudes de archivo extensiones de nombre que se enumeran en la sección [DenyExtensions] . Se permite cualquier extensión de nombre de archivo que no se muestran en esta sección. Se omite la sección [AllowExtensions] .

Si se establece UseAllowExtensions en 1, URLScan rechaza las peticiones de cualquier archivo de extensiones de nombre que no se enumeran explícitamente en la sección [AllowExtensions] . Se permiten las solicitudes sólo para una extensión de archivo enumerados en esa sección. Se omite la sección [DenyExtensions] .

Para obtener información adicional acerca de cómo configurar URLScan para permitir las peticiones de archivos que no tienen una extensión, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
312376Cómo configurar URLScan para permitir solicitudes con una extensión nula en IIS

La sección [DenyUrlSequences]

Puede configurar URLScan para bloquear las solicitudes que contengan ciertas secuencias de caracteres en la dirección URL. Por ejemplo, puede bloquear las solicitudes que contengan dos puntos consecutivos (), que se utilizan con frecuencia con ataques que aprovechan las vulnerabilidades de recorrido de directorio. Para especificar una secuencia de caracteres para bloquear, se pueden colocar la secuencia en una línea por sí mismo en la sección [DenyUrlSequences] .

Tenga en cuenta que agregar secuencias de caracteres puede afectar negativamente a Outlook Web Access (OWA) para Microsoft Exchange. Cuando abre un mensaje desde OWA, la línea de asunto del mensaje está contenida en la dirección URL que se solicita desde el servidor. Porque el archivo URLScan.ini bloqueará las solicitudes que contienen el signo de porcentaje (%) y el signo de y comercial (&), los usuarios reciben un mensaje de error 404 cuando intenten abrir un mensaje con una línea de asunto como "Ventas incrementar en un 100 %" o "Juan y Ana vienen a Ciudad". Para resolver este problema, puede quitar estas secuencias de lasección [DenyUrlSequences] . Tenga en cuenta que esto reduce de seguridad porque permite potencialmente dañinos solicitudes para alcanzar el servidor.

Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
325965La herramienta URLScan puede causar problemas en Outlook Web Access

Configurar URLScan para su uso con aplicaciones dependientes de IIS

Aplicaciones como Exchange, FPSE y Microsoft Visual Studio .NET dependen de IIS para la funcionalidad correcta. Si URLScan no se configura correctamente, estas aplicaciones pueden dejar de funcionar correctamente.

Para obtener información adicional acerca de cómo configurar URLScan para trabajar con estas aplicaciones, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
309508Configuraciones del Asistente para bloqueo de IIS y URLScan en un entorno de Exchange
309394Cómo utilizar URLScan con FrontPage 2000
318290Cómo utilizar URLScan con FrontPage 2002
310588Security Toolkit interrumpe la depuración de ASP.NET en Visual Studio .NET

Más información

Si no existe el archivo URLScan.ini en la carpeta %WINDIR%\System32\Inetsrv\URLscan, el cliente recibirá una respuesta de 404 error. Para resolver este problema, restaurar el archivo URLScan.ini desde una copia de seguridad o copie el archivo URLScan.ini desde un servidor idéntico.

Referencias

Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
325864Cómo instalar y utilizar al Asistente para bloqueo de IIS

Propiedades

Id. de artículo: 326444 - Última revisión: lunes, 07 de julio de 2008 - Versión: 6.1
La información de este artículo se refiere a:
  • Microsoft Internet Information Server 4.0
  • Servicios de Microsoft Internet Information Server 5.0
Palabras clave: 
kbmt kbhowtomaster KB326444 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 326444

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com