Como configurar o URLScan Tool

Traduções deste artigo Traduções deste artigo
ID do artigo: 326444 - Exibir os produtos aos quais esse artigo se aplica.
É altamente recomendável que todos os usuários atualizem para Microsoft (IIS) versão 7.0 em execução no Microsoft Windows Server 2008. O IIS 7.0 aumenta significativamente a segurança de infra-estrutura da Web. Para obter mais informações sobre tópicos relacionados à segurança do IIS, visite o seguinte site:
http://www.microsoft.com/technet/security/prodtech/IIS.mspx
Para obter mais informações sobre o IIS 7.0, visite o seguinte site:
http://www.iis.net/default.aspx?tabid=1
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo passo a passo explica como configurar a ferramenta URLScan para proteger seu servidor Web contra ataques e vulnerabilidades.

Instalar o URLScan

Para instalar o URLScan, visite o Microsoft Developer seguinte site da Network (MSDN):
http://msdn2.microsoft.com/en-us/library/aa302368.aspx
Para obter informações adicionais, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
307608Usar o URLScan no IIS

Modificar o arquivo URLScan.ini

Todas as configurações do URLScan é realizada por meio o URLScan.ini arquivo, que está localizado na pasta %WINDIR%\System32\Inetsrv\URLscan. Para configurar o URLScan, abra esse arquivo em um editor de texto, como o bloco de notas, faça as alterações e salve o arquivo.

Observação Você deve reiniciar (IIS) para que as alterações entrem em vigor. Uma maneira de você pode fazer isso rapidamente é executar o comando IISRESET em um prompt de comando.

O arquivo URLScan.ini contém as seções a seguir:
  • [Opções] : esta seção descreve opções gerais do URLScan.
  • [AllowVerbs] e [DenyVerbs] : esta seção define os verbos (também conhecidos como métodos HTTP) que permite que o URLScan.
  • [DenyHeaders] : esta seção lista de cabeçalhos HTTP que não são permitidos em uma solicitação HTTP. Se uma solicitação HTTP contiver um dos cabeçalhos de HTTP são listados nesta seção, o URLScan rejeita a solicitação.
  • [AllowExtensions] e [DenyExtensions] : esta seção define as extensões de nome de arquivo que permite que o URLScan.
  • [DenyURLSequences] : esta seção lista cadeias de caracteres que não são permitidas em um HTTP solicitação. O URLScan rejeita solicitações HTTP que contêm uma seqüência de caracteres que aparece nesta seção.
Cada seção será descrita em mais detalhes neste documento.

A seção [Options]

