Firewall Seguridad Ubuntu Linux Rocky Linux

Cómo configurar el firewall en Linux: UFW y firewalld

Protegé tu servidor Linux con UFW (Ubuntu/Debian) o firewalld (Rocky Linux/RHEL). Aprendé a abrir y cerrar puertos, ver reglas activas y configurar una política segura.

9 de abril de 2026 8 min de lectura Host Crafter

¿Por qué necesitás un firewall?

Un servidor expuesto a internet sin firewall tiene todos sus puertos accesibles desde cualquier parte del mundo. En minutos de estar online, los bots empiezan a intentar acceder por puertos de bases de datos, paneles de administración y servicios no protegidos.

Nota: Los comandos en esta guía dependen del sistema operativo que uses. Se cubren UFW (Ubuntu/Debian) y firewalld (Rocky Linux, AlmaLinux, RHEL, CentOS Stream). Usá los comandos correspondientes a tu distribución.


UFW — Ubuntu / Debian

UFW (Uncomplicated Firewall) es la interfaz de alto nivel para iptables que viene preinstalada en Ubuntu y Debian.

# Verificar si está instalado
ufw status

# Instalar si no está
apt install ufw -y

⚠️ Antes de activar: permitir SSH

ufw allow OpenSSH
# Si usás un puerto personalizado:
ufw allow 2222/tcp

Activar y configurar política por defecto

ufw default deny incoming
ufw default allow outgoing
ufw enable
ufw status verbose

Permitir servicios comunes con UFW

# HTTP y HTTPS
ufw allow 80/tcp
ufw allow 443/tcp
# O en un comando:
ufw allow 'Nginx Full'

# Base de datos solo desde IP específica
ufw allow from 192.168.1.50 to any port 3306   # MySQL
ufw allow from 192.168.1.50 to any port 5432   # PostgreSQL

Ver y eliminar reglas en UFW

# Ver reglas numeradas
ufw status numbered

# Eliminar por número
ufw delete 4

# Eliminar por regla
ufw delete allow 80/tcp

Limitar intentos (anti fuerza bruta)

ufw limit OpenSSH

Bloquea IPs con más de 6 conexiones en 30 segundos.

Bloquear una IP en UFW

ufw deny from 185.220.101.45
ufw deny from 185.220.101.0/24  # Bloquear un rango

firewalld — Rocky Linux / AlmaLinux / RHEL

firewalld es el firewall por defecto en distribuciones basadas en Red Hat. Usa el concepto de zonas — la zona public es la más usada para servidores.

# Instalar y activar
dnf install firewalld -y
systemctl enable --now firewalld

# Ver estado
firewall-cmd --state
firewall-cmd --list-all

Permitir servicios comunes con firewalld

# SSH
firewall-cmd --permanent --add-service=ssh

# HTTP y HTTPS
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https

# Puerto específico
firewall-cmd --permanent --add-port=8080/tcp

# Aplicar cambios (siempre necesario con --permanent)
firewall-cmd --reload

Permitir desde una IP específica

# MySQL solo desde un servidor interno
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.50" port protocol="tcp" port="3306" accept'
firewall-cmd --reload

Ver y eliminar reglas en firewalld

# Ver todo
firewall-cmd --list-all

# Eliminar un servicio
firewall-cmd --permanent --remove-service=http
firewall-cmd --reload

Bloquear una IP en firewalld

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="185.220.101.45" reject'
firewall-cmd --reload

Configuración recomendada para un VPS web típico

Ubuntu:

ufw default deny incoming
ufw default allow outgoing
ufw allow OpenSSH
ufw allow 'Nginx Full'
ufw enable

Rocky Linux:

systemctl enable --now firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Logging

Ubuntu (UFW):

ufw logging on
tail -f /var/log/ufw.log

Rocky Linux (firewalld):

firewall-cmd --set-log-denied=all
journalctl -f | grep -i firewall

Complementá el firewall del sistema con el Firewall de red de Host Crafter para una capa adicional de protección a nivel de infraestructura.

¿Listo para ponerlo en práctica?

VPS con firewall incluido