Suite de herramientas avanzadas para administración de iptables especializada en servidores Left 4 Dead 2
Protección completa contra ataques DDoS específicos de Source Engine con sistema de logging y análisis integrado
- 🛡️ Protección Avanzada DDoS: Mitigación específica contra ataques comunes a servidores L4D2
- 🐳 Soporte Docker: Compatibilidad completa con servidores nativos y contenedores
- 📊 Sistema de Logging: Análisis detallado de ataques con reportes JSON comprehensivos
- ⚙️ Gestión Simplificada: Herramientas intuitivas para administrar reglas persistentes
- 🎯 Detección Inteligente: Identificación de patrones específicos de ataques Source Engine
- 📈 Análisis Temporal: Reportes por IP, puerto, día, semana, mes y tipo de ataque
- Sistema: Linux (Ubuntu 18.04+, Debian 9+, CentOS 7+)
- Permisos: Acceso root/sudo
- Dependencias: Python 3.6+, iptables, rsyslog
# 1. Clonar el repositorio
git clone https://github.com/AoC-Gamers/L4D2-Iptable-Suite.git
cd L4D2-Iptable-Suite
# 2. Configurar archivo de entorno
cp example.env .env
nano .env # Ajustar configuración según tu servidor
# 3. Aplicar reglas de iptables
sudo ./iptables.rules.sh
# 4. Hacer reglas persistentes
sudo ./ipp.sh
# 5. Configurar entorno Python (Opcional - Recomendado)
chmod +x venv.loggin.sh
./venv.loggin.sh
# Seleccionar opción 1: Instalar entorno virtual
# 6. Configurar sistema de logging
# Método A: Con entorno virtual (recomendado)
./venv.loggin.sh
# Seleccionar opción 6: Run iptable.loggin.py script
# Método B: Ejecución directa
sudo python3 iptable.loggin.py
Edita el archivo .env
según tu configuración:
# Tipo de servidor (0=Nativo, 1=Docker, 2=Ambos)
TYPECHAIN=0
# Puertos de tu servidor L4D2
GAMESERVERPORTS="27015"
TVSERVERPORTS="27020"
# Protección TCP RCON
ENABLE_TCP_PROTECT=true
# IPs de confianza (acceso completo al sistema - ⚠️ TODOS los puertos)
WHITELISTED_IPS="192.168.1.100 10.0.0.5"
⚠️ ADVERTENCIA: Las IPs enWHITELISTED_IPS
tendrán acceso completo e irrestricto a toda la máquina (SSH, Web, Bases de datos, APIs, etc.). Usar solo para administradores e IPs absolutamente confiables.
Script principal que implementa reglas avanzadas de iptables específicamente diseñadas para mitigar ataques DDoS contra servidores L4D2. Incluye protección contra floods UDP, ataques challenge, validación de paquetes, consultas A2S maliciosas, spam TCP/RCON, consultas Steam y ping floods.
Soporta configuración flexible para servidores nativos, contenedores Docker o configuraciones híbridas mediante variables de entorno.
Herramienta interactiva con menú para gestionar la persistencia de reglas iptables. Permite instalar/desinstalar iptables-persistent, visualizar reglas activas y guardadas, realizar backup y restauración de configuraciones, y diagnosticar el estado del sistema.
Simplifica significativamente la administración de reglas persistentes eliminando la necesidad de recordar comandos complejos de iptables.
Herramienta avanzada de logging y análisis que configura automáticamente rsyslog para capturar logs de iptables y genera reportes JSON detallados. Proporciona análisis temporal por IP, puerto, día, semana, mes y tipo de ataque, permitiendo identificar patrones maliciosos y tendencias de seguridad.
Incluye detección de 12 tipos específicos de ataques contra servidores L4D2 con categorización por severidad y recomendaciones de mitigación.
Sistema avanzado de gestión de entorno virtual Python con interfaz interactiva de 8 opciones. Facilita la instalación, configuración y uso de iptable.loggin.py
mediante aislamiento de dependencias y compatibilidad multiplataforma.
Características principales:
- 🖥️ Compatibilidad multiplataforma: Windows, Linux, macOS
- 🔧 Instalación automática: Crea y configura el entorno virtual automáticamente
- 🐍 Ejecución inteligente: Maneja sudo automáticamente en Linux, sin sudo en Windows
- 📊 Verificación completa: Confirma dependencias y archivos antes de ejecutar
- 🎯 Uso directo: Opción 6 ejecuta el script sin activación manual del entorno
Menú interactivo:
Available options:
1. 🔧 Install virtual environment
2. ▶️ Activate virtual environment
3. ⏹️ Deactivate virtual environment
4. 📊 Check environment status
5. 🔄 Reinstall dependencies
6. 🐍 Run iptable.loggin.py script
7. ❓ Help
8. 🚪 Exit
# .env configuration
TYPECHAIN=0
GAMESERVERPORTS="27015"
TVSERVERPORTS="27020"
ENABLE_TCP_PROTECT=true
# .env configuration
TYPECHAIN=0
GAMESERVERPORTS="27015:27030" # 16 servidores
TVSERVERPORTS="27115:27130" # 16 SourceTV
ENABLE_TCP_PROTECT=true
# .env configuration
TYPECHAIN=1 # Solo Docker
GAMESERVERPORTS="27015:27018"
TCP_DOCKER="80,443" # Puertos adicionales
SSH_DOCKER="2222"
# .env configuration
TYPECHAIN=2 # Nativo + Docker
GAMESERVERPORTS="27015:27020"
TVSERVERPORTS="27115:27120"
TCP_DOCKER="80,443,8080"
ENABLE_TCP_PROTECT=true
El sistema identifica y mitiga los siguientes patrones de ataque:
Tipo de Ataque | Descripción | Severidad | Impacto |
---|---|---|---|
A2S_INFO_FLOOD | Flood de consultas de información del servidor | Media | Saturación CPU/Bandwidth |
A2S_PLAYERS_FLOOD | Flood de consultas de lista de jugadores | Media | Mayor consumo de bandwidth |
A2S_RULES_FLOOD | Flood de consultas de variables del servidor | Alta | Respuesta muy grande |
L4D2_CONNECT_FLOOD | Flood de paquetes "connect" | Alta | Bloquea conexiones legítimas |
L4D2_RESERVE_FLOOD | Flood de paquetes "reserve" | Alta | Inestabilidad de lobby |
UDP_NEW_LIMIT | Límite de conexiones UDP nuevas | Baja | Protección preventiva |
UDP_EST_LIMIT | Límite de conexiones UDP establecidas | Media | Afecta jugadores activos |
TCP_RCON_BLOCK | Intentos de acceso RCON malicioso | Alta | Compromiso administrativo |
INVALID_SIZE | Paquetes con tamaños maliciosos | Baja | Consumo CPU |
MALFORMED | Paquetes UDP malformados | Baja | Potencial crash |
STEAM_GROUP_FLOOD | Flood de consultas Steam | Media | Recursos Steam API |
ICMP_FLOOD | Ping flood | Baja | Degradación de red |
# Configurar reglas básicas
sudo ./iptables.rules.sh
# Hacer persistentes
sudo ./ipp.sh # Opción 1: Install, Opción 5: Save
# Configurar logging con entorno virtual (recomendado)
./venv.loggin.sh # Opción 1: Install, Opción 6: Run script
# O configurar logging directamente
sudo python3 iptable.loggin.py # Opción 1: Install rsyslog
# Generar reportes semanales con entorno virtual
./venv.loggin.sh # Opción 6: Run script, Opción 4: Analyze logs
# O generar reportes directamente
sudo python3 iptable.loggin.py # Opción 4: Analyze logs
# Verificar estado de reglas
sudo ./ipp.sh # Opción 9: Status
# Actualizar configuración
nano .env
sudo ./iptables.rules.sh # Reaplicar reglas
sudo ./ipp.sh # Opción 5: Save rules
# Limpiar logs antiguos
sudo logrotate -f /etc/logrotate.d/l4d2-iptables
- 📖 iptables.rules.sh - Documentación técnica del motor de protección
- 📖 ipp.sh - Guía del gestor de persistencia
- 📖 iptable.loggin.py - Manual del sistema de análisis
- � venv.loggin.sh - Guía del gestor de entorno virtual
- �📋 example.env - Archivo de configuración de ejemplo
- 📊 summary_example/ - Ejemplos de reportes JSON
Este proyecto está basado en el trabajo original de SirPlease y su repositorio IPTables. La suite L4D2 IPTables incluye modificaciones significativas, nuevas funcionalidades y herramientas complementarias desarrolladas por la comunidad AoC-Gamers.
- SirPlease - Creador del script base de iptables para L4D2
- AoC-Gamers - Desarrollo de herramientas complementarias y mejoras
- Sheo - Por sus aportes para el bloqueo de ataques A2S.
- Comunidad L4D2 - Testing y feedback
¿Te ha sido útil esta suite? ⭐ ¡Dale una estrella al repositorio!
Desarrollado para la comunidad de Left 4 Dead 2