Pedidos de cabeçalho do IIS CGI proxy_http poderão ser redireccionados

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: 3179800
Sintomas
Quando utiliza a funcionalidade do IIS Common Gateway Interface (CGI) para hospedar um programa executável que utilizar uma biblioteca de determinados para redirecionar solicitações, podem ser ilegítimos pedidos baseado na presença de um cabeçalho de pedido de "PROXY". Várias plataformas de aplicação da web são conhecidas para utilizar esta biblioteca. Estas incluem PHP, Python e ir, entre outros.
Causa
CGI é uma interface que permite a um servidor web para hospedar aplicações que são executados como processos executáveis. Quando é recebido um pedido por um servidor web, o servidor inicia um novo processo para processar este pedido único. Quando o pedido estiver concluído, o processo termina. Na ordem para o processo ter acesso aos dados do pedido, os cabeçalhos de pedido são incluídos como variáveis de ambiente que tenham "HTTP _" pré-concebido para o respectivo nome. Assim, os processos CGI para pedidos que contêm um cabeçalho com o nome "Proxy" têm uma variável de ambiente "Proxy_http" que tenham o mesmo valor que o cabeçalho do pedido.

A linha de comandos de Laço e libraryare normalmente utilizados para tipos de enablevarious de aplicações para efectuar pedidos para vários tipos de servidores, incluindo servidores web. Esta biblioteca pode ser configurada através da utilização de parâmetros de linha de comandos ou possa ler os respectivos parâmetros de configuração partir as variáveis de ambiente do processo de anfitrião. "Proxy_http" é um dos vários parâmetros de configuração que são utilizados pelo Laço. "Proxy_http" é utilizada pelo Laço para enviar um pedido HTTP através do proxy configurado.

Nota Isto está relacionado com "Proxy_http" como a representação de um cabeçalho de pedido de cliente.

Quando está alojado Laço dentro de um processo CGI e que o processo contém uma variável de ambiente é denominada "Proxy_http", o laço utiliza o valor para sendrequested dados através do proxy HTTP cujo valor é especificado na variável de ambiente. Isto ocorre porque o laço espera que "Proxy_http" é uma directiva de configuração e não um cabeçalho de pedido de cliente.
Como contornar
Para contornar este problema, não utilize CGI num servidor que está a executar o IIS. CGI é uma interface obsoleta em grande medida, que é substituída por interfaces mais recentes e mais relacionadas com o desempenho. Especificamente, PHP, Python e ir devem ser hospedado através de FastCGI no IIS. FastCGI não utilizar variáveis de ambiente para os cabeçalhos de pedido de cliente e não tem este problema.

Se tiver de utilizar CGI por algum motivo, ou bloquear pedidos que contêm um cabeçalho de pedido com o nome "Proxy" ou desmarque o valor do cabeçalho. Isto acontece porque "Proxy" não é um nome de cabeçalho do pedido padrão e browsers serão geralmente não enviá-lo.

Para bloquear um pedido que contém um cabeçalho Proxy (a solução preferencial), execute o seguinte comando:
appcmd set config /section:requestfiltering / + requestlimits.headerLimits. [cabeçalho = 'proxy', sizelimit = '0']

Nota O appcmd.exe não é normalmente no caminho e podem ser encontrados no directório %systemroot%\system32\inetsrv.

Para limpar o valor do cabeçalho, pode utilizar a seguinte regra de reescrita de URL:
<system.webServer>    <rewrite>        <rules>            <rule name="Erase HTTP_PROXY" patternSyntax="Wildcard">                <match url="*.*" />                <serverVariables>                    <set name="HTTP_PROXY" value="" />                </serverVariables>                <action type="None" />            </rule>        </rules>    </rewrite></system.webServer>

Nota Reescrever o URL é um suplemento transferível do IIS e não está incluído numa instalação predefinida IIS.

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 3179800 - Última Revisão: 07/19/2016 09:01:00 - Revisão: 1.0

Windows 10, Windows 10 Version 1511, Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Standard, Windows Server 2012 R2 Essentials, Windows Server 2012 R2 Foundation, Windows 8.1 Enterprise, Windows 8.1 Pro, Windows 8.1, Windows RT 8.1, Windows Server 2012 Datacenter, Windows Server 2012 Standard, Windows Server 2012 Essentials, Windows Server 2012 Foundation, Windows Server 2008 R2 Service Pack 1, Windows 7 Service Pack 1, Windows Server 2008 Service Pack 2, Windows Vista Service Pack 2

  • atdownload kbbug kbexpertiseinter kbfix kbsecbulletin kbsecurity kbsecvulnerability kbmt KB3179800 KbMtpt
Comentários