Trois types d'attaque
Flood réseau
Un énorme volume de trafic sature la connexion du serveur. Le serveur devient injoignable ou lagge pour tout le monde, et rien de nouveau n'apparaît dans le journal des connexions.
Flood de connexions
Des milliers de connexions ou de pings de la liste des serveurs qui ne deviennent jamais des joueurs. Ils ne saturent pas la connexion, mais occupent le proxy jusqu'à ce qu'il ne réponde plus aux vrais joueurs.
Attaque de bots
De faux joueurs vont jusqu'au bout de la connexion, prennent les places et spamment le chat. Chaque bot est une vraie connexion, généralement via une liste de proxys, et le serveur le prend pour un joueur.
Pourquoi un plugin ne peut pas arrêter un DDoS
Un plugin tourne à l'intérieur du proxy ou du serveur. Quand la connexion est saturée ou que la machine est occupée à rejeter des paquets, le plugin n'a même pas l'occasion de s'exécuter. Le filtrage doit se faire avant que le trafic n'atteigne votre machine : sur le réseau de votre hébergeur ou dans un service placé devant.
D'où vient une vraie protection DDoS
- Beaucoup d'hébergeurs Minecraft et certains centres de données, par exemple OVHcloud avec son filtrage pour les jeux, incluent une protection DDoS et filtrent les attaques sur leur réseau avant qu'elles ne vous atteignent.
- Un proxy de protection comme TCPShield ou Cloudflare Spectrum (offres payantes) se place devant le serveur : les joueurs se connectent à son réseau et seul le trafic propre vous parvient. Activez le PROXY protocol dans le service et mettez
haproxy-protocol = truedansvelocity.tomlouproxy_protocol: truedans leconfig.ymlde BungeeCord (ou installez le plugin du service) ; sinon votre proxy voit les adresses du service au lieu de celles des joueurs, et les bannissements IP comme les vérifications d'adresse cessent de fonctionner. - Gardez l'adresse réelle cachée. Si les attaquants connaissent l'adresse directe de votre proxy ou de votre backend, ils contournent la protection : n'utilisez donc pas cette adresse pour autre chose et changez-la si elle a fuité.
Ces services filtrent le trafic. Ils ne savent rien des utilisateurs de VPN, du contournement de bannissement ni des bots qui vont jusqu'au bout de la connexion.
Ce que vous pouvez régler sur le proxy
Les deux proxys peuvent ralentir une adresse qui se connecte trop souvent :
- Velocity :
login-ratelimitdansvelocity.toml, le délai minimal entre deux connexions depuis une même adresse, en millisecondes. - BungeeCord :
connection_throttleetconnection_throttle_limitdansconfig.yml.
Cela aide contre un flood venant de quelques adresses, pas de milliers. Sur votre propre machine, une règle de pare-feu qui limite les nouvelles connexions par adresse aide contre les petits floods de connexions.
Attaques de bots : là où les plugins aident
Face à une attaque de bots, un plugin est le bon outil, car chaque bot arrive sous forme de connexion. Kordon vérifie l'adresse de chaque connexion, passe le serveur en mode attaque quand une vague commence et ferme les réseaux qu'utilisent les bots ; le mode attaque est inclus dans toutes les offres, y compris la gratuite. Un plugin de vérification comme Sonar attrape les bots qui viennent d'adresses propres. Les deux fonctionnent bien ensemble sur un même proxy.
Kordon ne filtre pas le trafic réseau : contre un vrai DDoS, il vous faut toujours votre hébergeur. Voir que faire pendant une attaque de bots.
Comment savoir à quoi vous avez affaire
Si le serveur est injoignable ou si tout le monde a un ping énorme, alors que le journal des connexions ne montre aucune nouvelle connexion et que les graphiques de l'hébergeur montrent un pic de trafic, c'est un DDoS : contactez votre hébergeur. Si le journal se remplit de nouveaux pseudos et que les places sont prises, c'est une attaque de bots : la protection sur le proxy s'en charge. Les deux vont parfois ensemble : vérifiez donc les deux.