¿Qué es UFW // Uncomplicated Firewall?
Las siglas «UFW» significan «Uncomplicated Firewall» y hacen referencia a una aplicación que tiene como objetivo establecer reglas en «iptables», las tablas de firewall nativas en Linux. Puesto que iptables tiene una sintaxis relativamente compleja, utilizar UFW para realizar su configuración es una alternativa útil sin escatimar en seguridad.
características clave
- Simplicidad de uso: UFW está diseñado con el objetivo de simplificar la gestión de firewalls de iptables. Los comandos son intuitivos y fáciles de entender, lo que lo hace accesible para usuarios que no son expertos en seguridad.
- Gestión de reglas basadas en políticas: Permite establecer políticas generales (por ejemplo, default deny, default allow) y luego crear reglas específicas para permitir o denegar el tráfico.
- Soporte para IPv4 e IPv6: UFW maneja automáticamente las configuraciones tanto para IPv4 como para IPv6, lo que facilita la administración de redes que utilizan ambas versiones de IP.
- Integración con aplicaciones: Algunos paquetes de software pueden incluir perfiles de UFW que permiten configurar fácilmente las reglas del firewall necesarias para ese software.
- Registro y monitoreo: UFW permite configurar el nivel de registro de las actividades del firewall, lo que puede ayudar en la detección de problemas de red o intentos de acceso no autorizado.
- Interfaz gráfica de usuario (GUI): Aunque UFW es una herramienta de línea de comandos, existe una interfaz gráfica denominada GUFW que proporciona una forma visual de administrar las reglas del firewall.
Instalar UFW
La instalación del paquete «ufw» es muy sencilla y, de hecho, se encuentra instalado por defecto en muchas distribuciones. En este caso te indicaremos las instrucciones para una distribución basada en Debian, como por ejemplo, Ubuntu. En otras distribuciones, los comandos a seguir pueden ser distintos.
sudo apt update
// Para actualizar la lista de paquetes.sudo apt install ufw
// Para instalar el paquete «ufw».
¡Recuerda! Necesitarás privilegios de superusuario para realizar esta operación.
Configurar y habilitar UFW
Una vez instalado y configurado el firewall, explicaremos la sintaxis básica para empezar a establecer reglas.
1. Definición del comportamiento por defecto
En primer lugar, deberemos determinar si queremos que UFW, por defecto, permita o deniegue el tráfico entrante y el tráfico saliente.
Esto lo podemos lograr del siguiente modo:
ufw default deny incoming
// Deniega conexiones entrantes que no coincidan con ninguna regla.ufw default allow incoming
// Permite conexiones entrantes que no coincidan con ninguna regla.
Para conexiones salientes:
ufw default deny outgoing
// Deniega conexiones salientes que no coincidan con ninguna regla.ufw default allow outgoing
// Permite conexiones salientes que no coincidan con ninguna regla.
Nuestra recomendación es denegar las conexiones entrantes y permitir las conexiones salientes para una configuración básica. Después, deberás crear reglas para permitir el acceso de aquellas conexiones, protocolos o equipos que consideres oportuno.
2. Ver la configuración actual del firewall
Ahora que ya has creado tu primera regla, podrás ver la configuración actual con el siguiente comando:
ufw status
3. Permitir las conexiones SSH (¡IMPORTANTE!)
Para evitar que quedes excluido de tu propio servidor una vez habilites el firewall, es importante que crees una regla que permita conectarte a través del puerto 22 (o cualquiera que hayas designado para el servicio SSH).
Puedes crear tu primera regla para permitir tráfico entrante de la siguiente manera:
ufw allow 22
Por supuesto, deberás especificar el puerto que el servicio utiliza.
4. Permitir otras conexiones entrantes según protocolo, IP de origen y otros parámetros
A continuación te exponemos varios ejemplos que te demostrarán cuál es la sintaxis de UFW, pudiendo adaptar cada una de ellas según tus necesidades.
ufw allow 80
// Permite las conexiones entrantes por el puerto 80.ufw allow http
// Permite las conexiones entrantes por el puerto 80, utilizando el alias «http» en vez del puerto numérico.ufw allow 80/tcp
// Permite solo las conexiones entrantes con el protocolo TCP por el puerto 80.ufw allow 1000-2000
// Permite las conexiones entrantes en un rango de puertos.ufw allow from 10.0.0.30
// Permite conexiones entrantes a cualquier puerto y protocolo a la IP 10.0.0.30.ufw allow from 10.0.0.0/24
// Permite conexiones entrantes a cualquier puerto y protocolo desde un rango de IPs usando la notación CIDR (de 10.0.0.0 a 10.0.0.255 en este caso).ufw allow from 10.0.0.30 to any port 22
// Permite las conexiones entrantes al puerto 22 a la IP 10.0.0.30.ufw allow from 10.0.0.30 to any port 22 proto tcp
// Permite las conexiones entrantes al puerto 22, con protocolo TCP a la IP 10.0.0.30.
Esta es solo una muestra de las incontables combinaciones que permite UFW // Uncomplicated Firewall . Por supuesto, recuerda que también puedes utilizar deny para lograr el efecto contrario.
5. Eliminar reglas
Para eliminar una regla, conviene primero mostrarlas de forma numerada. Puedes lograrlo con el siguiente comando:
ufw status numbered
Una vez se muestran las reglas precedidas por un número que las identifique, podrás eliminarlas del siguiente modo:
ufw delete 3 // Eliminar la regla número "3".
6. Insertar reglas con un número específico
Puedes utilizar la siguiente sintaxis para especificar reglas en un lugar específico, consiguiendo que esa regla tenga prioridad sobre las que le suceden.
ufw insert 3 allow 22 // Inserta una regla para permitir las conexiones entrantes en la posición 3.
7. Activar o desactivar los registros
UFW tiene la opción de registrar todas las acciones que toma y todos los intentos de acceso. Puedes activar o desactivar el registro de UFW del siguiente modo:
ufw logging on
// Habilita los registros.ufw logging off
// Deshabilita los registros.
8. Activar / Desactivar el firewall
Finalmente, te mostraremos cómo activar el firewall una vez hayas establecido la configuración necesaria para tu servidor:
ufw enable
// Activa el firewall y pone en funcionamiento todas las reglas establecidas.ufw disable
// Deshabilita (pausa) el firewall.ufw reset
// Elimina todas las reglas y te permite comenzar desde cero, a excepción del comportamiento por defecto, que definiste en el paso 1
Montar tu propio Firewall
En el caso de que quieras montar tu propio Firewall y poder crear reglas para así tener un seguridad plena te dejo enlace a los siguientes post para que puedas hacerlo de manera correcta.
Pfsense: Crea y configura tu propio Firewall.
Si quieres aprender más sobre los los firewall y sus tipos os dejo el enlace al siguiente post.
Aprende más sobre los firewall.
CONCLUSIÓN
UFW Uncomplicated Firewall ofrece una solución potente y fácil de usar para la gestión de firewalls en sistemas basados en Linux. Con su enfoque en la simplicidad y la eficacia, es ideal tanto para usuarios novatos como para administradores de sistemas experimentados. Sus características como soporte para IPv4 e IPv6, integración con aplicaciones y opciones para registro detallado lo hacen una herramienta valiosa para proteger tu sistema. Además, la disponibilidad de una interfaz gráfica, GUFW, lo hace accesible para aquellos que prefieren una gestión visual.
Espero que encuentres útil UFW para tus necesidades de seguridad de red, ¡y que tu experiencia en la administración de firewalls sea tan tranquila y libre de complicaciones como lo promete el nombre de UFW! ¡Que tengas un día lleno de éxito y seguridad informática! 😊