Como configurar a ferramenta URLScan

Traduções de Artigos Traduções de Artigos
Artigo: 326444 - Ver produtos para os quais este artigo se aplica.
Recomendamos vivamente que todos os utilizadores actualizem para Microsoft (IIS) versão 7.0 em execução no Microsoft Windows Server 2008. O IIS 7.0 aumenta significativamente a segurança da infra-estrutura Web. Para mais informações sobre tópicos relacionados com a segurança do IIS, visite o seguinte Web site da Microsoft:
http://www.microsoft.com/technet/security/prodtech/IIS.mspx
Para obter mais informações sobre o IIS 7.0, visite o seguinte Web site da Microsoft:
http://www.iis.net/default.aspx?tabid=1
Expandir tudo | Reduzir tudo

Nesta página

Sumário

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

Instalar URLScan

Para instalar URLScan, visite o seguinte Microsoft Developer Network) Web site da MSDN:
http://msdn2.microsoft.com/en-us/library/aa302368.aspx
Para obter informações adicionais, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
307608Utilizam o URLScan no IIS

Modificar o ficheiro URLScan.ini

Toda a configuração do URLScan é efectuada através do URLScan.ini ficheiro, que está localizado na pasta %WINDIR%\System32\Inetsrv\URLscan. Para configurar o URLScan, abrir este ficheiro num editor de texto, tal como o bloco de notas, efectue as alterações apropriadas e, em seguida, guarde o ficheiro.

Nota Tem de reiniciar (IIS) para que as alterações entrem em vigor. Uma forma pode fazê-lo rapidamente é executar o comando IISRESET numa linha de comandos.

O ficheiro URLScan.ini contém as seguintes secções:
  • [opções] : Esta secção descreve opções gerais do URLScan.
  • [AllowVerbs] e [DenyVerbs] : Esta secção define os verbos (também conhecido como métodos HTTP) que permite a URLScan.
  • [DenyHeaders] : Esta secção lista cabeçalhos de HTTP que não são permitidos num pedido de HTTP. Se um pedido de HTTP contém um dos cabeçalhos de HTTP são listados nesta secção, o URLScan rejeita o pedido.
  • [AllowExtensions] e [DenyExtensions] : Esta secção define as extensões de ficheiro que permite a URLScan.
  • [DenyURLSequences] : Esta secção lista as cadeias que não são permitidas em HTTP pedido. O URLScan rejeita pedidos HTTP que contêm uma cadeia que aparece nesta secção.
Cada secção será descrita mais detalhadamente neste documento.

