Configuración del firewall de Docker
Configurar el firewall de un host Docker
Configurar el Firewall del Host Docker
- Se asume un servidor Debian/Ubuntu
- Diseñado para ejecutarse en el servidor host Docker
Instalar requisitos
# Ultimate Firewall Neededapt-get update && apt-get install -y ufw nmap curlObtener tus direcciones IP internas y externas
# Get your IP Addresses, simple output:hostname --all-ip-addresses
# O usa la herramienta ip, ejemplo:ip addrConfiguración del Firewall (UFW) - Comandos de Ejemplo
ufw logging on # on=low - medium podría ser mejor para diagnósticosufw logging medium# Primero, bloquear todoufw default deny incoming
# REQUERIDO: ELIGE *UNA* DE LAS SIGUIENTES REGLAS DE SALIDA POR DEFECTO:ufw default deny outgoingufw default allow outgoing
# Permitir y registrar todas las nuevas conexiones ssh,ufw allow log proto tcp from any to any port 22## Permitir tráfico http (sin registro explícito)ufw allow out on docker0 53/udp to 172.17.0.1/16ufw allow out on eth0 to any port 53ufw allow out on eth0 from 0.0.0.0/0 to any port 80 proto tcpufw allow out on eth0 from 0.0.0.0/0 to any port 443 proto tcp
# Verboso: ufw allow proto tcp from any to any port 80ufw allow 80/tcpufw allow 443/tcpufw allow log 22/tcpufw limit ssh # Límite de tasa básico para mitigar fuerza bruta SSH--- CHUNK END ---
# Establece tu IP externaexport EXTERNAL_IP=123.123.123.123# Actualiza la IP de Docker si es necesarioexport DOCKER_IP=172.17.42.1# Reenvía tráfico tcp del puerto 8080 a la app dockerizadaufw allow proto tcp from $EXTERNAL_IP port 8080 to $DOCKER_IP port 3000Habilitar / Iniciar Firewall
Ten cuidado, no bloquees tu puerto SSH (sshd por defecto usa el 22)
ufw --force enable
ufw resetPrueba tu Firewall
Importante: USA UNA DIRECCIÓN IP/UBICACIÓN REMOTA
# Verify dependencyapt-get update && apt-get install -y nmap
# Set scan targetexport TARGET_HOST=123.123.123.123
# Example Scan Commands:# Fast open port checknmap -p 1-10240,27017 -T5 $TARGET_HOST# Thorough scannmap -p 1-10240,27017 --open -v -APN $TARGET_HOST# Svc Inspectionnmap -p 1-10240,27017 -O --osscan-guess $TARGET_HOST¡HECHO! ¡Ahora deberías ver SOLO los puertos que configuraste!