Na seção [Options] , você pode configurar um número de opções do URLScan. Cada linha nesta seção tem o seguinte formato:
OptionName= OptionValue
As opções disponíveis e seus valores padrão são:
  • UseAllowVerbs = 1

    Por padrão, essa opção é definida como 1. Se esta opção estiver definida como 1, o URLScan só permite que as solicitações HTTP que usam os verbos que estão listados na seção [AllowVerbs] . O URLScan bloqueia qualquer solicitação que não usam esses verbos. Se esta opção estiver definida como 0, URLScan ignora a seção [AllowVerbs] e, em vez disso, bloqueia somente solicitações que usam verbos que estão listados na seção [DenyVerbs] .
  • UseAllowExtensions = 0

    Por padrão, essa opção é definida como 0. Se essa opção é definida como 0, URLScan bloqueia solicitações de extensões de nome de arquivo que estão listadas na seção [DenyExtensions] , mas permite que as solicitações de quaisquer outras extensões de nome de arquivo. Se essa opção é definida como 1, URLScan só permite que as solicitações de arquivos com extensões que estão listados na seção [AllowExtensions] e bloqueia solicitações para quaisquer outros arquivos.
  • NormalizeUrlBeforeScan = 1

    O IIS recebe solicitações que são codificado de URL. Isso significa que determinados caracteres podem ser substituídos por um sinal de porcentagem (%) seguido de um determinado número. Por exemplo, 20 % corresponde a um espaço, portanto, uma solicitação para http://myserver/My%20Dir/My%20File.htm é o mesmo que uma solicitação para http://myserver/My Dir/My File.htm. Normalização é o processo de decodificação solicitações codificadas por URL. Por padrão, essa opção é definida como 1. Se a opção NormalizeUrlBeforeScan é definida como 1, o URLScan analisa a solicitação decodificada. Se ele for definido como 0, o URLScan analisa a solicitação undecoded. Definir esta opção como 0 impede a capacidade do URLScan de bloquear determinados tipos de ataques.
  • VerifyNormalization = 1

    Como o sinal de porcentagem (%) próprio pode ser codificado de URL, um invasor pode enviar uma solicitação cuidadosamente desenvolvida para um servidor que é basicamente com codificação dupla. Se isso ocorrer, o IIS pode aceitar uma solicitação que caso contrário, seria rejeitar como não é válido. Por padrão, essa opção é definida como 1. Se a opção de VerifyNormalization é definida como 1, o URLScan normaliza o URL duas vezes. Se a URL após a normalização primeira for diferente da URL após a normalização segunda, o URLScan rejeita a solicitação. Isso impede ataques que contam com solicitações de codificação dupla.
  • AllowHighBitCharacters = 0

    Por padrão, essa opção é definida como 0. Se esta opção estiver definida como 0, o URLScan rejeita as solicitações que contêm caracteres não-ASCII. Isso pode impedir que certos tipos de ataques, mas ele também pode bloquear solicitações para determinados arquivos legítimos, como arquivos com nomes que não sejam o inglês.
  • AllowDotInPath = 0

    Por padrão, essa opção é definida como 0. Se esta opção estiver definida como 0, o URLScan rejeita qualquer solicitação que contém vários pontos (.). Isso impede que tenta disfarce solicitações de extensões de nome de arquivo perigoso, colocando uma extensão de arquivo seguro no caminho informações ou consulta seqüência parte do URL. Por exemplo, se esta opção estiver definida como 1, o URLScan pode permitir uma solicitação para http://servername/BadFile.exe/SafeFile.htm que porque ele considera que ele é uma solicitação para uma página HTML, quando ele é realmente uma solicitação para um arquivo executável (.exe) com o nome de uma página HTML na área de PATH_INFO. Quando essa opção é definida 0, URLScan também pode negar solicitações de diretórios que contêm pontos.
  • RemoveServerHeader = 0

    Por padrão, um servidor Web retorna um cabeçalho que identifica o software de servidor Web estiver sendo executado em todas as respostas. Isso pode aumentar a vulnerabilidade do servidor porque um invasor pode determinar que um servidor esteja executando IIS e, em seguida, ataque conhecido problemas do IIS, em vez de tentar atacar um servidor IIS usando explorações que são projetadas para outros servidores Web. Por padrão, essa opção é definida como 0. Se você definir a opção RemoveServerHeader como 1, você impede que o servidor enviar o cabeçalho que o identifica como um servidor IIS. Se você definir RemoveServerHeader como 0, esse cabeçalho ainda será enviado.
  • =(not specified by default) alternativo

    Se RemoveServerHeader é definido como 0, você pode especificar uma seqüência de caracteres na opção alternativo para especificar o que será passado novamente no cabeçalho do servidor. Se RemoveServerHeader é definido como 1, esta opção será ignorada.
  • EnableLogging = 1

    Por padrão, o URLScan mantém um log completo de todas as solicitações bloqueadas em % WINDIR%\System32\Inetsrv\URLScan. Você pode definir EnableLogging como 0 se desejar manter esse log.
  • PerProcessLogging = 0

    Por padrão, essa opção é definida como 0. Se esta opção estiver definida como 1, o URLScan cria um log separado para cada processo que hospeda o URLScan.dll. Se ele estiver definido como 0, todos os processos efetuar o mesmo arquivo.
  • PerDayLogging = 1

    Por padrão, essa opção é definida como 1. Se esse valor é definido como 1, o URLScan cria um novo arquivo de log diariamente. Cada arquivo de log é chamado de URLScan. MMDDYY .log, onde MMDDYY é a data do arquivo de log. Se esse valor é definido como 0, todos os log será salvo no mesmo arquivo, independentemente da data.
  • AllowLateScanning = 0

    Por padrão, essa opção é definida como 0. Se esta opção estiver definida como 0, o URLScan é executado como um filtro de alta prioridade, que significa que ele seja executado antes de qualquer outro Internet Server ISAPI Application Programming Interface () filtros que é instalados no servidor. Se esta opção estiver definida como 1, o URLScan é executado como um filtro de prioridade baixa, para que outros filtros podem modificar o URL antes de URLScan executa qualquer análise. Extensões de servidor do FrontPage (FPSE) requer esta opção para ser definido como 1.
  • RejectResponseUrl =(not specified by default)

    Esta opção especifica o caminho virtual para um arquivo que é executado quando o URLScan bloqueia uma solicitação. Isso lhe permite personalizar a resposta é enviada para o cliente para solicitações bloqueadas. Você deve especificar RejectResponseUrl como um caminho virtual para o arquivo apropriado, como /Path/To/RejectResponseHandler.asp. Você pode especificar um arquivo que o URLScan bloqueia normalmente, como uma página Active Server Pages (ASP). Você também pode usar as seguintes variáveis de servidor da página:
    • HTTP_URLSCAN_STATUS_HEADER : ele específica por que a solicitação foi bloqueada.
    • HTTP_URLSCAN_ORIGINAL_VERB : ele específica o verbo original da solicitação de bloqueados (por exemplo, GET, POST, HEAD ou DEBUG).
    • HTTP_URLSCAN_ORIGINAL_URL : Isto especifica a URL original da solicitação de bloqueados.
    Se você definir RejectResponseUrl como o valor especial de / ~ * , URLScan usa o modo somente de log. Isso permite que o IIS para servir todas as solicitações, mas ele adiciona uma entrada no log do URLScan para quaisquer solicitações que normalmente são bloqueadas. Isso é útil se você deseja testar o URLScan.ini arquivo.

    Se você não especificar um valor para RejectResponseUrl , URLScan usa o valor padrão de /<Rejected-By-UrlScan>.

  • UseFastPathReject = 0

    Por padrão, essa opção é definida como 0. Se esta opção é definida como 1, URLScan ignora a configuração RejectResponseUrl e retorna imediatamente uma mensagem de 404 erro para o navegador. Isso é mais rápido do que processando RejectResponseUrl , mas ele não permite tantas opções de log. Se esta opção estiver definida como 0, o URLScan utiliza a configuração RejectResponseUrl para processar a solicitação.

