Protégez votre serveur Home Minecraft des attaques DDOS avec AWS – Resoudre les problemes d’un serveur MineCraft
Vous souhaitez utiliser un serveur Minecraft à domicile 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 pour Minecraft. Tout ce qu'il fait est le trafic proxy sur un port spécifique. Il vous suffit de modifier le port 25565 de Minecraft sur le port de votre serveur de jeu.
Sommaire
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 exécuter 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 faire fonctionner un serveur sur un vieil ordinateur portable ou en tâche de fond 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 a toujours le mot de passe administrateur par défaut. Cela vous laisse également ouvert aux attaques par déni de service distribué (DDOS), qui non seulement arrêteraient votre serveur Minecraft, mais pourraient également éteindre votre internet, jusqu'à ce que l'attaque se calme.
Vous n’avez pas à permettre aux gens de se connecter directement à votre routeur. Au lieu de cela, vous pouvez louer une petite machine Linux dans Amazon Web Services, Google Cloud Platform ou Microsoft Azure, qui ont tous des niveaux gratuits. Ce serveur n’a pas besoin d’être assez puissant pour héberger le serveur Minecraft, il vous transmet simplement la connexion. Cela vous permet de donner l'adresse IP du serveur proxy au lieu de la vôtre.
Supposons qu'une personne souhaite se connecter à votre serveur. Elle saisit donc 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 transférer à votre routeur domestique. Cela se passe dans les coulisses – la personne qui se connecte ne sait même pas.
Votre routeur domestique doit ensuite être redirigé sur le port pour transférer la connexion plus loin sur votre PC actuel. Votre PC exécute le serveur et répond au paquet du client. Il le retransmet au proxy, qui le réécrit ensuite pour lui donner l’impression que celui-ci répond. Le client n'a aucune idée de ce qui se passe et pense simplement que le proxy est le système qui exécute 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 de la couche de transport fournie gratuitement avec chaque service AWS (appelé AWS Shield). Si une attaque est détectée, elle est automatiquement atténuée sans gêner votre serveur. Si ça n'est pas arrêté pour une raison quelconque, vous pouvez toujours désactiver l’instance et couper la connexion à votre domicile.
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 auriez rencontré des problèmes. sslh
se trouve devant et redirige les ports vers les applications prévues, ce qui résout ce problème. Mais cela se fait au niveau de la couche de transport, comme un routeur. Cela signifie que nous pouvons faire correspondre le trafic Minecraft et le transférer sur votre serveur domestique. sslh
est, par défaut, non transparent, ce qui signifie qu'il réécrit les paquets pour masquer votre adresse IP personnelle. Cela rend impossible pour quiconque de le détecter 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 expérience de Linux, mais ce n’est pas nécessaire.
Dirigez-vous vers Amazon Web Services et créez un compte. Vous devez fournir vos informations de carte de débit ou de crédit, mais ceci est uniquement destiné à empêcher les personnes de créer des comptes en double; vous n'êtes pas facturé pour l'instance que vous créez. Le niveau gratuit expire au bout d'un an. Veillez donc à le désactiver une fois que vous en avez terminé. Google Cloud Platform a une F1 micro
instance disponible gratuitement tout le temps si vous préférez l’utiliser. Google propose également un crédit de 300 USD par an, que vous pouvez réellement utiliser pour faire fonctionner un serveur cloud approprié.
AWS charge un peu la bande passante. Vous obtenez 1 Go gratuit, mais vous êtes taxé à 0,09 USD par Go pour tout dépassement de cette limite. En réalité, vous n’allez probablement pas dépasser cela, mais gardez un œil dessus si vous voyez une charge de 20 centimes sur votre facture.
Une fois votre compte créé, recherchez «EC2». Il s’agit de la plate-forme de serveur virtuel d’AWS. Vous devrez peut-être attendre un peu AWS pour activer EC2 pour votre nouveau compte.
Dans l'onglet «Instances», sélectionnez «Launch Instance» pour lancer l'assistant de lancement.
Vous pouvez sélectionner le système d'exploitation par défaut «Amazon Linux 2 AMI» ou «Ubuntu Server 18.04 LTS». Cliquez sur Suivant et vous êtes invité à sélectionner le type d'instance. Sélectionner t2.micro
, qui est l'instance de niveau libre. Vous pouvez exécuter cette instance 24 heures sur 24 et 7 jours sur 7 sous le niveau libre d’AWS.
Sélectionnez «Review and Launch». Sur la page suivante, sélectionnez «Launch» et la boîte de dialogue ci-dessous apparaît. Cliquez sur "Créer une nouvelle paire de clés", puis sur "Télécharger la paire de clés". Cette clé est votre clé d'accès à l'instance. Ne la perdez donc pas. Placez-la dans votre dossier Documents pour plus de sécurité. Après le téléchargement, cliquez sur «Lancer les instances».
Vous êtes ramené à la page des instances. Recherchez l’adresse IP publique IPv4 de votre instance, qui correspond à l’adresse du serveur. Si vous le souhaitez, vous pouvez configurer une adresse IP AWS Elastic (qui ne changera pas après les redémarrages), ou même un nom de domaine gratuit avec dot.tk, si vous ne souhaitez plus revenir régulièrement sur cette page. l'adresse.
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 utilisé par votre instance (probablement launch-wizard-1), puis cliquez sur «Modifier».
Ajoutez une nouvelle règle TCP personnalisée et définissez la plage de ports sur 25565. La source doit être définie sur «Partout» ou 0.0.0.0/0
.
Enregistrez les modifications et les mises à jour du pare-feu.
Nous allons maintenant passer à SSH sur le serveur pour configurer le proxy; si vous utilisez macOS / Linux, vous pouvez ouvrir votre terminal. Si vous utilisez Windows, vous devez utiliser un client SSH, tel que PuTTY, ou installer le sous-système Windows pour Linux. Nous recommandons ce dernier, car il est plus cohérent.
La première chose à faire est de CD
dans votre dossier de documents où se trouve le fichier de clés:
cd ~ / Documents /
Si vous utilisez Windows Subsystem for Linux, votre lecteur C se trouve à l'adresse suivante: / mnt / c /
, et vous devez vous connecter à votre dossier de documents:
cd / mnt / c / Utilisateurs / nom d'utilisateur / Documents /
Utilisez le -je
Indicateur signalant à SSH que vous souhaitez utiliser le fichier de clés pour vous connecter. Le fichier a un .pem
extension, vous devriez donc inclure cela:
ssh -i keyfile.pem ec2-user@0.0.0.0
Remplacer "0.0.0.0
”Avec votre adresse IP. Si vous avez créé un serveur Ubuntu plutôt qu'AWS Linux, connectez-vous en tant qu'utilisateur «Ubuntu».
Vous devez avoir un accès et voir votre invite de commande se modifier en invite du serveur.
Configurer SSLH
Vous voulez installer sslh
du gestionnaire de paquets. 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 installe epel-release
sudo yum installer sslh
Une fois installé, ouvrez le fichier de configuration avec nano
:
nano / etc / default / sslh
Changer la RUN =
paramètre sur «oui»:
En dessous de la finale DÉMON
ligne, tapez ce qui suit:
DAEMON_OPTS = "- utilisateur sslh --listen 0.0.0.0:25565 --anyprot votre_adresse_ip: 25565 --pidfile /var/run/sslh/sslh.pid
Remplacer "votre_adresse_ip
”Avec l'adresse IP de votre domicile. Si vous ne connaissez pas votre adresse IP, recherchez «Quelle est mon adresse IP?» Sur Google – oui, sérieusement.
Cette configuration rend le sslh
le proxy écoute sur tous les périphériques du 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 autre jeu. Habituellement, avec sslh
, vous associez 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 à votre_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 le un service
commande à la place.
sslh
devrait maintenant être en cours d'exécution. Assurez-vous que votre routeur domestique effectue la redirection de port et envoie le trafic 25565 à votre ordinateur. Vous voudrez peut-être attribuer à votre ordinateur une adresse IP statique pour que cela ne change pas.
Pour voir si des personnes peuvent accéder à votre serveur, tapez l’adresse IP du proxy dans un vérificateur d’état en ligne. Vous pouvez également saisir 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.
Commentaires
Laisser un commentaire