A secção [Options]

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

    Por predefinição, esta opção é definida como 1. Se esta opção estiver definida como 1, o URLScan permite apenas pedidos HTTP que utilizam os verbos que estão listados na secção [AllowVerbs] . URLScan bloqueia quaisquer pedidos que não utilizam estes verbos. Se esta opção estiver definida como 0, URLScan ignora a secção [AllowVerbs] e, em vez disso, bloqueia apenas pedidos utilizar verbos listados na secção [DenyVerbs] .
  • UseAllowExtensions = 0

    Por predefinição, esta opção é definida como 0. Se esta opção estiver definida como 0, o URLScan bloqueia pedidos para extensões de nome de ficheiro listados na secção [DenyExtensions] , mas permite pedidos para quaisquer outras extensões de ficheiros. Se esta opção é definida como 1, o URLScan permite apenas pedidos de ficheiros com extensões que estão listados na secção [AllowExtensions] e bloqueia pedidos de quaisquer outros ficheiros.
  • NormalizeUrlBeforeScan = 1

    O IIS recebe pedidos URL codificado. Isto significa que determinados caracteres poderão ser substituídos por um sinal de percentagem (%) seguido de um determinado número. Por exemplo, % 20 corresponde a um espaço, por isso um pedido de http://myserver/My%20Dir/My%20File.htm é o mesmo que um pedido de http://myserver/My Dir/My File.htm. Normalização é o processo de descodificação pedidos codificados em URL. Por predefinição, esta opção é definida como 1. Se a opção NormalizeUrlBeforeScan estiver definida como 1, o URLScan analisa o pedido descodificado. Se estiver definido como 0, o URLScan analisa o pedido undecoded em vez disso. Definir esta opção para 0 impede a capacidade do URLScan bloqueia determinados tipos de ataques.
  • VerifyNormalization = 1

    Uma vez que o sinal de percentagem (%) propriamente dito pode ser URL codificado, um intruso pode submeter um pedido especialmente concebido cuidadosamente o efeito num servidor que é basicamente duas codificado. Se isto ocorrer, o IIS pode aceitar um pedido que caso contrário, iria rejeitar como não é válido. Por predefinição, esta opção é definida como 1. Se a opção VerifyNormalization estiver definida como 1, o URLScan normaliza o URL duas vezes. Se o URL após a normalização primeiro for diferente do URL após a normalização de segunda, o URLScan rejeita o pedido. Isto impede ataques que dependem de pedidos codificados duplo.
  • AllowHighBitCharacters = 0

    Por predefinição, esta opção é definida como 0. Se esta opção estiver definida como 0, o URLScan rejeita quaisquer pedidos que contêm caracteres não ASCII. Isto pode impedir determinados tipos de ataques, mas também pode bloquear todas as requisições de determinados ficheiros legítimos, tais como ficheiros com nomes que não o inglês.
  • AllowDotInPath = 0

    Por predefinição, esta opção é definida como 0. Se esta opção estiver definida como 0, o URLScan rejeita qualquer pedido que contém vários pontos finais (.). Isto evita tentativas Disfarce pedidos de extensões de ficheiros perigosos, colocando uma extensão de ficheiro seguro com a parte de cadeia de caminho informações ou consulta, do URL. Por exemplo, se esta opção estiver definida como 1, o URLScan pode permitir um pedido de http://servername/BadFile.exe/SafeFile.htm porque ele considera que é um pedido de uma página HTML, quando é realmente um pedido de um ficheiro executável (.exe) com o nome de uma página HTML na área de PATH_INFO. Quando esta opção é definida 0, URLScan também pode negar pedidos de directórios que contêm pontos.
  • RemoveServerHeader = 0

    Por predefinição, um servidor da Web devolve um cabeçalho que identifica o software do servidor Web está a ser executado em todas as respostas. Isto pode aumentar a Vulnerabilidade do servidor porque um intruso pode determinar que um servidor está em execução IIS e, em seguida, o ataque conhecido problemas do IIS, em vez de tentar atacar um servidor de IIS utilizando exploits concebidos para outros servidores Web. Por predefinição, esta opção é definida como 0. Se definir a opção RemoveServerHeader para 1, impede que o servidor enviar o cabeçalho identifica-o como um servidor IIS. Se definir RemoveServerHeader como 0, este cabeçalho ainda é enviado.
  • AlternateServerName =(not specified by default)

    Se RemoveServerHeader estiver definido como 0, pode especificar uma cadeia na opção AlternateServerName para especificar que será transmitido novamente no cabeçalho do servidor. Se RemoveServerHeader estiver definido como 1, esta opção é ignorada.
  • EnableLogging = 1

    Por predefinição, o URLScan mantém um registo completo de todos os pedidos bloqueados no % WINDIR%\System32\Inetsrv\URLScan. Pode definir EnableLogging como 0 se não pretender manter este registo.
  • PerProcessLogging = 0

    Por predefinição, esta opção é definida como 0. Se esta opção estiver definida como 1, o URLScan cria um registo separado para cada processo que hospeda URLScan.dll. Se estiver definido como 0, todos os processos iniciar sessão para o mesmo ficheiro.
  • PerDayLogging = 1

    Por predefinição, esta opção é definida como 1. Se este valor é definido como 1, o URLScan cria um novo ficheiro de registo diariamente. Cada ficheiro de registo chama Urlscan. MMDDYY. log, em que MMDDYY é a data do ficheiro de registo. Se este valor é definido como 0, todos os registo é guardado no mesmo ficheiro, independentemente da data.
  • AllowLateScanning = 0

    Por predefinição, esta opção é definida como 0. Se esta opção estiver definida como 0, o URLScan é executado como um filtro de elevada prioridade, que significa que é executado antes de quaisquer outros Internet ISAPI Server Application Programming Interface () de 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 do URLScan executa qualquer análise. As 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 ficheiro que é executada quando o URLScan bloqueia um pedido. Isto permite-lhe personalizar a resposta que é enviada para o cliente para os pedidos bloqueados. Tem de especificar RejectResponseUrl como um caminho virtual para o ficheiro adequado, tal como /Path/To/RejectResponseHandler.asp. Pode especificar um ficheiro URLScan normalmente bloqueia, tal como uma página ASP (Active Server Pages). Também pode utilizar as seguintes variáveis de servidor a partir da página:
    • HTTP_URLSCAN_STATUS_HEADER : esta chave especifica porque o pedido foi bloqueado.
    • HTTP_URLSCAN_ORIGINAL_VERB : esta chave especifica o verbo original do pedido de bloqueado (por exemplo, GET, POST, HEAD ou depuração).
    • HTTP_URLSCAN_ORIGINAL_URL : esta chave especifica o URL original do pedido de bloqueado.
    Se definir RejectResponseUrl para o valor especial de / ~ * , URLScan utiliza o modo só de registo. Isto permite que o IIS para servir todos os pedidos, mas adiciona uma entrada no registo do URLScan para quaisquer pedidos que são normalmente bloqueadas. Isto é útil se pretender testar o URLScan.ini ficheiro.

    Se não especificar um valor para RejectResponseUrl , URLScan utiliza o valor predefinido de /<Rejected-By-UrlScan>.

  • UseFastPathReject = 0

    Por predefinição, esta opção é definida como 0. Se esta opção estiver definida como 1, URLScan ignora a definição RejectResponseUrl e imediatamente devolve uma mensagem de 404 erro ao browser. Isto é mais rápido do que processar RejectResponseUrl , mas não permite tantos opções de registo. Se esta opção estiver definida como 0, o URLScan utiliza a definição RejectResponseUrl para processar o pedido.

