Protección contra ARP poisoning


Ya he escrito en varias ocasiones acerca de problemas que permiten insertar un equipo entre nosotros y nuestros objetivos (Ataque Man In The Middle): aquí y aquí. En esta entrada, que amplía el “primer aquí”, el objetivo es explicar en qué consiste y cómo podemos abordarlo.

¿Qué es ARP Poisoning?

Consiste en conseguir indicarle a un nodo que la MAC asociada a una IP (por ejemplo la de nuestro router por defecto) es la otra diferente a la que tiene realmente el equipo objetivo. Conseguirlo es bastante fácil y, además, simplemente hay que usar el propio protocolo ARP. Una imagen vale más que mil palabras y, creo, la de la Wikipedia refleja bastante bien en qué consiste el envenamiento de ARP (también llamado, por el efecto, ARP Spoofing):

466px-ARP_Spoofing.svg

http://en.wikipedia.org/wiki/File:ARP_Spoofing.svg

La idea del atacante es que cuando a nivel de enlace, se vaya a mandar los paquetes a nuestro router, estos pasen primero por él (funcionando como un Proxy ARP). ¿Qué puede hacer con ello? Lo que quiera. Si ciframos nuestras comunicaciones y estamos atentos a posibles mensajes de aviso, le complicamos “su labor”. Si no…

Al margen del cifrado, ¿podemos hacer algo más? Podemos considerar 2 caminos (no excluyentes) para intentar protegernos de esta amenaza:

  1. Introducir entradas estáticas MAC-IP en las tablas de ARP de los equipos. En principio, en todos los equipos de nuestra red ejecutaríamos el comando arp -s para “fijar” la MAC del/de los routers de nuestra red. En redes de tamaño medio-grande puede llegar a ser inmanejable, aunque podemos aprovecharnos de Ansible o Puppet para suavizar el trabajo.
  2. Monitorización de ARP, como ya escribí en esta entrada donde propuse una solución personal. En este punto, quería añadir que la mayoría de las distros de GNU/Linux disponen del software arpwatch que, una vez instalado (apt-get install arpwatch) y configurado (en /etc/arpwatch.conf le indicamos la interfaz de red y el usuario), analizará la red y registrará en /var/log/syslog las nuevas MACs que aparezcan en la red y nos avisará de cualquier intento de ataque, sin necesidad de programarnos nuestros guiones.

Referencias

  1. http://tools.ietf.org/html/rfc826
  2. http://es.wikipedia.org/wiki/Address_Resolution_Protocol
  3. http://en.wikipedia.org/wiki/ARP_spoofing
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s