Protégez votre serveur Minecraft domestique contre les attaques DDOS avec AWS

Vous voulez exécuter un serveur Minecraft depuis chez vous sans révéler votre adresse IP? Vous pouvez! Configurez simplement un proxy gratuit avec Amazon Web Services pour protéger votre serveur contre les attaques par déni de service. Nous allons vous montrer comment.

Ce guide fonctionnera pour n’importe quel serveur de jeu, pas seulement Minecraft. Tout ce qu’il fait, c’est le trafic proxy sur un port spécifique. Il vous suffit de changer le port 25565 de Minecraft pour celui sur lequel fonctionne votre serveur de jeu.

Comment cela marche-t-il?

Supposons que vous souhaitiez héberger un serveur Minecraft et l’ouvrir à Internet. Ce n’est pas si difficile d’en gérer un. Ils sont faciles à installer, n’utilisent qu’un seul thread de traitement, et même les serveurs fortement modifiés ne prennent pas plus de 2 à 3 Go de RAM avec quelques joueurs en ligne. Vous pouvez facilement exécuter un serveur sur un vieil ordinateur portable ou en arrière-plan sur votre ordinateur de bureau plutôt que de payer quelqu’un d’autre pour l’héberger pour vous.

Mais pour que les gens s’y connectent, vous devez donner votre adresse IP. Cela pose quelques problèmes. C’est un risque de sécurité majeur, surtout si votre routeur possède toujours le mot de passe administrateur par défaut. Cela vous laisse également ouvert aux attaques de déni de service distribué (DDOS), qui non seulement arrêteraient votre serveur Minecraft, mais pourraient également couper votre Internet jusqu’à ce que l’attaque disparaisse.

Vous n’êtes pas obligé d’autoriser les gens à se connecter directement à votre routeur. Au lieu de cela, vous pouvez louer une petite machine Linux auprès d’Amazon Web Services, Google Cloud Platform, ou Microsoft Azure, qui ont tous des niveaux gratuits. Ce serveur n’a pas besoin d’être suffisamment puissant pour héberger le serveur Minecraft – il transmet simplement la connexion pour vous. Cela vous permet de donner l’adresse IP du serveur proxy au lieu de la vôtre.

Supposons que quelqu’un veuille se connecter à votre serveur, alors elle tape l’adresse IP de votre proxy AWS dans son client Minecraft. Un paquet est envoyé au proxy sur le port 25565 (port par défaut de Minecraft). Le proxy est configuré pour correspondre au trafic du port 25565 et le transmettre à votre routeur domestique. Cela se produit dans les coulisses – la personne qui se connecte ne le sait même pas.

  Comment rechercher dans une vidéo YouTube dans Chrome

Votre routeur domestique doit ensuite être redirigé vers le port pour transférer la connexion vers votre PC réel. Votre PC exécute le serveur et répond au paquet du client. Il le renvoie au proxy, puis le proxy réécrit le paquet pour donner l’impression que le proxy est celui qui répond. Le client n’a aucune idée de ce qui se passe et pense simplement que le proxy est le système exécutant le serveur.

C’est comme ajouter un autre routeur devant le serveur de la même manière que votre routeur domestique protège votre ordinateur. Ce nouveau routeur, cependant, fonctionne sur Amazon Web Services et bénéficie de l’atténuation DDOS complète de la couche de transport qui est fournie gratuitement avec chaque service AWS (appelé AWS Shield). Si une attaque est détectée, elle est atténuée automatiquement sans déranger votre serveur. S’il n’est pas arrêté pour une raison quelconque, vous pouvez toujours désactiver l’instance et couper la connexion avec votre maison.

