IPs marcianas (martians IPs)
Hace unos días nos topamos, de nuevo, con el concepto de IPs marcianas (o martians IPs ). Éste casi siempre suele aparece en cualquier auditoría de seguridad que se hace en una red.
Por curiosidad buscamos en Google a ver que explicaciones encontrábamos “por ahí”. Sorprendió el hecho de que en prácticamente todo los sitios buscados se limitan a repetir el mismo texto que pone en la la RFC-1812, sección 5.3.7.
Probablemente a los administradores encargados de revisar logs estén más acostumbrados a éste concepto, o al menos a “verlo”. En internet puedes encontrar cientos post en foros preguntando que son los martians cuando en el syslog les aparecen mensajes como este:
kernel martian source 151.201.29.xxx from 151.201.29.1 on dev eth0
Según la RFC-1812 las IPs marcianas corresponden con ciertas direcciones que los dispositivos de red no deben de retransmitir o procesar, por tener una connotación especial. Además, según la RFC, si un dispositivo de red que recibe información de estas direcciones debe de descartar esos paquetes y logear la siguiente información:
-
IP origen
-
IP destino
-
Interfaz de red donde se recibió la información, si la IP marciana era la dirección de origen.
-
MAC origen o router de quien recibió la información, si la IP marciana era la dirección de origen.
Para las direcciones en cuestión se distinguen si aparecen como origen o destino, puesto que a una determinada IP puede que se le deba permitir ser origen y tratarlo como válido, pero no en el caso de que aparezca como destino:
-
IP de origen:
-
127.X.X.X. Reservada para loopback.
-
0.0.0.0. Dirección reservada que representa el propio host en la red. Por eso, normalmente, los servidores escuchan en esta IP.
-
255.255.255.255. Reservada para broadcast limitado.
-
Dirección de red. Tanto si la red esta particionada en subredes como sino, la dirección de red no puede aparecer como dirección origen. Por ejemplo: 192.168.23.21/24. La dirección de red es 192.168.23.0, que no puede ser origen.
-
Cualquier dirección de multicast. Estas direcciones están comprendidas entre la 224.0.0.0 a la 239.255.255.255.
-
-
IP de destino:
-
127.X.X.X. Reservada para loopback.
-
0.0.0.0. Dirección reservada que representa el propio host en la red. Por eso, normalmente, los servidores escuchan en esta IP.
-
Cualquier dirección de clase E. Éstas están comprendidas entre las 240.0.0.0 a la 255.255.255.255.
-
Estas IPs deberían de estar correctamente filtradas y logeadas en nuestros equipos y el resto de dispositivos de red, puesto que podrían llegar a causar comportamientos inesperados en nuestros equipos.
En GNU/Linux podemos habilitar la protección en el kernel añadiendo la siguiente línea en el fichero “/etc/sysctl.conf”:
net.ipv4.conf.all.log_martians=1
February 9th, 2010 - 14:09
Como antiguo administrador de sistemas te diré que lo habitual es deshabilitar el log_martians tanto del kernel como de iptables/shorewall, ya que emponzoña los logs con cantidades ingentes de información inútil y no te permite ver las cosas realmente importantes.
August 14th, 2010 - 11:43
http://www.iniqua.com/2010/07/01/python-lib-iptools/?lang=en