[AllowVerbs] e secções [DenyVerbs]

As secções [AllowVerbs] e [DenyVerbs] definem os verbos HTTP (também conhecido como métodos) que permite a URLScan. Verbos de HTTP comuns incluem GET, POST, HEAD e PUT. Outras aplicações, tais como o FPSE e Web Distributed Authoring and Versioning (WebDAV), utilizar verbos adicionais.

O [AllowVerbs] e as secções [DenyVerbs] têm a mesma sintaxe. Estas são efectuadas cópias de uma lista de HTTP verbos e cada verbo aparece numa linha própria.

O URLScan decide que secção utilizar baseado no valor da opção UseAllowVerbs na secção [Options] . Por predefinição, esta opção é definida como 1. Se UseAllowVerbs estiver definido como 1, o URLScan permite apenas pedidos que utilizam os verbos que estão listados na secção [AllowVerbs] . Um pedido que não utilize um destes verbos será rejeitado. Neste caso, a secção [DenyVerbs] é ignorada.

Se UseAllowVerbs estiver definido como 0, o URLScan nega pedidos que utilizam verbos que forem listados explicitamente na secção [DenyVerbs] . São permitidos quaisquer pedidos utilizar verbos que não são apresentados nesta secção. Neste caso, o URLScan ignora a secção [AllowVerbs] .

A secção [DenyHeaders]

Quando um cliente pede uma página a partir de um servidor Web, normalmente envia através de alguns cabeçalhos de HTTP que contêm informações adicionais sobre o pedido. Cabeçalhos de HTTP comuns incluem:
  • anfitrião:

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

    Este cabeçalho define os tipos de ficheiro pode tratar o cliente.
  • agente do utilizador:

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

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

Na secção [DenyHeaders] , pode definir cabeçalhos de HTTP URLScan rejeitará. Se o URLScan recebe um pedido que contém qualquer cabeçalho listado nesta secção, rejeita o pedido. Esta secção é constituída por uma lista de HTTP cabeçalhos, com cada cabeçalho aparece numa linha própria. Nomes de cabeçalho devem seguir-se dois pontos (:) (por exemplo, nome do cabeçalho: ).

[AllowExtensions] e [DenyExtensions] secções

