Vulnérabilité DDoS/Dice et mesures de sécurité P2P dans les serveurs Metin2 Pvp
Les points les plus ciblés des serveurs pvp Metin2 par les cyber-attaquants sont les ports P2P (Peer-to-Peer) et les vulnérabilités de Dice. En utilisant ces vulnérabilités, les attaquants peuvent rétrograder les chaînes du jeu (CH), faire planter le serveur ou s'accorder des autorisations non valides. Dans ce guide, nous avons compilé les étapes à suivre pour assurer la sécurité de votre serveur et prévenir ces attaques.
1. Fermeture des ports P2P vers le monde extérieur (mesure la plus critique)
Les ports P2P permettent aux chaînes de jeu d'échanger des données entre elles. Si ces ports restent ouverts vers l'extérieur, les attaquants peuvent obtenir des privilèges d'administrateur ou fermer les canaux en envoyant de fausses commandes au serveur. Pour la solution, vous devez activer le pare-feu FreeBSD (IPFW ou PF) :
- votre serveur avec Filezilla
/etc/rc.confOuvrez le fichier et activez le pare-feu en ajoutant ces lignes :
firewall_enable="YES" firewall_script="/etc/ipfw.rules"
- Puis
/etc/ipfw.rulesCréez un fichier appelé , autorisez les ports du jeu qui doivent être ouverts vers l'extérieur (port d'entrée, ports CH) et écrivez comme écrit dans vos fichiers CONFIG. Ports P2P uniquement sur localhost (127.0.0.1) Ajoutez une règle pour écouter.
2. Paramètres de sécurité P2P dans les fichiers de configuration
Si vous n'utilisez pas de fichiers source et que les paramètres ipfw sont compliqués, vous pouvez limiter les connexions P2P au sein du serveur uniquement à partir du fichier CONFIG de chaque canal :
/usr/game/cores/channel1/CONFIGOuvrez le fichier.- Ajoutez la commande suivante à la dernière ligne du fichier :
bind_ip 127.0.0.1 - Grâce à cette commande, ce canal rejettera les demandes d'écoute directe de port provenant de réseaux externes. Répétez ce processus sur tous les fichiers CH, Auth et Game99 CONFIG.
3. Désactivation de la commande de vulnérabilité « Dice »
Dans les anciennes générations ou dans les fichiers non protégés, les joueurs pouvaient boucler le moteur de jeu et supprimer CH en tapant une commande de dés spécifique (`/dice`) dans la ligne de discussion. Pour combler cet écart :
- Si vous avez le code source,
cmd.cppOuvrez le fichier etACM(do_dice)en supprimant complètement la ligne ou en commençant//désactivez complètement la commande et recompilez la source. - Si vous n'utilisez pas de fichiers sourcés, vous pouvez télécharger un fichier dans le jeu quête (script Lua) Utilisez des filtres qui expulsent automatiquement le joueur du jeu ou bloquent le mot lorsque le mot "/dice" est mentionné dans la ligne de discussion en tapant.
Cet article est spécialement préparé pour PvPServer.