7.4 Cortafuegos (UFW)
¡Prepárate!
- Comprenderás la monstruosa complejidad del cortafuegos base de Linux
(
iptables/nftables). - Aprenderás por qué Ubuntu/Debian inventaron el Uncomplicated FireWall (ufw) como capa salvavidas. - Sabrás habilitar el cortafuegos con una política predeterminada Dictatorial (deny). - Aprenderás a abrir fronteras específicas conallowy a cazar bots de SSH estirando cuerdas conlimit.
1. El Horror de Iptables vs la Paz de UFW
Sección titulada “1. El Horror de Iptables vs la Paz de UFW"Como vimos en la lección anterior (ss -tulpn), muchos demonios tienden por inercia o defecto a escuchar conexiones dirigidas hacia internet con el peligroso “0.0.0.0”.
Para evitar que un hacker conecte a esos puertos si el servidor está en producción, Linux posee uno de los subsistemas de Kernel de cortafuegos de red más sofisticados y militarizados de la tierra: Netfilter / Iptables.
El problema radical corporativo: su sintaxis es imposible de leer y mantener para un humano con prisa. (Tratar de cerrar el puerto web implica comandos infernales estilo iptables -A INPUT -p tcp --dport 80 -j DROP).
Si te equivocas en una letra de iptables, derribas la conexión de 1000 usuarios de tu empresa en dos segundos. Para simplificar esta monstruosidad universal, Canonical (los dueños de Ubuntu) crearon un sencillo “traductor” de inglés amigable llamado ufw, el cual se ha instalado como la norma de oro LFCS general.
2. El Ritual de Activación UFW (¡Peligro de muerte!)
Sección titulada “2. El Ritual de Activación UFW (¡Peligro de muerte!)"UFW viene apagado de forma nativa. Su primera y principal configuración teórica es la de todo guardabarreras: “Denegar TODO el tráfico entrante al PC, y Permitir TODO el tráfico saliente desde el PC hacia internet”.
1. Perforando la red antes del desastre
Sección titulada “1. Perforando la red antes del desastre"# Instalamos si no existe en servidor mínimosudo apt install ufw
# Hacemos el súper túnel blindado para no cortarnos el dedosudo ufw allow ssh2. Encendido Activo del Cortafuegos
Sección titulada “2. Encendido Activo del Cortafuegos"# Encendemos la muralla (se acordará tras cada reinicio también)sudo ufw enable
# Vemos nuestro estado actual para confirmar qué túneles existensudo ufw status verbose3. Esculpiendo las Defensas de Red (Reglas)
Sección titulada “3. Esculpiendo las Defensas de Red (Reglas)"Ahora que nuestra muralla UFW rebotará toda la basura externa de internet, nos toca permitir perforaciones puntuales o agujeros (allow) para que la gente de negocios pueda trabajar en los puertos de los Demonios internos.
Permitir acceso web general (allow)
Podemos hablarle mediante nombres de servicios conocidos o mediante número de puerto y el protocolo:
sudo ufw allow 80/tcp# Equivalente a:sudo ufw allow httpRestringir orígenes elitistas a IPs secretas
Supón que instalas una Base de Datos (3306). Nunca jamás bajo ninguna circunstancia se la abres al público universal con un allow 3306 normal. Para esto, creas un agujero láser que solo se abra si la llamada en la puerta procede de la dirección IP de tu servidor web en la IP 10.0.0.5:
# Solo admitimos a nuestro amigo al puerto 3306sudo ufw allow from 10.0.0.5 to any port 3306Bloqueos Explícitos Selectivos (deny o reject)
Hay un troll atacador en la calle en la máquina concreta 198.51.100.1 que te bombardea la web y quieres echarlo independientemente de la regla permitida:
sudo ufw deny from 198.51.100.14. La Trampa Anti-Fuerza Bruta: limit
Sección titulada “4. La Trampa Anti-Fuerza Bruta: limit"ufw trae incorporado un módulo de defensa automática brutal para demonios ultra-sensibles (como SSH en el 22).
Si usamos la regla especial de limit en vez de allow o deny, UFW construirá matemáticamente por detrás en Kernel una bolsa contenedora. Si alguien (tú o un botano Chino) intenta loguearse por SSH 6 o más veces fallidas en una diminuta ventana de 30 segundos, UFW lo catalogará silenciosamente como bot de diccionario y le quemará la IP negándole futuras conexiones en los próximos días.
# El comando defensivo supremo de la administración profesional remotasudo ufw limit sshComprueba tus conocimientos
Sección titulada “Comprueba tus conocimientos"-
Examen directo: Como administrador novato entras ilusionado la primera mañana al servidor recién desplegado en la nube de Amazon (
ssh id@cloud-debian), instalas tu Firewall Uncomplicated e inmediatamente tecleas la orden magnasudo ufw enablesintiéndote seguro, seguido de un “Enter”. Un segundo después, los caracteres de Putty se congelan extrañamente. Tu teclado no funciona; el servidor nube ya no “responde a pings” ni te dejará volver entrar nunca más ni a la de tres. ¿Qué dictado milenario desobedeciste? -
Hemos desplegado un ecosistema de monitorización interna exquisito (Nagios) que no tiene contraseñas pero tiene que estar vivo escuchando reportes de equipos internos. Sabemos que un
allow / portcomún como se hace con la Web sería catastrófico publicándolo en un router porque cualquiera leería tu infraestructura. ¿Qué cláusula de control milimétrica de UFW exigirás usar al arquitecto de red si sabes que el Nagios debe estar escondido y que SOLO debe dejarse tocar desde la IP directiva corporativa origen10.8.0.50? -
Existen bots especializados zombificados en botnets que rastrean e iluminan rangos de internet diarios. En cuanto detectan que tienes el puerto 22 abierto (
allow ssh), disparan asombrosamente rápido scripts programados por su creador inyectando listas filtradas de la Deep Web probando típicamente tu puerta SSH hasta50 palabrasen una ventanilla de10 míseros segundos. Acaban colapsándote CPU por culpa de la Criptografía asimétrica o en el peor de los casos adivinando el combo (user/1234). ¿Qué orden impone UFW para disuadir este modelo abismal de ataque matemático sin romper tu acceso vital lícito?