Pour gérer le proxy, vous utilisez un utilitaire appelé sslh. Il est destiné au multiplexage de protocole; si vous vouliez exécuter SSH (généralement le port 22) et HTTPS (port 443) sur le même port, vous rencontriez des problèmes. sslh se trouve devant et redirige les ports vers les applications prévues, résolvant ce problème. Mais il le fait au niveau de la couche de transport, tout comme un routeur. Cela signifie que nous pouvons faire correspondre le trafic Minecraft et le transmettre à votre serveur domestique. sslh est, par défaut, non transparent, ce qui signifie qu’il réécrit les paquets pour masquer votre adresse IP domestique. Cela rend impossible pour quiconque de le renifler avec quelque chose comme Wireshark.

Créer et se connecter à un nouveau VPS

Pour commencer, vous avez configuré le serveur proxy. C’est certainement plus facile à faire si vous avez une certaine expérience de Linux, mais ce n’est pas obligatoire.

Se diriger vers Services Web Amazon et créez un compte. Vous devez fournir les informations de votre carte de débit ou de crédit, mais ce n’est que pour empêcher les gens de créer des comptes en double; vous n’êtes pas facturé pour l’instance que vous créez. Le niveau gratuit expire après un an, alors assurez-vous de le désactiver une fois que vous en avez terminé. Google Cloud Platform a une instance f1-micro disponible gratuitement tout le temps si vous préférez l’utiliser. Google propose également un crédit de 300 USD pendant un an, que vous pouvez utiliser pour exécuter un serveur cloud approprié.

  Comment iOS 13 économisera la batterie de votre iPhone (en ne le chargeant pas complètement)

AWS facture un peu la bande passante. Vous obtenez 1 Go gratuit, mais vous êtes taxé de 0,09 $ par Go pour tout ce qui dépasse. En réalité, vous ne reviendrez probablement pas là-dessus, mais gardez un œil dessus si vous voyez une charge de 20 cents sur votre facture.

Après avoir créé votre compte, recherchez « EC2 ». Il s’agit de la plate-forme de serveur virtuel d’AWS. Vous devrez peut-être attendre un peu qu’AWS active EC2 pour votre nouveau compte.

Type

Dans l’onglet «Instances», sélectionnez «Lancer l’instance» pour afficher l’assistant de lancement.

Cliquez sur

Vous pouvez sélectionner «AMI Amazon Linux 2» ou «Ubuntu Server 18.04 LTS» par défaut comme système d’exploitation. Cliquez sur suivant et vous êtes invité à sélectionner le type d’instance. Sélectionnez t2.micro, qui est l’instance de l’offre gratuite. Vous pouvez exécuter cette instance 24h / 24 et 7j / 7 dans le cadre de l’offre gratuite d’AWS.

Sélectionner

Sélectionnez «Examiner et lancer». Sur la page suivante, sélectionnez «Lancer» et la boîte de dialogue ci-dessous s’affiche. Cliquez sur « Créer une nouvelle paire de clés », puis sur « Télécharger la paire de clés ». Il s’agit de votre clé d’accès à l’instance, alors ne la perdez pas: placez-la dans votre dossier Documents pour la conserver. Une fois le téléchargement terminé, cliquez sur « Lancer des instances ».

 Cliquez sur

Vous êtes ramené à la page des instances. Recherchez l’adresse IP publique IPv4 de votre instance, qui est l’adresse du serveur. Si vous le souhaitez, vous pouvez configurer une adresse IP AWS Elastic (qui ne changera pas lors des redémarrages), ou même un nom de domaine gratuit avec dot.tk, si vous ne souhaitez pas revenir sur cette page pour trouver l’adresse.

Recherchez l'adresse IP publique IPv4 de votre instance.

Enregistrez l’adresse pour plus tard. Tout d’abord, vous devez modifier le pare-feu de l’instance pour ouvrir le port 25565. Dans l’onglet Groupes de sécurité, sélectionnez le groupe que votre instance utilise (probablement launch-wizard-1), puis cliquez sur «Modifier».

Clique le

Ajoutez une nouvelle règle TCP personnalisée et définissez la plage de ports sur 25565. La source doit être définie sur «N’importe où» ou 0.0.0.0/0.

