Configurar firewalld¶
Un servidor sin firewall expone todos los puertos que tenga abiertos — servicios que ni siquiera estás usando pueden convertirse en puntos de entrada. firewalld es el firewall por defecto en Fedora/RHEL y gestiona el tráfico mediante zonas: cada interfaz de red pertenece a una zona, y cada zona define qué servicios o puertos están permitidos.
Qué hace¶
firewalld funciona como una lista blanca basada en zonas:
- Zona por defecto:
public— solo permite SSH y dhcpv6-client. - Reglas permanentes vs temporales: los cambios con
--permanentpersisten entre reinicios; sin esa bandera son temporales (útil para probar). - Servicios integrados: define HTTP, HTTPS, SSH y otros servicios con nombre en vez de números de puerto.
Diferencia con UFW
En UFW, cada regla es permanente e inmediata. En firewalld, los cambios requieren --permanent + --reload para persistir. Sin --permanent, la regla desaparece al reiniciar. Sin --reload, la regla permanece en disco pero no se aplica.
Instalar¶
-
Comprobar si firewalld está activo:
sudo firewall-cmd --state -
Si no está activo, habilitarlo e iniciar:
sudo systemctl enable --now firewalld
Configurar¶
-
Ver la zona por defecto y los servicios permitidos:
sudo firewall-cmd --get-default-zone sudo firewall-cmd --list-services -
Abrir SSH (normalmente ya está abierto en la zona
public):sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload -
Abrir HTTP/HTTPS según el servidor web:
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
Verificar¶
-
Confirmar que las reglas están aplicadas:
sudo firewall-cmd --list-allDebe salir
services: ... ssh http https(además dedhcpv6-client).
Y ahora qué
firewalld está activo con las reglas mínimas. El siguiente paso es Fail2ban para bloquear intentos de intrusión repetidos.