Para configurar un firewall en tu VPS y proteger tu sitio web, instala UFW (Uncomplicated Firewall), permite solo los puertos necesarios (22, 80, 443) y bloquea el resto del tráfico. Es la forma más rápida de cerrar la superficie de ataque de un servidor Linux recién aprovisionado.
Un VPS sin firewall es un servidor con todas las puertas abiertas. Los bots de internet escanean rangos de IP completos en cuestión de minutos buscando puertos expuestos, servicios vulnerables y contraseñas débiles. Configurar un firewall es el primer paso de seguridad que debes completar antes de desplegar cualquier aplicación.
¿Qué es un firewall y por qué lo necesita tu VPS?
Un firewall es un filtro de tráfico de red. Decide qué conexiones entrantes y salientes están permitidas según reglas que tú defines. En un VPS Linux, el firewall opera a nivel del sistema operativo y actúa como la primera capa de defensa antes de que cualquier solicitud llegue a tu servidor web o aplicación.
Sin firewall, todos los puertos abiertos de tu servidor son accesibles públicamente. Eso incluye puertos de administración de bases de datos (3306 MySQL), paneles de administración y servicios internos que nunca deberían ser visibles desde internet.
UFW vs. iptables — ¿cuál usar?
| Herramienta | Complejidad | Ideal para | Distros principales |
|---|---|---|---|
| UFW | Baja | Administradores que no son expertos en redes | Ubuntu, Debian |
| firewalld | Media | Entornos con zonas de red diferenciadas | CentOS, Rocky Linux, RHEL |
| iptables / nftables | Alta | Configuraciones avanzadas y scripting | Todas las distros Linux |
Para la mayoría de sitios web en VPS, UFW ofrece el mejor equilibrio entre simplicidad y control. Esta guía se centra en UFW, pero al final se incluyen los equivalentes en firewalld.
Configurar UFW paso a paso (Ubuntu/Debian)
Paso 1: Instala y verifica UFW
En la mayoría de imágenes de Ubuntu modernas, UFW ya está instalado. Verifica su estado:
sudo apt update
sudo apt install ufw -y
sudo ufw status
Paso 2: Define la política por defecto
Antes de activar el firewall establece las políticas base. La regla de oro: denegar todo el tráfico entrante y permitir todo el saliente:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Paso 3: Permite los puertos esenciales
Importante: añade SSH antes de activar UFW o perderás el acceso a tu servidor.
# SSH — acceso remoto al servidor
sudo ufw allow 22/tcp
# HTTP y HTTPS — tráfico web
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Si cambiaste el puerto SSH por seguridad (por ejemplo al 2222), sustituye 22 por el número correcto.
Paso 4: Activa el firewall
sudo ufw enable
UFW te pedirá confirmación. Escribe y y presiona Enter. A partir de este momento el firewall está activo y sobrevivirá a los reinicios del servidor.
Paso 5: Verifica las reglas activas
sudo ufw status verbose
Deberías ver algo similar a:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW IN Anywhere
80/tcp ALLOW IN Anywhere
443/tcp ALLOW IN Anywhere
Reglas adicionales según tu stack
Dependiendo de los servicios que uses en tu VPS, quizás necesitas abrir más puertos. Hazlo solo si es estrictamente necesario:
- MySQL accesible remotamente (solo si lo necesitas):
sudo ufw allow from TU_IP to any port 3306— nunca abras el 3306 al mundo entero. - Servidor de correo:
sudo ufw allow 25,587,465/tcp - FTP/SFTP: prefiere SFTP (usa el puerto 22, ya permitido) en lugar de FTP sin cifrar.
- Panel de control (Plesk/Webmin):
sudo ufw allow 8443/tcp
La filosofía es mínimo privilegio: abre solo lo que activamente necesitas y cierra todo lo demás.
Equivalentes en firewalld (CentOS/Rocky Linux)
Si tu VPS usa una distribución basada en Red Hat, el gestor de firewall es firewalld:
# Habilitar e iniciar
sudo systemctl enable --now firewalld
# Permitir servicios web y SSH
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=ssh
# Aplicar cambios
sudo firewall-cmd --reload
# Ver estado
sudo firewall-cmd --list-all
Para una capa adicional de seguridad en tu infraestructura, consulta la sección de seguridad SSL y servidores de nuestro blog.
Conclusiones clave
- Un firewall es la primera línea de defensa de cualquier VPS: configúralo antes de desplegar tu aplicación.
- La política de denegación por defecto (
deny incoming) es el punto de partida correcto; permite solo lo que necesitas. - Abre siempre el puerto SSH antes de activar UFW para no quedarte sin acceso.
- Nunca expongas puertos de bases de datos (3306, 5432) al internet público; limítalos a IPs de confianza.
- UFW es la opción más sencilla para Ubuntu/Debian; firewalld para distros basadas en Red Hat.
- Revisa y audita tus reglas periódicamente: las necesidades cambian y los puertos olvidados son vectores de ataque.
¿Prefieres un servidor ya asegurado y administrado por expertos? En elenlace.com ofrecemos VPS administrados con firewall preconfigurado, monitoreo 24/7 y soporte técnico en español para que te concentres en tu negocio.
Preguntas frecuentes
¿Bloquear el firewall puede hacer que pierda acceso SSH a mi VPS?
Sí, si activas UFW sin antes permitir el puerto 22 (o el puerto SSH personalizado que uses) te quedarás sin acceso remoto. Si eso ocurre, la mayoría de proveedores de VPS tienen una consola de emergencia (VNC o KVM) accesible desde su panel web que te permite acceder al servidor directamente para corregirlo.
¿Necesito firewall si ya uso Cloudflare?
Sí. Cloudflare protege el tráfico web HTTP/HTTPS, pero si tu servidor tiene otros puertos expuestos (MySQL, SSH, paneles de control), Cloudflare no los cubre. El firewall del sistema operativo protege todos los puertos de tu VPS sin importar qué proxy uses en frente.
¿Cuál es la diferencia entre UFW y el firewall del proveedor de VPS?
Los proveedores de VPS (DigitalOcean, Linode, Vultr, etc.) suelen ofrecer un firewall a nivel de red (antes de que el tráfico llegue al servidor). Es una capa adicional excelente, pero complementaria. UFW opera dentro del sistema operativo y permite reglas más granulares. Lo ideal es tener ambos activos.
¿Con qué frecuencia debo revisar las reglas de firewall?
Revisa las reglas cada vez que instales o desinstales un servicio, y como mínimo cada 3-6 meses como auditoría de rutina. Ejecuta sudo ufw status verbose para ver qué está abierto y cuestiona si cada puerto sigue siendo necesario.
¿Prefieres que lo hagamos por ti? En El Enlace resolvemos hosting y desarrollo web profesional.
Recursos útiles
Otros proveedores y guías que vale la pena comparar: