IIS vaza IP interno com uma solicitação HTTP/1.0 sem um cabeçalho Host

IIS vaza IP interno com uma solicitação HTTP/1.0 sem um cabeçalho Host

Uma verificação de segurança do nosso servidor IIS 10 revelou que ele revela o endereço IP interno do servidor por meio do Locationcabeçalho quando uma solicitação é feita para uma pasta, como https://example.org/Content. Isso gera o seguinte ( xxxrepresenta o IP interno):

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/
....

Algumas questões:

  • Qual é a melhor prática para corrigir isso?
  • Como fazemos uma solicitação GET HTTP/1.0 fora do software de digitalização para simular isso e testá-lo após a correção?

Obrigado.

Atualizar:tentei a regra de reescrita de URL deesta postagemmas gera um erro 500.

Responder1

Este artigojuntamente comEstedescrevem a proteção contra esse tipo de ataque (vulnerabilidade de divulgação de informações do servidor de acesso para cliente) abortando solicitações que não possuem o cabeçalho Host.

Aqui estão as etapas para corrigir isso. Certifique-se de ter oMódulo de reescrita de URLinstalado,

  1. Abra o IIS.

  2. Selecione seu site.

  3. Clique duas vezes em Reescrita de URL.

  4. Clique em Adicionar regra(s) no painel Ações no lado direito.

  5. Escolha Regras de entrada > Bloqueio de solicitações.

  6. Insira as seguintes configurações para a regra:

    Bloquear o acesso com base em: Cabeçalho do host

    Bloquear solicitação que: Não corresponde ao padrão

    Padrão (cabeçalho do host): .+ (leia-se: "ponto mais", que significa "corresponder a um ou mais caracteres")

    Usando: Expressões regulares

    Como bloquear: Abortar solicitação

  7. Clique em OK para salvar a regra.

Atualizar:A verificação de segurança realizada em um Windows Server revelou que a vulnerabilidade não existia mais após essa alteração.

informação relacionada