
BungeeGuard: Asegura tu red proxy de Minecraft
"Una solución de seguridad y firewall basada en plugins para proxies de BungeeCord y Velocity."
lucko/BungeeGuard · github.com
¿Ejecutas una red Minecraft multi-servidor con un proxy? Entonces probablemente ya hayas oído que las instalaciones de BungeeCord no son seguras de forma predeterminada. Los jugadores maliciosos pueden eludir tu proxy por completo y conectarse directamente a servidores backend, uniéndose con el nombre de usuario o UUID que quieran. Es una vulnerabilidad bien conocida que ha cerrado más de unos cuantos servidores grandes.
Entra BungeeGuard. Es un simple plugin Java que añade autenticación basada en tokens entre tu proxy y los servidores backend. En lugar de depender de complicadas reglas de firewall (o hosting compartido donde ni siquiera puedes usarlas), BungeeGuard maneja la autenticación por ti.
Qué hace este proyecto
La idea detrás de BungeeGuard es casi ridículamente simple. Tu proxy añade un token de autenticación secreto al protocolo de conexión cuando un jugador se conecta. Tus servidores backend verifican que el token esté presente y sea válido antes de permitir al jugador entrar. Eso es todo. Sin trucos de firewall. Sin pesadillas de iptables. Solo un plugin que funciona.
Cuando un jugador legítimo se conecta a tu proxy (digamos que es proxy.example.com), BungeeGuard en el proxy incrusta un token secreto compartido previamente en los datos de conexión. Cuando el cliente del jugador intenta unirse a un servidor backend (digamos 192.168.1.50:25565), la copia de BungeeGuard del backend verifica ese token. Si falta o es incorrecto, la conexión se rechaza inmediatamente. Si alguien intenta conectarse directamente a ese servidor backend sin pasar por el proxy, no hay token, y se bloquea.
Esto funciona tanto en proxies de BungeeCord como de Velocity, lo que cubre básicamente toda configuración de red Minecraft grande.
Cuándo lo necesitas
Si ejecutas una pequeña red local en tu LAN, probablemente no necesites BungeeGuard. Tu red local probablemente no esté bajo ataque. Pero si tus servidores son accesibles públicamente por internet, o tienes servidores expuestos más allá de tu LAN, eres vulnerable.
Esto se vuelve crítico si ejecutas una red donde la progresión del jugador o la economía importan. Los secuestros de cuentas, el robo de objetos, incluso simples cuentas de troles uniéndose con credenciales falsas pueden arruinar la experiencia para jugadores legítimos. Cuanto más grande sea tu red, más atractivo objetivo te conviertes.
También es probable que estés en hosting compartido donde no puedas configurar reglas de firewall tú mismo. BungeeGuard es tu salvavidas en ese escenario.
Cómo instalar BungeeGuard
La instalación depende de si usas BungeeCord o Velocity. Son procesos ligeramente diferentes.
Configuración de BungeeCord
Primero, descarga el último BungeeGuard.jar desde la página de descargas. La versión actual es v1.4.0, que incluye una corrección de seguridad importante si estás actualizando desde una versión anterior. Después de actualizar, rota tu token por si alguien obtuvo el antiguo.
Coloca el jar en la carpeta de plugins de BungeeCord:
cp BungeeGuard.jar /path/to/bungeecord/plugins/
cd /path/to/bungeecord
java -jar BungeeCord.jarUna vez que BungeeCord se inicia, creará un directorio `plugins/BungeeGuard/` con un archivo `token.yml`. Abre ese archivo y copia tu token. Lo necesitarás para tus servidores backend.
Una cosa importante: asegúrate de que `ip_forward` esté configurado como `true` en tu `config.yml` de BungeeCord. Si olvidas esto, BungeeGuard no funcionará correctamente.
Configuración de Velocity
Si usas Velocity (y deberías si estás construyendo una red moderna), el proceso es aún más simple. Velocity 1.1.0 y versiones posteriores incluyen BungeeGuard integrado. No necesitas instalar el plugin en absoluto.
Solo edita tu `velocity.toml` y configura:
player-info-forwarding-mode = "bungeeguard"Tu secreto de reenvío está en ese mismo archivo de configuración. Ese es tu token de BungeeGuard ahí.
Servidores Backend
Ahora instala BungeeGuard.jar en la carpeta de plugins de cada servidor Spigot/Paper backend:
cp BungeeGuard.jar /path/to/spigot/plugins/
cd /path/to/spigot
java -jar spigot.jar noguiReinicia tu servidor. BungeeGuard creará su propio directorio de configuración y generará un archivo `token.yml`. Ábrelo y pega el token de tu servidor proxy. Cada servidor backend necesita el mismo token.
Si usas múltiples proxies (una configuración sensata para equilibrio de carga), todos comparten el mismo token.
Características clave que importan
La autenticación basada en tokens es la característica principal, pero hay más ocurriendo bajo el capó.
BungeeGuard verifica la información del jugador pasada desde el proxy al backend. No solo verifica que el token exista, verifica que el token sea correcto y que el resto de los datos del protocolo de conexión no haya sido alterado. Esto previene ataques más sofisticados donde alguien podría intentar falsificar los datos del protocolo en sí.
El plugin también maneja el modo moderno de reenvío de información del jugador de Velocity, que es una forma más limpia de pasar datos del jugador en configuraciones más nuevas. Si estás construyendo una red desde cero, Velocity con BungeeGuard integrado es la opción correcta.
Un detalle útil: BungeeGuard es increíblemente ligero. No añade una sobrecarga notable, lo que importa cuando intentas soportar miles de jugadores concurrentes en múltiples servidores.
Consideraciones de seguridad y trampas
Tu token es literalmente la seguridad de toda tu red. Trátalo como una contraseña. Si alguien obtiene tu token, puede crear conexiones que parezcan legítimas a tus servidores backend e impersonar a quien quieran.
Almacena tus archivos token.yml de forma segura. No los confirmes en control de versiones. No los pegues en Discord. Simplemente no.
Cuando actualices a v1.4.0 (que deberías hacer inmediatamente), el mantenedor recomienda rotar tu token después de actualizar las configuraciones de BungeeCord afectadas. Esto elimina los tokens antiguos que podrían haber sido comprometidos. Las configuraciones de Velocity con BungeeGuard integrado no se ven afectadas por esa vulnerabilidad.
También quieres reglas de firewall además de BungeeGuard, no en su lugar. Configura tu firewall para bloquear conexiones directas a servidores backend desde internet. BungeeGuard es una excelente segunda capa de defensa, pero no debería ser tu única capa. Si puedes configurar reglas de iptables, hazlo. Luego añade BungeeGuard encima.
Prueba tu configuración antes de ir en vivo. Intenta conectarte directamente a un servidor backend sin pasar por el proxy. Deberías obtener conexión rechazada o un tiempo de espera agotado. Si ves una pantalla de inicio de sesión, algo está mal con tu instalación de BungeeGuard.
Proyectos similares y alternativas
Las reglas de firewall (iptables, ufw) son técnicamente una alternativa, pero requieren acceso al sistema y son propensas a errores. La mayoría de los servidores que usan BungeeGuard hacen ambas cosas de todas formas.
Algunos proveedores de hosting ofrecen soluciones de proxy administradas que manejan la autenticación por ti. Pero si ejecutas tu propia infraestructura o en hosting compartido sin esa característica, BungeeGuard es realmente tu mejor opción. Ha sido probado en combate en redes con miles de jugadores.
El proyecto en sí es sólido y se mantiene activamente. Tiene licencia MIT (225 estrellas en GitHub, basado en Java) y el mantenedor toma la seguridad en serio, como se evidencia por la corrección de vulnerabilidad reciente y el proceso de divulgación responsable.
Si administras datos de jugadores con listas blancas sofisticadas o autenticación personalizada, herramientas como el creador de lista blanca de Minecraft funcionan bien junto con BungeeGuard. Y para administración de servidores, las herramientas de búsqueda de bloques ayudan cuando necesitas auditar tu mundo para estructuras sospechosas.
Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.
Comentarios
Aún no hay comentarios. ¡Sé el primero en compartir tu opinión!


