Protege tu servidor Linux con ipset

En el mundo de la administración de sistemas, garantizar la seguridad del servidor es una prioridad máxima. Los servidores Linux, conocidos por su estabilidad y flexibilidad, no son excepción. Sin embargo, enfrentarse a ataques DDoS o a intentos de acceso no autorizado provenientes de múltiples direcciones IP es un reto común. Una herramienta potente para mitigar este tipo de amenazas es ipset.

¿Qué es ipset?

ipset es una utilidad para Linux que permite administrar conjuntos de direcciones IP y portales de red de una manera eficaz. Es especialmente útil para implementar reglas en iptables basadas en múltiples direcciones IP sin necesidad de crear numerosas reglas individuales, lo que puede ahorrar significativamente recursos y tiempo de procesamiento.

Instalación de ipset

Antes de poder utilizar ipset, asegúrate de que esté instalado en tu sistema. En la mayoría de las distribuciones Linux, ipset puede ser instalado utilizando el gestor de paquetes predeterminado. Por ejemplo, en sistemas basados en Debian y Ubuntu, puedes instalarlo con:

sudo apt-get update
sudo apt-get install ipset

Para sistemas basados en Red Hat como CentOS, CloudLinux, AlmaLinux o RockyLinux, el comando sería:

sudo yum install ipset

Cómo utilizar ipset para bloquear direcciones IP

Paso 1: Crear un nuevo conjunto de ipset

Primero, crea un conjunto (set) donde puedas agregar las direcciones IP que deseas bloquear. Considerando que querrás bloquear direcciones IP específicas, puedes crear un conjunto del tipo hash:ip con el siguiente comando:

sudo ipset create blacklist hash:ip

Aquí, blacklist es el nombre del conjunto, pero puedes nombrarlo como prefieras.

Paso 2: Agregar direcciones IP al conjunto

Para agregar direcciones IP al conjunto que acabas de crear, utiliza:

sudo ipset add blacklist 192.168.1.100

Reemplaza 192.168.1.100 con la dirección IP que deseas bloquear.

Paso 3: Integrar ipset con iptables

Ahora que tienes un conjunto de ipset con las direcciones IP a bloquear, el siguiente paso es utilizar iptables para rechazar paquetes de esas direcciones. Puedes lograr esto con el siguiente comando:

sudo iptables -I INPUT -m set --match-set blacklist src -j DROP

Este comando instruye a iptables a rechazar todo el tráfico entrante (INPUT) que coincida con las direcciones IP en el conjunto blacklist.

Automatización y mantenimiento

Para asegurarte de que las reglas de ipset persistan después de reiniciar el servidor, puedes guardar la configuración de ipset en un archivo y restaurarla en el arranque del sistema.

Guardar la configuración:

sudo ipset save > /etc/ipset.conf

Restaurar la configuración al inicio (puedes agregar el siguiente comando a tu archivo rc.local o a un script de inicio de systemd):

sudo ipset restore < /etc/ipset.conf

Además, es importante mantener tu lista de direcciones IP bloqueadas actualizada. Puedes automatizar el proceso de actualización con scripts que revisen listas de direcciones IP maliciosas conocidas y las añadan a tu conjunto de ipset periódicamente.

En resumen, ipset es una herramienta extremadamente poderosa para gestionar el acceso a tu servidor Linux, permitiéndote bloquear eficientemente múltiples direcciones IP y protegerte contra ataques maliciosos. Su integración con iptables hace que sea una solución robusta para la seguridad de tu servidor. Recuerda siempre mantener tus listas actualizadas y revisar las reglas con regularidad para asegurar la máxima protección de tu infraestructura.

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana.

Scroll al inicio
×