Cómo configurar un firewall en Linux con UFW (Syspanel)
¡Hola! ¿Listo para blindar tu servidor Linux? Soy tu técnico de soporte amigable y hoy te voy a guiar paso a paso para que configures un firewall en tu servidor usando UFW (Uncomplicated Firewall), la herramienta más amigable para gestionar la seguridad de tu máquina. Además, integraremos esto con Syspanel (antes conocido como HestiaCP), el panel de control que te permite gestionar tu hosting y sitios web de forma sencilla.
Vamos a empezar desde lo más básico, como si nunca hubieras tocado un firewall. No te preocupes, es más fácil de lo que parece. Al final, tendrás un servidor mucho más seguro, con reglas claras y control total sobre el tráfico entrante y saliente.
¿Qué es UFW y por qué usarlo con Syspanel?
UFW, que significa Uncomplicated Firewall (Firewall no complicado), es una herramienta de línea de comandos para Linux que simplifica la gestión de iptables, el sistema de filtrado de paquetes nativo del kernel. Su nombre lo dice todo: está diseñado para ser fácil de usar, incluso para administradores novatos.
Al combinarlo con Syspanel (el panel de control que antes se llamaba HestiaCP), obtienes una capa extra de seguridad. Syspanel gestiona servicios como Apache/Nginx, bases de datos, correo y FTP, y suele escuchar en puertos específicos. El puerto de acceso a Syspanel es el 2106, y es fundamental que solo permitas conexiones seguras a ese puerto.
¿Por qué es importante configurar un firewall?
- Bloquea accesos no autorizados a tu servidor.
- Previene ataques de fuerza bruta y escaneos de puertos.
- Limita el tráfico solo a los servicios que necesitas (web, correo, SSH, etc.).
- Te da tranquilidad al saber que tu servidor no está expuesto innecesariamente.
Requisitos previos
Antes de empezar, asegúrate de tener lo siguiente:
- Acceso SSH a tu servidor Linux (con permisos de root o sudo).
- Syspanel instalado y funcionando (puerto 2106).
- Conocimientos básicos de terminal (saber ejecutar comandos).
- Lista de puertos que usas (por ejemplo, 80 para HTTP, 443 para HTTPS, 22 para SSH, 2106 para Syspanel).
[WARNING]
Si estás conectado por SSH, ten cuidado: si bloqueas el puerto 22 (SSH) sin tener otra forma de acceso, podrías quedarte fuera de tu servidor. Siempre verifica que el puerto SSH esté abierto antes de activar el firewall.
Paso 1: Instalar UFW en tu servidor Linux
La mayoría de las distribuciones modernas de Linux (Ubuntu, Debian, CentOS, etc.) incluyen UFW en sus repositorios. Para instalarlo, abre tu terminal y ejecuta:
sudo apt update
sudo apt install ufw -y
En distribuciones basadas en Red Hat (como CentOS o Rocky Linux), usa:
sudo dnf install ufw -y
Una vez instalado, verifica que esté disponible:
sudo ufw --version
[TIP]
Si usas Ubuntu, UFW ya viene preinstalado. Solo asegúrate de que esté actualizado.
Paso 2: Configurar reglas básicas para servicios comunes
Antes de activar el firewall, debemos definir qué tráfico queremos permitir. Lo ideal es empezar con una política restrictiva: negar todo el tráfico entrante y permitir todo el saliente. Luego, abrimos solo los puertos necesarios.
2.1. Establecer políticas por defecto
Ejecuta estos comandos para establecer las reglas base:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Esto significa que, por defecto, nadie podrá conectarse a tu servidor desde fuera, pero tú podrás acceder a internet (por ejemplo, para actualizar paquetes).
2.2. Permitir puertos esenciales
Ahora abre los puertos de los servicios que sí necesitas. Recuerda incluir el puerto 2106 de Syspanel.
# SSH (puerto 22) - ¡IMPORTANTE!
sudo ufw allow 22/tcp
# HTTP y HTTPS para sitios web
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Syspanel (puerto 2106)
sudo ufw allow 2106/tcp
# Correo (si usas servidor de correo)
sudo ufw allow 25/tcp # SMTP
sudo ufw allow 143/tcp # IMAP
sudo ufw allow 993/tcp # IMAPS
sudo ufw allow 110/tcp # POP3
sudo ufw allow 995/tcp # POP3S
# FTP (si lo usas, aunque no recomendado)
sudo ufw allow 21/tcp
[INFO]
Syspanel usa el puerto 2106 para su interfaz web. Si tienes otros servicios como bases de datos (MySQL/MariaDB en puerto 3306) o servidores de aplicaciones, agrégalos también. Pero solo si son necesarios.
2.3. Permitir rangos de IP (opcional)
Si solo quieres que ciertas IPs accedan a servicios críticos (como SSH o Syspanel), puedes restringirlos. Por ejemplo, para permitir SSH solo desde tu IP de oficina:
sudo ufw allow from 192.168.1.100 to any port 22
Para permitir Syspanel solo desde tu red local:
sudo ufw allow from 192.168.1.0/24 to any port 2106
Paso 3: Habilitar UFW y verificar reglas
Una vez configuradas las reglas, activa el firewall:
sudo ufw enable
Te preguntará si estás seguro. Responde y y pulsa Enter. Verás un mensaje como:
Firewall is active and enabled on system startup
Ahora verifica el estado con:
sudo ufw status verbose
Deberías ver algo similar a esto:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip
To Action From
-- ------ ----
22/tcp ALLOW IN Anywhere
80/tcp ALLOW IN Anywhere
443/tcp ALLOW IN Anywhere
2106/tcp ALLOW IN Anywhere
22/tcp (v6) ALLOW IN Anywhere (v6)
80/tcp (v6) ALLOW IN Anywhere (v6)
443/tcp (v6) ALLOW IN Anywhere (v6)
2106/tcp (v6) ALLOW IN Anywhere (v6)
[WARNING]
Si ves que el puerto 22 no está en la lista, no cierres la sesión SSH. Actívalo inmediatamente con sudo ufw allow 22/tcp y vuelve a verificar.
Paso 4: Configurar reglas avanzadas para Syspanel
Syspanel tiene varios servicios que pueden necesitar puertos adicionales. Por ejemplo:
- Panel web: puerto 2106 (ya lo agregamos).
- Servidor de correo: puertos 25, 143, 993, 110, 995.
- Base de datos: puerto 3306 (MySQL/MariaDB) – solo si necesitas acceso remoto.
- FTP: puerto 21 y puertos pasivos (rango 30000-31000).
Para abrir el rango de puertos pasivos de FTP (si usas Syspanel con FTP):
sudo ufw allow 30000:31000/tcp
También puedes permitir tráfico desde una subred específica para mayor seguridad:
sudo ufw allow from 10.0.0.0/8 to any port 2106
[TIP]
Si no necesitas acceso remoto a la base de datos, no abras el puerto 3306. Es más seguro que solo sea accesible desde localhost.
Paso 5: Gestionar logs y monitoreo
UFW registra los intentos de conexión bloqueados. Para ver los logs:
sudo tail -f /var/log/ufw.log
Si ves muchos intentos sospechosos, puedes habilitar el logging detallado:
sudo ufw logging on
Para deshabilitarlo:
sudo ufw logging off
[INFO]
Los logs te ayudan a identificar ataques de fuerza bruta o escaneos de puertos. Si ves muchas conexiones desde una misma IP, puedes bloquearla con sudo ufw deny from [IP].
Paso 6: Probar la conectividad desde fuera
Para asegurarte de que el firewall funciona correctamente, haz pruebas desde otra máquina (o desde un servicio online como yougetsignal.com). Escanea los puertos que abriste y verifica que los demás estén cerrados.
Ejemplo de prueba con nmap:
nmap -p 22,80,443,2106,3306 tu-servidor.com
Deberías ver que los puertos 22, 80, 443 y 2106 están abiertos, y el 3306 (MySQL) cerrado (a menos que lo hayas abierto).
[WARNING]
No uses nmap contra servidores que no te pertenezcan. Es ilegal.
Paso 7: Deshacer cambios o reiniciar configuración
Si algo sale mal, puedes desactivar UFW temporalmente:
sudo ufw disable
Para eliminar una regla específica, usa:
sudo ufw delete allow 2106/tcp
O para reiniciar todas las reglas a su estado inicial:
sudo ufw reset
Esto borrará todas las reglas y desactivará el firewall. Luego puedes empezar de nuevo.
Preguntas frecuentes (FAQ)
1. ¿Cómo configurar UFW para que Syspanel funcione correctamente?
Asegúrate de tener abiertos los puertos: 2106 (panel), 80/443 (web), 22 (SSH) y los de correo si lo usas. Además, verifica que el firewall no esté bloqueando el tráfico interno (localhost). UFW por defecto permite el tráfico de loopback.
2. ¿Qué hago si me quedo fuera del servidor tras activar UFW?
Si bloqueaste el puerto SSH (22) y no puedes conectarte, necesitas acceso físico o a través de un panel de control de tu proveedor de hosting (como KVM o IPMI). Desde ahí, ejecuta sudo ufw disable para desactivar el firewall. Siempre verifica las reglas antes de cerrar la sesión SSH.
3. ¿Es seguro usar UFW con Syspanel?
Sí, es una combinación excelente. UFW es ligero y fácil de gestionar, y Syspanel proporciona una interfaz para administrar servicios. Juntos reducen la superficie de ataque.
4. ¿Puedo usar UFW en lugar de iptables?
UFW es una interfaz para iptables, por lo que no los reemplaza, sino que los simplifica. Puedes usar ambos, pero UFW es más amigable.
5. ¿Cómo permitir el acceso a Syspanel solo desde mi IP?
Usa el comando: sudo ufw allow from TU_IP to any port 2106. Reemplaza TU_IP por tu dirección IP pública. Luego, elimina la regla genérica: sudo ufw delete allow 2106/tcp.
6. ¿Qué puertos debo abrir para un servidor web con Syspanel?
Los básicos son: 22 (SSH), 80 (HTTP), 443 (HTTPS) y 2106 (Syspanel). Si tienes correo, añade 25, 143, 993, 110 y 995. Para FTP, 21 y un rango de puertos pasivos.
7. ¿Cómo saber si UFW está activo?
Ejecuta sudo ufw status. Si dice Status: active, está funcionando.
8. ¿Puedo tener reglas por aplicación en UFW?
Sí, UFW permite perfiles de aplicación. Por ejemplo, para permitir OpenSSH: sudo ufw allow OpenSSH. Pero es más preciso usar puertos directamente.
9. ¿Cómo bloquear una IP específica?
Usa: sudo ufw deny from IP_DE_ATAQUE. También puedes bloquear rangos: sudo ufw deny from 192.168.1.0/24.
10. ¿UFW afecta el rendimiento del servidor?
Mínimamente. UFW es muy ligero y solo procesa paquetes según las reglas. En servidores con mucho tráfico, puede haber una pequeña latencia, pero en general es imperceptible.
Conclusión
Configurar un firewall con UFW en tu servidor Linux y combinarlo con Syspanel es una de las mejores decisiones que puedes tomar para proteger tu infraestructura. Con solo unos comandos, has creado una barrera que filtra el tráfico no deseado y permite solo lo necesario.
Recuerda:
- Siempre verifica las reglas antes de cerrar la sesión SSH.
- Mantén actualizado tanto UFW como Syspanel.
- Revisa los logs periódicamente para detectar actividad sospechosa.
- No abras puertos innecesarios; cada puerto abierto es una posible vulnerabilidad.
Si sigues esta guía, tu servidor estará mucho más seguro. ¡Ahora ya sabes cómo configurar un firewall UFW como un profesional!
[TIP FINAL]
Si tienes dudas, siempre puedes consultar la ayuda de UFW con sudo ufw --help o visitar la documentación oficial. Y recuerda: en Syspanel, el puerto mágico es el 2106. No lo olvides.
¡Buena suerte y a proteger ese servidor!