A maior parte dos ficheiros têm uma extensão de ficheiro identifica o tipo de ficheiro são. Por exemplo, nomes de ficheiros para Word documentos normalmente fim em .doc, nomes de ficheiro HTML normalmente terminam .htm ou .HTML e nomes de ficheiro de texto simples, normalmente, terminam em .txt. As secções [AllowExtensions] e [DenyExtensions] permitem definir extensões URLScan bloqueará. Por exemplo, pode configurar o URLScan para rejeitar solicitações de arquivos .exe impedir que utilizadores Web executar aplicações no sistema.

O [AllowExtensions] e as secções [DenyExtensions] têm a mesma sintaxe. Estes são constituídos por uma lista de extensões nome de ficheiro e cada extensão aparece numa linha própria. A extensão começa com um ponto (.) (por exemplo, .ext).

O URLScan decide que secção utilizar baseado no valor de UseAllowExtensions na secção [Options] . Por predefinição, esta opção é definida como 0. Se UseAllowExtensions estiver definido como 0, URLScan impede apenas pedidos de ficheiro extensões que estão listados na secção [DenyExtensions] . As extensões de ficheiros que não estão listadas nesta secção são permitidos. A secção [AllowExtensions] é ignorada.

Se UseAllowExtensions é definido como 1, o URLScan nega pedidos de qualquer ficheiro extensões que não estejam listados explicitamente na secção [AllowExtensions] . São permitidos pedidos únicos de uma extensão de ficheiro listados na secção. A secção [DenyExtensions] é ignorada.

Para obter informações adicionais sobre como configurar o URLScan para permitir pedidos de ficheiros que não têm uma extensão, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
312376Como configurar o URLScan para permitir pedidos com uma extensão de um valor nulo no IIS

A secção [DenyUrlSequences]

Pode configurar o URLScan para bloquear pedidos que contêm determinadas sequências de caracteres no URL. Por exemplo, pode bloquear pedidos que contêm dois pontos consecutivos (.), que são frequentemente utilizados com explorações tirar partido das vulnerabilidades do directório transversal. Para especificar uma sequência de caracteres para bloquear, colocar a sequência numa linha por si própria na secção [DenyUrlSequences] .

Tenha em atenção que adicionar sequências de caracteres pode afectar negativamente Outlook Web Access (OWA) para o Microsoft Exchange. Quando abre uma mensagem a partir do OWA, a linha de assunto da mensagem está contida no URL que é pedido a partir do servidor. Uma vez que o ficheiro URLScan.ini bloqueia todos os pedidos que contêm o sinal de percentagem (%) e o sinal de "e" comercial (&), os utilizadores recebem uma mensagem de 404 erro quando tentam abrir uma mensagem com uma linha de assunto como "Aumentar vendas em 100 %" ou "João & Sónia convidámos cidade". Para resolver este problema, pode remover estes sequências a partir desecção [DenyUrlSequences] . Tenha em atenção que isto reduz a segurança porque permite potencialmente prejudiciais pedidos para alcançar o servidor.

Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
325965A ferramenta URLScan pode causar problemas no Outlook Web Access

Configurar o URLScan para ser utilizado com aplicações dependentes do IIS

Aplicações como o Exchange, FPSE e Microsoft Visual Studio .NET depende do IIS para a funcionalidade correcta. Se não configurar correctamente o URLScan, estas aplicações podem deixar de funcionar correctamente.

Para obter informações adicionais sobre como configurar o URLScan para trabalhar com estas aplicações, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
309508Configurações do IIS Lockdown e URLscan num ambiente do Exchange
309394Como utilizar o URLScan com o FrontPage 2000
318290Como utilizar o URLScan com o FrontPage 2002
310588Segurança toolkit quebras de depuração de ASP.NET no Visual Studio .NET

Mais Informação

Se o URLScan.ini não existir na pasta %WINDIR%\System32\Inetsrv\URLscan, o cliente receberá uma resposta de 404 erro. Para resolver este problema, restaure o ficheiro URLScan.ini a partir de uma cópia de segurança ou copie o ficheiro URLScan.ini de um servidor idêntico.

Referências

Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
325864Como instalar e utilizar o Assistente de bloqueio do IIS

Propriedades

Artigo: 326444 - Última revisão: 7 de julho de 2008 - Revisão: 6.1
A informação contida neste artigo aplica-se a:
  • Microsoft Internet Information Server 4.0
  • Serviços de informação Internet 5.0 da Microsoft
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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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