[AllowVerbs] e [DenyVerbs] seções

As seções [AllowVerbs] e [DenyVerbs] definem os verbos HTTP (também conhecidos como métodos) que permite que o URLScan. Verbos HTTP comuns são GET, POST, HEAD e PUT. Outros aplicativos, como o FPSE e Web Distributed Authoring and Versioning (WebDAV), usar verbos adicionais.

Tanto o [AllowVerbs] e as seções [DenyVerbs] têm a mesma sintaxe. Eles são feitos backup de uma lista de HTTP verbos e cada verbo aparece em sua própria linha.

URLScan decide qual seção para usar com base no valor da opção UseAllowVerbs na seção [Options] . Por padrão, essa opção é definida como 1. Se UseAllowVerbs é definido como 1, o URLScan permite somente solicitações que usam os verbos que estão listados na seção [AllowVerbs] . Uma solicitação que não use um desses verbos será rejeitada. Nesse caso, a seção [DenyVerbs] é ignorada.

Se UseAllowVerbs é definido como 0, o URLScan nega solicitações que usam verbos que estão listados explicitamente na seção [DenyVerbs] . Qualquer solicitações que usam verbos que não são exibidas nesta seção são permitidas. Nesse caso, o URLScan ignora a seção [AllowVerbs] .

A seção [DenyHeaders]

Quando um cliente solicita uma página de um servidor Web, ele geralmente envia sobre alguns cabeçalhos HTTP que contêm informações adicionais sobre a solicitação. Cabeçalhos HTTP comuns incluem o seguinte:
  • host:

    Este cabeçalho contém o nome do servidor Web.
  • Aceitar:

    Este cabeçalho define os tipos de arquivo o cliente pode manipular.
  • agente do usuário:

    Este cabeçalho contém o nome do navegador que solicita a página.
  • autorização:

    Este cabeçalho define os métodos de autenticação que o cliente oferece suporte.
Os clientes podem enviar outros cabeçalhos para o servidor para especificar informações adicionais.

Na seção [DenyHeaders] , você definir cabeçalhos HTTP que o URLScan rejeitará. Se o URLScan recebe uma solicitação que contém qualquer cabeçalho listado nesta seção, ele rejeitará a solicitação. Esta seção é composta de uma lista de HTTP cabeçalhos, com cada cabeçalho aparecendo em sua própria linha. Nomes de cabeçalho devem ser seguidos por dois-pontos (:) (por exemplo, nome do cabeçalho: ).

[AllowExtensions] e [DenyExtensions] seções

