Por que alguns servidores web não respondem a solicitações icmp?

8

Qual é o objetivo de bloquear / eliminar o tráfego ICMP de entrada em um servidor público da Web? É comum que seja bloqueado?

Eu tive que testar se um servidor estava acessível em vários locais (testado em vários servidores localizados em diferentes estados / países). Eu confiaria no ping como um método rápido e confiável para determinar se um servidor estava online / acessível em rede. Depois de não receber uma resposta em algumas caixas, tentei usar o lynx para carregar o site, e funcionou.

John Himmelman
fonte
6
Warner explicou isso muito bem. Como um aparte - não teste um serviço (ICMP) para determinar se outro (HTTP) funciona. Imagine que exista um balanceador de carga na frente do site com o qual você se preocupa, que responda ao ping, mas os próprios servidores da web estejam todos configurados incorretamente e servindo apenas o "Acesso negado". Se você se preocupa com a disponibilidade do HTTP, use curl. Se você se preocupa com o SMTP, use um script para testar o recebimento de e-mail. Verifique os códigos de retorno em qualquer coisa que você faça.
mfinni

Respostas:

14

Atualmente, é bastante comum abandonar o ICMP, pois é um método genérico a ser usado para fins de negação de serviço. Um host com largura de banda maior ou vários hosts executando ping repetidamente em um único servidor da Web pode utilizar toda a largura de banda.

Outros podem cair para diminuir sua presença na Internet, sendo potencialmente esquecidos pelo tráfego de varredura em massa.

Embora seja comum, eu argumentaria que ele oferece pouco valor e faz pouco para minimizar DoS e pegada, limitando o potencial de diagnóstico.

Warner
fonte
Obrigado, o servidor que eu estava testando era um servidor web que lida com a empresa VPN. Considerando o tipo de serviço, descartar o ICMP faz sentido.
John Himmelman
4

Além da proteção duvidosa do DoS e do perfil reduzido, há um motivo comum, mas esquecido, de um determinado IP não responder a pings: na verdade, ele não está atribuído a uma interface.

Redirecionar tuplas de IP / protocolo / porta para os vários serviços desejados oferece maior densidade de serviços em uma rede menor.

Por exemplo, suponha que seu provedor de serviços de Internet direcione 1.2.3.4/30 para você. Você tem três opções:

  • Encaminhe-os normalmente. Deixa dois IPs utilizáveis, um dos quais deve ser seu gateway, para um único host.
  • IP externo NAT para IP interno. Deixa quatro anfitriões.
  • Redirecione o tráfego para serviços internos, conforme necessário. O SMTP (TCP 25), o DNS (TCP / UDP 53) e o site corporativo (TCP 80.443) podem existir em um único endereço externo.

A terceira maneira é cada vez mais comum. A maioria dos administradores (inclusive eu), ao configurá-lo, não se preocupa em redirecionar o ICMP para que ele caia no firewall.

sh-beta
fonte
2

Não há mal nenhum em bloquear o ICMP tipo 0 (resposta de eco), mas o bloqueio de todo o tráfego ICMP interrompe as respostas do cliente se qualquer link no caminho de nova execução tiver uma MTU menor que o tamanho máximo do segmento de envio da conexão TCP. Isso acontece porque o servidor da Web não pode mais receber pacotes de código 4 do tipo 3 do ICMP (destino inacessível; fragmentação necessária e conjunto de DF).

Na prática, isso não é um grande problema, porque qualquer pessoa que precise encapsular o tráfego também deve configurar um mecanismo para lidar com a multiplicidade de servidores Web que possuem pilhas TCP, que são dificultadas por firewalls mal configurados.

eradman
fonte
1

Ajuda com ataques de negação de serviço. Não há razão real para precisar do site aberto para executar ping do público.

Além disso, ele não fornece as estatísticas do site; um host ou IP pode facilmente responder por um conjunto de servidores de balanceamento de carga no back-end (executar um ping em mysite.com não informa se todos os servidores estão funcionando corretamente por trás do nome).

Pode ser uma política da empresa descartar tráfego desnecessário ou permitir apenas que o tráfego da porta 80 e SSL seja redirecionado internamente para outros servidores.

Acho que a outra pergunta seria: por que se preocupar em permitir que sistemas externos executem ping em seus servidores se eles realmente não precisam?

Bart Silverstrim
fonte
3
Há uma piada aqui em algum lugar .. --- google.com estatísticas de ping --- 1 pacotes transmitidos, 1 recebido, 0% de perda de pacotes, tempo 0ms rtt min / avg / max / mdev = 52.220 / 52.220 / 52.220 / 0.000 ms --- estatísticas de ping do microsoft.com --- 3 pacotes transmitidos, 0 recebido, 100% de perda de pacotes, tempo 1999ms
Warner