Vulnerabilidad DDoS/Dice y medidas de seguridad P2P en servidores Pvp de Metin2
Los puntos más atacados por los ciberatacantes de los servidores pvp de Metin2 son los puertos P2P (Peer-to-Peer) y las vulnerabilidades de Dice. Al utilizar estas vulnerabilidades, los atacantes pueden degradar los canales del juego (CH), bloquear el servidor o otorgarse permisos no válidos. En esta guía, hemos recopilado los pasos que debe seguir para garantizar la seguridad de su servidor y prevenir estos ataques.
1. Cerrar los puertos P2P al mundo exterior (medida más crítica)
Los puertos P2P permiten que los canales de juegos intercambien datos entre ellos. Si estos puertos permanecen abiertos al exterior, los atacantes pueden obtener privilegios de administrador o cerrar los canales enviando comandos falsos al servidor. Para la solución, debes activar el firewall de FreeBSD (IPFW o PF):
- tu servidor con Filezilla
/etc/rc.confAbra el archivo y habilite el firewall agregando estas líneas:
firewall_enable="YES" firewall_script="/etc/ipfw.rules"
- Detrás
/etc/ipfw.rulesCrea un archivo llamado, permite que los puertos del juego que deben estar abiertos al exterior (puerto de entrada, puertos CH) y escribe como está escrito en tus archivos CONFIG. Puertos P2P solo en localhost (127.0.0.1) Añade una regla para escuchar.
2. Configuración de seguridad P2P en archivos CONFIG
Si no está utilizando archivos de origen y la configuración de ipfw es complicada, puede limitar las conexiones P2P dentro del servidor solo desde el archivo CONFIG de cada canal:
/usr/game/cores/channel1/CONFIGAbra el archivo.- Agregue el siguiente comando a la línea inferior del archivo:
bind_ip 127.0.0.1 - Gracias a este comando, ese canal rechazará las solicitudes de escucha directa de puertos de redes externas. Repita este proceso en todos los archivos CH, Auth y Game99 CONFIG.
3. Deshabilitar el comando de vulnerabilidad "Dice"
En archivos de generaciones anteriores o desprotegidos, los jugadores podían hacer un bucle en el motor del juego y soltar CH escribiendo un comando de dados específico (`/dice`) en la línea de chat. Para cerrar esta brecha:
- Si tienes el código fuente,
cmd.cppAbra el archivo yACM(do_dice)eliminando la línea por completo o comenzando//deshabilite el comando por completo y vuelva a compilar la fuente. - Si no estás utilizando archivos de origen, puedes descargar un archivo del juego. misión (escritura Lua) Utilice filtros que expulsen automáticamente al jugador del juego o bloqueen la palabra cuando se mencione la palabra "/dice" en la línea de chat al escribirla.
Este artículo está especialmente preparado para PvPServer.