¿Por qué algunos servidores web no responden a las solicitudes de icmp?

8

¿Cuál es el propósito de bloquear / soltar el tráfico entrante ICMP en un servidor web público? ¿Es común que se bloquee?

Tuve que probar si un servidor era accesible desde varias ubicaciones (probado en varios servidores ubicados en diferentes estados / países). Confiaría en el ping como un método rápido y confiable para determinar si un servidor estaba en línea / accesible a la red. Después de no recibir una respuesta en un par de cajas, intenté usar lynx para cargar el sitio, y funcionó.

John Himmelman
fuente
66
Warner lo explicó bastante bien. Como comentario aparte, no pruebe un servicio (ICMP) para determinar si otro (HTTP) funciona. Imagine que hay un equilibrador de carga frente al sitio web que le interesa, que responde al ping, pero los servidores web están mal configurados y no sirven más que "Acceso denegado". Si le preocupa la disponibilidad de HTTP, use curl. Si le interesa SMTP, use un script para probar el recibo de correo. Verifique los códigos de retorno en todo lo que haga.
mfinni

Respuestas:

14

Es bastante común en estos días abandonar ICMP, ya que es un método genérico para usar con fines de denegación de servicio. Un host de mayor ancho de banda o un múltiplo de hosts que hacen ping repetidamente a un solo servidor web podrían utilizar todo su ancho de banda.

Otros podrían caer para disminuir su huella en Internet, lo que podría pasar desapercibido para el tráfico de escaneo masivo.

Si bien es común, argumentaría que proporciona poco valor y hace poco para minimizar el DoS y la huella al tiempo que limita el potencial de diagnóstico.

Warner
fuente
Gracias, el servidor que estaba probando era un servidor web que maneja el vpn de la compañía. Teniendo en cuenta el tipo de servicio, la eliminación de ICMP tiene sentido.
John Himmelman
4

Además de la dudosa protección DoS y el perfil reducido, hay una razón común pero pasada por alto que una determinada IP podría no responder a los pings: en realidad no está asignada a una interfaz.

La redirección (reenvío de puertos) de IP / protocolo / tuplas de puertos a los diversos servicios que desea le brinda una mayor densidad de servicios en una red más pequeña.

Por ejemplo, suponga que su ISP le dirige las rutas 1.2.3.4/30. Tienes tres opciones:

  • Enrutarlos normalmente. Le deja dos IP utilizables, una de las cuales debe ser su puerta de enlace, por lo tanto, un solo host.
  • IP externa de NAT a IP interna. Te deja cuatro anfitriones.
  • Redirija el tráfico a los servicios internos según sea necesario. SMTP (TCP 25), DNS (TCP / UDP 53) y su sitio web corporativo (TCP 80,443) podrían existir en una sola dirección externa.

La tercera forma es cada vez más común. La mayoría de los administradores (incluido yo mismo), al configurarlo, no se molestan en redirigir ICMP, por lo que simplemente cae en el firewall.

sh-beta
fuente
2

No hay ningún daño en el bloqueo de ICMP tipo 0 (respuesta de eco), pero el bloqueo de todo el tráfico ICMP interrumpe las respuestas al cliente si algún enlace en la ruta de retorno tiene una MTU menor que el tamaño de segmento de envío máximo de la conexión TCP. Esto sucede porque el servidor web ya no puede recibir paquetes ICMP tipo 3 de código 4 (Destino inalcanzable; Fragmentación necesaria y DF configurado).

En la práctica, esto no es un gran problema porque cualquiera que necesite canalizar el tráfico también debe establecer un mecanismo para tratar con la multitud de servidores web cuyas pilas TCP están obstaculizadas por firewalls mal configurados.

eradman
fuente
1

Ayuda con ataques de denegación de servicio. No hay razón real para necesitar que el sitio esté abierto para hacer ping al público.

Además, no proporciona las estadísticas del sitio web; un host o IP podría estar respondiendo fácilmente para una granja de servidores de equilibrio de carga en el back-end (hacer ping a mysite.com no le dice si todos los servidores funcionan correctamente detrás del nombre).

Podría ser solo una política de la empresa para eliminar el tráfico innecesario, o solo permitir que el tráfico del puerto 80 y SSL se redirija a otros servidores internamente.

Supongo que la otra pregunta sería, ¿por qué molestarse en permitir que los sistemas externos hagan ping a sus servidores si realmente no lo necesitan?

Bart Silverstrim
fuente
3
Hay una broma aquí en alguna parte ... --- estadísticas de ping de google.com --- 1 paquetes transmitidos, 1 recibido, 0% de pérdida de paquetes, tiempo 0ms rtt min / avg / max / mdev = 52.220 / 52.220 / 52.220 / 0.000 ms --- estadísticas de ping de microsoft.com --- 3 paquetes transmitidos, 0 recibidos, 100% de pérdida de paquetes, tiempo 1999ms
Warner