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 Location
cabeçalho quando uma solicitação é feita para uma pasta, como https://example.org/Content
. Isso gera o seguinte ( xxx
representa 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,
Abra o IIS.
Selecione seu site.
Clique duas vezes em Reescrita de URL.
Clique em Adicionar regra(s) no painel Ações no lado direito.
Escolha Regras de entrada > Bloqueio de solicitações.
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
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.