Ajoutez une nouvelle règle TCP personnalisée et définissez la plage de ports sur 25565. La source doit être définie sur 0.0.0.0/0 (ou

Enregistrez les modifications et les mises à jour du pare-feu.

Nous allons maintenant à SSH dans le serveur pour configurer le proxy; si vous êtes sous macOS / Linux, vous pouvez ouvrir votre terminal. Si vous êtes sous Windows, vous devez utiliser un client SSH, comme Mastic ou installez le sous-système Windows pour Linux. Nous recommandons ce dernier, car il est plus cohérent.

La première chose à faire est d’effectuer un cd dans votre dossier de documents où se trouve le fichier de clés:

cd ~/Documents/

Si vous utilisez le sous-système Windows pour Linux, votre lecteur C se trouve dans / mnt / c /, et vous devez accéder à votre dossier de documents:

cd /mnt/c/Users/username/Documents/

Utilisez l’indicateur -i pour indiquer à SSH que vous souhaitez utiliser le fichier de clés pour vous connecter. Le fichier a une extension .pem, vous devez donc inclure cela:

ssh -i keyfile.pem [email protected]

Remplacez «0.0.0.0» par votre adresse IP. Si vous avez créé un serveur Ubuntu plutôt qu’AWS Linux, connectez-vous en tant qu’utilisateur «ubuntu».

  Devriez-vous acheter le MacBook Pro 13 pouces (2020)?

Vous devriez avoir accès et voir votre invite de commande changer à l’invite du serveur.

Configurer SSLH

Vous souhaitez installer sslh à partir du gestionnaire de packages. Pour AWS Linux, ce serait miam, pour Ubuntu, vous utilisez apt-get. Vous devrez peut-être ajouter le référentiel EPEL sur AWS Linux:

sudo yum install epel-release
sudo yum install sslh

Une fois installé, ouvrez le fichier de configuration avec nano:

nano /etc/default/sslh

Modifiez le paramètre RUN = sur «yes»:

UNE

Sous la dernière ligne DAEMON, tapez ce qui suit:

DAEMON_OPTS="--user sslh --listen 0.0.0.0:25565 --anyprot your_ip_address:25565 --pidfile /var/run/sslh/sslh.pid

Remplacez « votre_adresse_ip » par votre adresse IP personnelle. Si vous ne connaissez pas votre adresse IP, recherchez « Quelle est mon adresse IP? » sur Google – oui, sérieusement.

Cette configuration permet au proxy sslh d’écouter sur tous les périphériques réseau sur le port 25565. Remplacez-le par un numéro de port différent si votre client Minecraft utilise quelque chose de différent ou si vous jouez à un jeu différent. Habituellement, avec sslh, vous faites correspondre différents protocoles et les acheminez vers différents endroits. Pour nos besoins, cependant, nous voulons simplement faire correspondre tout le trafic possible et le transmettre à your_ip_address: 25565.

Appuyez sur Ctrl + X, puis sur Y pour enregistrer le fichier. Tapez ce qui suit pour activer sslh:

sudo systemctl enable sslh
sudo systemctl start sslh

Si systemctl n’est pas disponible sur votre système, vous devrez peut-être utiliser la commande de service à la place.

sslh devrait maintenant être en cours d’exécution. Assurez-vous que votre routeur domestique transfère le port et envoie le trafic 25565 à votre ordinateur. Vous voudrez peut-être donner à votre ordinateur une adresse IP statique pour que cela ne change pas.

Pour voir si les gens peuvent accéder à votre serveur, saisissez l’adresse IP du proxy dans un vérificateur d’état en ligne. Vous pouvez également taper l’adresse IP de votre proxy dans votre client Minecraft et essayer de vous joindre. Si cela ne fonctionne pas, assurez-vous que les ports sont ouverts dans les groupes de sécurité de votre instance.