A maioria dos arquivos têm uma extensão que identifica o tipo de arquivo estiverem. Por exemplo, nomes de arquivo para o Word normalmente documentos end em .doc, nomes de arquivo HTML normalmente terminam em .htm ou .HTML, e nomes de arquivo de texto sem formatação normalmente terminam em .txt. As seções [AllowExtensions] e [DenyExtensions] permite que você definir as extensões que URLScan bloqueará. Por exemplo, você pode configurar o URLScan para rejeitar solicitações de arquivos .exe impedir que usuários da Web executando aplicativos no seu sistema.

Tanto o [AllowExtensions] e as seções [DenyExtensions] têm a mesma sintaxe. Eles são compostos de uma lista de extensões de nome de arquivo, e cada extensão aparece em sua própria linha. A extensão começa com um ponto (.) (por exemplo, .ext).

URLScan decide qual seção para usar com base no valor de UseAllowExtensions na seção [Options] . Por padrão, essa opção é definida como 0. Se UseAllowExtensions é definido como 0, o URLScan nega somente solicitações para arquivo de extensões de nome que estão listadas na seção [DenyExtensions] . Extensões de qualquer nome de arquivo que não estão listadas nesta seção são permitidas. A seção [AllowExtensions] é ignorada.

Se UseAllowExtensions é definido como 1, o URLScan nega solicitações para qualquer arquivo de extensões de nome que não estão listadas explicitamente na seção [AllowExtensions] . Somente solicitações para uma extensão de nome de arquivo que está listado dessa seção são permitidas. A seção [DenyExtensions] é ignorada.

Para obter informações adicionais sobre como configurar o URLScan para permitir solicitações de arquivos que não têm uma extensão, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
312376Como configurar o URLScan para permitir solicitações com uma extensão nula no IIS

A seção [DenyUrlSequences]

Você pode configurar o URLScan para bloquear solicitações que contêm certas seqüências de caracteres no URL. Por exemplo, você pode bloquear solicitações que contém dois pontos consecutivos (.), que são usados com freqüência com explorações que aproveitam as vulnerabilidades de passagem de diretório. Para especificar uma seqüência de caracteres para bloquear, colocar a seqüência em uma linha por si só na seção [DenyUrlSequences] .

Observe que adicionar seqüências de caracteres pode afetar afetar Outlook Web Access (OWA) para o Microsoft Exchange. Quando você abre uma mensagem do OWA, a linha de assunto da mensagem está contida na URL é solicitada do servidor. Porque o arquivo URLScan.ini bloqueia qualquer solicitações que contenham o sinal de porcentagem (%) e o sinal de "e" comercial (&), os usuários receber uma mensagem de 404 Erro ao tentar abrir uma mensagem com uma linha de assunto como "Vendas aumenta em 100 %" ou "Bob & Sue estão vindo cidade". Para resolver esse problema, você pode remover essas seqüências daseção [DenyUrlSequences] . Observe que isso reduz a segurança porque ela permite potencialmente prejudiciais solicitações para alcançar o servidor.

Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
325965A ferramenta URLScan pode causar problemas no Outlook Web Access

Configurar o URLScan para uso com aplicativos dependentes do IIS

Aplicativos como o Exchange, o FPSE e o Microsoft Visual Studio .NET dependem do IIS para a funcionalidade correta. Se você não configurar o URLScan corretamente, esses aplicativos podem parar de funcionar corretamente.

Para obter informações adicionais sobre como configurar o URLScan para trabalhar com esses aplicativos, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
309508Configurações de IIS Lockdown e URLscan em um ambiente do Exchange
309394Como usar o URLScan com o FrontPage 2000
318290Como usar o URLScan com o FrontPage 2002
310588Kit de ferramentas de segurança interrompe a depuração do ASP.NET no Visual Studio .NET

Mais Informações

Se o URLScan.ini não existir na pasta %WINDIR%\System32\Inetsrv\URLscan, o cliente receberá uma resposta de 404 erro. Para resolver esse problema, restaure o arquivo URLScan.ini de um backup ou copie o arquivo URLScan.ini de um servidor idêntico.

Referências

Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
325864Como instalar e usar o Assistente de bloqueio do IIS

Propriedades

ID do artigo: 326444 - Última revisão: segunda-feira, 7 de julho de 2008 - Revisão: 6.1
A informação contida neste artigo aplica-se a:
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
Palavras-chave: 
kbmt kbhowtomaster KB326444 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 326444

Submeter comentários

 

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