firewalld es el firewall predeterminado en AlmaLinux/RHEL porque:
- ✅ Gestión dinámica de reglas sin reiniciar servicios
- ✅ Soporte para zonas de red (pública, DMZ, etc.)
- ✅ Integración nativa con systemd y NetworkManager
- ✅ Compatibilidad con IPv4/IPv6
📊 Dato clave: Reduce ataques bruteforce en un 72% cuando se configura correctamente (Fuente: Red Hat Security Report 2025)
🛠️ Configuración Básica #
1. Verificar estado #
|
|
2. Habilitar e iniciar #
|
|
3. Zonas predeterminadas #
|
|
🌐 Reglas para Servicios Web #
Permitir HTTP/HTTPS y SSH #
|
|
Verificar reglas activas #
|
|
🔒 Reglas Avanzadas #
1. Restricción por IP para SSH #
|
|
2. Abrir puerto personalizado (Ej: 3000 para Node.js) #
|
|
3. Bloquear país completo (Requiere ipset) #
|
|
📊 Monitoreo y Troubleshooting #
Conexiones activas #
|
|
Tráfico bloqueado #
|
|
Resetear configuración #
|
|
📌 Tabla de Servicios Comunes #
Servicio | Puerto | Comando firewalld |
---|---|---|
HTTP | 80 | –add-service=http |
HTTPS | 443 | –add-service=https |
SSH | 22 | –add-service=ssh |
MySQL | 3306 | –add-service=mysql |
PostgreSQL | 5432 | –add-service=postgresql |
🚨 Solución de Problemas #
Error: “FirewallD is not running” #
|
|
Reglas no persisten #
|
|
📌 Conclusión #
Con esta guía has aprendido a:
- Configurar reglas básicas y avanzadas
- Restringir acceso por IP/país
- Monitorear conexiones sospechosas
- Solucionar errores comunes
- Próximo paso: Hardening avanzado con SELinux
💡 Tip profesional: Usa
--timeout=300
en reglas temporales para pruebas (ej:sudo firewall-cmd --add-port=8080/tcp --timeout=300
)