ICMP permite una funcionalidad llamada ICMP Redirect, esta es utilizada para forzar un host a que envÃe el tráfico de red por un gateway distinto al configurado en su configuración de red.
Esto resulta útil en el siguiente escenario:
- El gateway G1 recibe tráfico de un host, G1 consulta su tabla de enrutamiento y obtiene la dirección del próximo gateway G2.
- Si G2 se encuentra en la misma subred que el host, se le envÃa un ICMP Redirect al host para que utilice G2 como gateway por defecto.
Esta funcionalidad abre la puerta a posibles ataques MITM , por fortuna FreeBSD dispone de mecanismos de protección contra este tipo de trucos.
Primero habilitamos el log de los ICMP Redirects recibidos para asà saber si estamos bajo algún tipo de ataque:
icmp_log_redirect: NO -> YES
Ahora todos los ICMP Redirects que recibamos quedarán registrados:
En la mayorÃa de los escenarios de red esta funcionalidad no es necesaria, asà que deshabilitamos el log y directamente destruimos dicho tráfico en caso de recibirlo ya que seguramente se trate de un atacante que se encuentra en nuestra LAN intentando realizar un MITM:
icmp_log_redirect: NO -> NO
icmp_drop_redirect: auto -> YES