Cómo Arreglar Docker Swarm Infectado con Malware PHP-FPM
¿Tu contenedor PHP-FPM está usando 100% de la CPU? Probablemente, tienes un problema de malware tipo minero. Te voy a mostrar cómo arreglar este problema paso a paso.
El Problema
Los contenedores Docker con PHP-FPM son blancos fáciles para el malware. Los atacantes instalan software de minería que usa toda tu CPU. El problema es que Docker no respeta UFW (tu firewall), así que tu servidor queda expuesto.
Por Qué Pasa Esto
Problema | Causa |
---|---|
CPU al 100% | Malware de minería instalado |
Firewall inútil | Docker bypasa UFW |
Puertos abiertos | Acceso directo a contenedores |
La Solución
Necesitas configurar el firewall correctamente para que trabaje con Docker. Aquí está el script que funciona:
Paso 1: Abrir la Terminal
Abre tu terminal y conecta a tu servidor. Necesitas permisos de root para hacer estos cambios.
Paso 2: Crear el Script de Firewall
Copia este código y pégalo en tu terminal:
sudo tee -a /etc/ufw/after.rules >/dev/null << 'EOF'
# BEGIN UFW AND DOCKER
*filter
:ufw-user-forward - [0:0]
:ufw-docker-logging-deny - [0:0]
:DOCKER-USER - [0:0]
-A DOCKER-USER -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A DOCKER-USER -m conntrack --ctstate INVALID -j DROP
-A DOCKER-USER -i eth0 -j ufw-user-forward
-A DOCKER-USER -i eth0 -j RETURN
-A DOCKER-USER -j RETURN
COMMIT
# END UFW AND DOCKER
EOF
Paso 3: Reiniciar el Firewall
Después de agregar el script, reinicia UFW:
sudo ufw reload
Paso 4: Verificar que Funciona
Revisa si el firewall está bloqueando conexiones no deseadas:
sudo ufw status
Qué Hace Este Script
Línea | Función |
---|---|
DOCKER-USER | Crea cadena personalizada para Docker |
RELATED,ESTABLISHED | Permite conexiones ya establecidas |
INVALID | Bloquea paquetes malformados |
ufw-user-forward | Respeta reglas UFW |
Cómo Prevenir Futuros Ataques
- Actualiza tus contenedores regularmente
- Usa versiones seguras de PHP-FPM
- Configura logs para monitorear actividad
- Limita acceso a puertos específicos
Verificar que el Malware Se Fue
Después de aplicar el firewall, revisa tu CPU:
htop
Tu uso de CPU debería volver a niveles normales. Si sigues viendo procesos extraños, puede que necesites recrear tus contenedores.
Consejos Adicionales
- Respalda tus datos antes de hacer cambios
- Documenta qué puertos necesitas abiertos
- Monitorea tu servidor después del cambio
- Considera usar un firewall adicional
Este script soluciona el problema donde Docker ignora UFW. Ahora tu firewall puede controlar el tráfico que llega a tus contenedores y bloquear ataques futuros.
0 comentarios