
Índice
- 1 Por qué es vital configurar un cortafuegos en tu servidor
- 2 Paso 1: Instalación y verificación de UFW
- 3 Paso 2: Establecer políticas predeterminadas
- 4 Paso 3: Permitir conexiones SSH (Crítico)
- 5 Paso 4: Abrir puertos para servicios web y aplicaciones
- 6 Paso 5: Eliminar reglas y numeración
- 7 Paso 6: Activar el cortafuegos UFW
- 8 Preguntas Frecuentes sobre UFW en Ubuntu
- 9 Conclusión
Por qué es vital configurar un cortafuegos en tu servidor
Administrar un servidor VPS o dedicado no es solo cuestión de mantener los servicios encendidos. Hay una responsabilidad real encima de la mesa: proteger los datos que alojas. El primer movimiento serio en cualquier estrategia de seguridad —lo que solemos llamar hardening— es controlar quién entra y quién sale de tu red. En el ecosistema de Ubuntu, la herramienta estándar para esto es UFW (Uncomplicated Firewall). Si quieres equilibrio entre seguridad y no volverte loco gestionando reglas complejas, saber configurar cortafuegos UFW es indispensable.
UFW funciona como un frontend amigable para iptables, el filtrado de paquetes del kernel de Linux. Vamos a ser honestos: iptables puede ser un dolor de cabeza y es fácil cometer errores si no tienes mucha experiencia. UFW simplifica todo el proceso con comandos que tienen sentido lógico, sin perder potencia. A continuación, vamos a ver cómo desplegar y ajustar este escudo en tu infraestructura.
Paso 1: Instalación y verificación de UFW
Antes de empezar a jugar con el tráfico, asegúrate de tener la herramienta a mano. En la mayoría de las instalaciones modernas de Ubuntu, UFW ya viene de serie. Pero nunca está demás verificarlo y actualizar los repositorios por si acaso.
Abre tu terminal (conéctate por SSH) y ejecuta esto con permisos de superusuario:
Comando para instalar UFW:
sudo apt update
sudo apt install ufw
Una vez termine la instalación, comprueba el estado actual. Por defecto, UFW suele estar inactivo para no bloquearte el acceso remoto mientras lo configuras. Para comprobarlo, usa:
La salida debería decirte Status: inactive. Si ves que ya está activo, ten mucho cuidado al tocar las reglas o podrías quedarte fuera.
Paso 2: Establecer políticas predeterminadas
La regla de oro en seguridad es minimalista: deniega todo lo que no esté explícitamente permitido. Al configurar UFW, lo primero es definir qué pasa con el tráfico por defecto. Esto cierra las puertas a todo lo que no abras manualmente después.
Lanza estos dos comandos para denegar las entradas y permitir las salidas:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Qué hacen estas políticas:
- Default deny incoming: Bloquea cualquier intento de conexión desde fuera hacia tu servidor, a menos que hayas abierto un puerto específico. Es la mejor barrera contra escaneos de servicios vulnerables.
- Default allow outgoing: Permite que tu servidor haga peticiones al exterior (actualizaciones, consultas a APIs, etc.). Restringir esto suele complicar la administración sin aportar grandes beneficios de seguridad en la mayoría de escenarios.
Paso 3: Permitir conexiones SSH (Crítico)
Ojo aquí. Antes de levantar el muro, tienes que dejar una puerta abierta para el SSH. Si activas UFW sin permitir el puerto 22 (o el puerto personalizado que uses), bloquearás tu propio acceso administrativo y tendrás un problema serio.
Para dejar pasar el SSH, ejecuta:
Permitir tráfico SSH:
sudo ufw allow ssh
Esto añade una regla para el tráfico por el puerto 22 vía TCP. Si cambiaste el puerto por seguridad (pongamos, al 2222), debes especificarlo:
sudo ufw allow 2222/tcp
UFW es bastante listo y entiende nombres de servicios comunes que están en /etc/services, pero poner el número de puerto y protocolo es la forma más clara de trabajar.
Paso 4: Abrir puertos para servicios web y aplicaciones
Dependiendo de para qué sirva tu máquina, necesitarás abrir ciertos puertos. En un servidor web estándar con una pila LAMP o LEMP (Nginx/Apache, MySQL, PHP), los esenciales son el 80 (HTTP) y el 443 (HTTPS).
Para habilitar el tráfico web, puedes usar el nombre del servicio o el número:
sudo ufw allow http
sudo ufw allow https
O ser más técnico:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Si tienes bases de datos como MySQL o MariaDB y necesitas acceso remoto (aunque exponer la base de datos directamente a internet no es lo más recomendable; mejor restringirlo por IP), el comando es:
sudo ufw allow 3306/tcp
Permitir rangos de puertos y direcciones IP específicas
A veces las cosas se ponen más interesantes. Quizás solo quieras permitir acceso desde una IP concreta, como la de tu oficina o casa, para gestionar algo sensible.
Para permitir una IP específica al puerto 22:
sudo ufw allow from 192.168.1.100 to any port 22
Si necesitas abrir un rango, por ejemplo para FTP pasivo (que usa puertos altos), usa dos puntos:
sudo ufw allow 10000:10100/tcp
Paso 5: Eliminar reglas y numeración
La gestión de un cortafuegos no es estática. Es probable que tengas que borrar reglas viejas o que te equivocaras al escribir una. Para ello, ver las reglas numeradas es de gran ayuda.
Lista las reglas con números:
sudo ufw status numbered
Verás una lista con números al lado (e.g., [1], [2]). Para borrar la regla número 2, simplemente:
sudo ufw delete 2
También puedes eliminar una regla escribiendo exactamente el mismo comando con el que la creaste, pero añadiendo delete al principio. Por ejemplo:
sudo ufw delete allow 80/tcp
No obstante, el método por número suele ser más seguro y rápido. Evitas errores de sintaxis y te ahorras dolores de cabeza.
Paso 6: Activar el cortafuegos UFW
Llegamos al punto clave. Ya tienes las políticas definidas, el SSH permitido y los puertos de tus aplicaciones abiertos. Es hora de activar el cortafuegos. El comando es:
Activar UFW:
sudo ufw enable
El sistema te lanzará una advertencia: «Command may disrupt existing ssh connections. Proceed with operation (y|n)?». Si hiciste el Paso 3 bien y abriste el puerto SSH, escribe y y dale a Enter. Las nuevas conexiones SSH seguirán funcionando; las que ya tenías abiertas podrían cortarse un segundo, pero nada grave.
Deberías ver el estado como active y el listado de las reglas cargadas, indicando a dónde (Anywhere) y qué acción (ALLOW) se aplica.
Preguntas Frecuentes sobre UFW en Ubuntu
¿Cómo reinicio UFW si algo falla?
Si te lías, desactívalo rápido con sudo ufw disable para recuperar conectividad total y luego sudo ufw enable para volver a cargar las reglas.
¿Puedo ver los registros de bloqueo?
Por supuesto. UFW guarda los paquetes que deniega. Puedes verlos en tiempo real con: sudo tail -f /var/log/ufw.log. Muy útil para detectar ataques de fuerza bruta o escaneos sospechosos.
¿UFW funciona con IPv6?
Sí, en las configuraciones modernas suele venir activado por defecto. Puedes asegurarte editando el archivo /etc/default/ufw y comprobando que IPV6=yes. Así gestionas las reglas para IPv4 e IPv6 a la vez.
Conclusión
La seguridad proactiva es la única defensa real contra las amenazas que hay ahí fuera. Hemos repasado cómo configurar cortafuegos UFW desde cero: políticas de denegación, permitir solo lo esencial y mantener el acceso remoto seguro. Es una capa fundamental, sí, pero solo es el principio del camino.
La administración de servidores requiere vigilancia y optimización constante. Si necesitas asegurar tu infraestructura más allá del firewall, hacer auditorías de seguridad o optimizar el rendimiento de tus aplicaciones WordPress, en RedServicio (redservicio.net) tenemos un equipo listo para echarte una mano. No dejes la seguridad de tu negocio al azar; mejor que lo gestionen profesionales.

