Protocolo UDP: rapidez a cargo de estabilidad y seguridad

por | agosto 21, 2015

Al fin y al cabo nada es gratis… ni siquiera para los protocolos de comunicación. Como sabrás UDP es un protocolo no orientado a conexión y notablemente más rápido que TCP, ya que entre otras cosas se ahorra todo tipo de control de flujo. Es por ello que es utilizado ampliamente para transmisiones audiovisuales en tiempo real que precisan de rapidez de comunicación. Y también, y aquí viene lo divertido, por una amplia gama de servicios como NTP, NFS, NIS, DNS, BOOTP o SNMP por citar algunos.

Parece ser que algunos ataques DDoS están utilizando como vector de ataque el servicio Portmap (puerto 111) que funciona con protocolo UDP. Además de los dolores de cabeza, los administradores de servidores tendrán que realizar ciertas comprobaciones y medida para mitigar esta nueva casuística. Podemos comprobar rápidamente las conexiones de red de nuestro sistema con netstat. Mejor hacerlo como root para tener una visión más amplia y utilizando las opciones -netaup:

netstat -netaup

Como véis, bastante completo ya que nos muestra protocolo utilizado (UDP/TCP) tanto IPv4 como IPv6, IP local/remota, usuario asociado al proceso, PID, estado de la conexión…

Aparte de esto, podemos identificar todos los servicios (ya los tengamos activos o no en el sistema) que utilizan protocolo UDP simplemente buscando en el fichero /etc/services:

grep udp /etc/services

En función de la información obtenida con netstat, después podemos profundizar y buscar más información sobre servicios o procesos en concreto con ps, por ejemplo:

# Por nombre de servicio/demonio
ps -ef | grep rpcbind

# Por proceso
ps -ef | grep 432

¿Las recomendaciones? Las de siempre: deshabilitar aquello que no estemos utilizando y restringir el acceso a determinados servicios desde el exterior para que no puedan ser utilizados con fines poco éticos. Para ello, qué mejor que echar mano de un buen firewall como iptables. Hace tiempo puse éste script para navegación web en desktops, pero igualmente puede servir de plantilla para servidores haciendo los cambios pertinentes.