Configuración del cortafuegos ufw
, iptables
1. UFW: Uncomplicated Firewall
¿Para qué sirve un firewall?
Imagina que tu servidor es como una casa llena de cosas valiosas (datos, claro). Si dejas las puertas abiertas, cualquiera podría entrar, "comerse" tus datos y dejarte los platos sucios (o algo peor). El firewall son esas puertas que puedes controlar: quién puede entrar, por qué puerta y bajo qué condiciones.
Linux proporciona dos herramientas principales para configurar un firewall: ufw (Uncomplicated Firewall, o sea "firewall sencillo") y iptables. Vamos a ver cómo funcionan y en qué se diferencian.
¿Qué es UFW?
UFW es una herramienta para configurar el firewall diseñada con la idea de "hagámoslo más simple". Es perfecta para quienes quieren configurar rápidamente reglas básicas de acceso sin meterse de lleno en detalles complicados.
Instalar y activar UFW
UFW normalmente viene preinstalado en la mayoría de las distribuciones basadas en Debian/Ubuntu. Si no está, instálalo con:
sudo apt update
sudo apt install ufw
Activar UFW:
sudo ufw enable
Verificar el estado:
sudo ufw status
En el primer inicio, probablemente el estado será "inactive". Luego de activarlo, cambiará a "active".
Configuración de reglas en UFW
Ahora viene lo más interesante: configurar las reglas que determinan qué tráfico permitir y qué bloquear.
Permitir acceso por SSH (puerto 22):
sudo ufw allow 22
Abrir acceso al servidor web (puerto 80):
sudo ufw allow 80
Abrir HTTPS (puerto 443):
sudo ufw allow 443
Cerrar acceso a un puerto innecesario (por ejemplo, 8080):
sudo ufw deny 8080
Eliminar una regla:
Si cambias de idea, elimina la regla por el número que se muestra con el comando sudo ufw status numbered
. Por ejemplo:
sudo ufw delete 1
Verificación y pruebas
Para asegurarte que todo funciona correctamente, puedes verificar el estado nuevamente:
sudo ufw status
Verás una lista de todas las reglas activas.
2. IPTABLES: más control, más posibilidades
¿Qué es iptables?
Si UFW es "una puerta simple con cerradura", entonces iptables es "un guardia inteligente" que te permite configurar absolutamente todo. Proporciona control total sobre el tráfico, incluyendo enrutamiento, filtrado según varios criterios e incluso la capacidad de modificar los paquetes.
Conceptos básicos de iptables
- Tablas: son conjuntos de funciones para manejar paquetes de red.
filter
: manejo y filtrado de paquetes (por ejemplo, permitir o bloquear).nat
: traducción de direcciones/puertos (por ejemplo, para routers).
- Cadenas: son reglas que se aplican a los paquetes.
INPUT
: para tráfico entrante.OUTPUT
: para tráfico saliente.FORWARD
: para tráfico redirigido.
- Objetivos (targets): son las acciones aplicadas a un paquete.
ACCEPT
: permitir el paquete.DROP
: descartar el paquete.REJECT
: descartar el paquete enviando una notificación.
Echemos un vistazo a cómo configurar reglas de iptables.
Ver las reglas actuales
Para ver qué reglas ya están configuradas, ejecuta:
sudo iptables -L
También puedes agregar -v
o -n
para obtener información detallada sobre los paquetes y direcciones IP.
Crear reglas con iptables
Regla simple: permitir SSH (puerto 22):
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Bloquear acceso al puerto 8080:
sudo iptables -A INPUT -p tcp --dport 8080 -j DROP
Restringir acceso por dirección IP:
Si quieres que una computadora con una IP específica pueda conectarse a tu servidor y las demás no:
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
Eliminar reglas
Para eliminar una regla, necesitas saber su número. Encuéntralo con:
sudo iptables -L --line-numbers
Luego elimínala con:
sudo iptables -D INPUT <número_de_regla>
Guardar reglas
Las reglas de iptables se "olvidan" por defecto al reiniciar el sistema. Para evitar esto, guárdalas con:
sudo iptables-save > /etc/iptables/rules.v4
Luego se pueden restaurar así:
sudo iptables-restore < /etc/iptables/rules.v4
3. UFW vs IPTABLES: ¿cuál elegir?
UFW e iptables hacen lo mismo: protegen tu servidor. Entonces, ¿qué herramienta deberías elegir?
- UFW — es una herramienta sencilla para una configuración básica de seguridad. Si no quieres meterte con los detalles de bajo nivel o simplemente quieres configurar rápidamente un firewall, elige UFW.
- Iptables — es una herramienta poderosa para configuraciones más complejas. Si tienes una infraestructura complicada (por ejemplo, NAT, enrutamiento), necesitarás iptables.
Por cierto, UFW en realidad funciona "encima" de iptables. Simplemente genera reglas de iptables por ti. Entonces, si ya conoces iptables, automáticamente entiendes cómo funciona internamente UFW.
4. Ejemplos prácticos: proteger el servidor
Ejemplo 1: proteger SSH y el servidor web con UFW
- Asegúrate de que UFW está instalado y activado:
sudo ufw enable
- Permite acceso a SSH y al servidor web:
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
- Revisa las reglas activas:
sudo ufw status
Ejemplo 2: bloquear tráfico innecesario con iptables
- Permite acceso por SSH:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- Permite tráfico web:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
- Bloquea todo lo demás:
sudo iptables -A INPUT -j DROP
Hoy aprendiste cómo proteger un servidor usando UFW e iptables. Ambos son herramientas potentes y útiles: simplemente acostúmbrate a ver a UFW como tu "amigo para el día a día" y a iptables como "una herramienta poderosa en manos de un maestro". Configura el cortafuegos, estudia tus configuraciones, y que tu servidor sea una fortaleza y no un pasillo.
GO TO FULL VERSION