Bescherm uw Minecraft-thuisserver tegen DDOS-aanvallen met AWS

Het Minecraft-logo.

Wilt u vanuit huis een Minecraft-server runnen zonder uw IP-adres prijs te geven? Jij kan! Stel gewoon een gratis proxy in met Amazon Web Services om uw server te beschermen tegen denial-of-service-aanvallen. We laten je zien hoe.

Deze handleiding werkt voor elke gameserver, niet alleen voor Minecraft. Het enige dat het doet is proxyverkeer op een specifieke poort. Je hoeft alleen maar Minecraft’s poort 25565 te veranderen in de poort waarop je gameserver draait.

Hoe werkt dit?

Stel dat u een Minecraft-server wilt hosten en deze open wilt stellen voor internet. Het is niet zo moeilijk om er een uit te voeren. Ze zijn eenvoudig te installeren, gebruiken slechts één verwerkingsdraad en zelfs de zwaar gemodificeerde servers nemen niet meer dan 2 tot 3 GB RAM in beslag met een paar spelers online. U zou gemakkelijk een server op een oude laptop of op de achtergrond op uw desktopcomputer kunnen draaien in plaats van iemand anders te betalen om het voor u te hosten.

Maar om mensen er verbinding mee te laten maken, moet u uw IP-adres opgeven. Dit levert een aantal problemen op. Het is een groot beveiligingsrisico, vooral als uw router nog steeds het standaard beheerderswachtwoord heeft. Het laat je ook openstaan ​​voor gedistribueerde denial-of-service (DDOS) -aanvallen, die niet alleen je Minecraft-server zouden stoppen, maar ook je internet zouden kunnen afsluiten totdat de aanval afneemt.

U hoeft mensen niet toe te staan ​​rechtstreeks verbinding te maken met uw router. In plaats daarvan kunt u een kleine Linux-box huren bij Amazon Web Services, Google Cloud Platform of Microsoft Azure, die allemaal gratis niveaus hebben. Deze server hoeft niet sterk genoeg te zijn om de Minecraft-server te hosten – hij stuurt alleen de verbinding voor je door. Hierdoor kunt u het IP-adres van de proxyserver opgeven in plaats van uw eigen IP-adres.

Stel dat iemand verbinding wil maken met uw server, dus zij typt het IP-adres van uw AWS-proxy in haar Minecraft-client. Er wordt een pakket verzonden naar de proxy op poort 25565 (de standaardpoort van Minecraft). De proxy is geconfigureerd om poort 25565-verkeer af te stemmen en door te sturen naar uw thuisrouter. Dit gebeurt achter de schermen – de persoon die verbinding maakt, weet het niet eens.

Uw thuisrouter moet dan worden port-forwarded om de verbinding verder naar uw daadwerkelijke pc door te sturen. Uw pc draait de server en reageert op het pakket van de client. Het stuurt het terug naar de proxy, en dan herschrijft de proxy het pakket zodat het lijkt alsof de proxy reageert. De klant heeft geen idee dat dit gebeurt en denkt gewoon dat de proxy het systeem is waarop de server draait.

Het is alsof u een andere router voor de server plaatst, op dezelfde manier waarop uw thuisrouter uw computer beschermt. Deze nieuwe router draait echter op Amazon Web Services en krijgt de volledige DDOS-beperking op de transportlaag die gratis wordt geleverd bij elke AWS-service (genaamd AWS Shield). Als er een aanval wordt gedetecteerd, wordt deze automatisch beperkt zonder uw server te storen. Als het niet gestopt om de een of andere reden, kunt u de instantie altijd uitschakelen en de verbinding met uw huis verbreken.

Om de proxy af te handelen, gebruikt u een hulpprogramma genaamd sslh. Het is bedoeld voor protocol-multiplexing; als je SSH (meestal poort 22) en HTTPS (poort 443) op dezelfde poort wilde draaien, zou je problemen tegenkomen. sslh zit vooraan en leidt poorten om naar de beoogde applicaties, waardoor dit probleem wordt opgelost. Maar het doet dit op het niveau van de transportlaag, net als een router. Dit betekent dat we Minecraft-verkeer kunnen matchen en doorsturen naar uw thuisserver. sslh is standaard niet-transparant, wat betekent dat het pakketten herschrijft om uw IP-adres thuis te verbergen. Dit maakt het voor niemand onmogelijk om het op te snuiven met zoiets als Wireshark.

Creëer en maak verbinding met een nieuwe VPS

Om te beginnen, heeft u de proxyserver ingesteld. Dit is zeker gemakkelijker te doen als je wat Linux-ervaring hebt, maar het is niet vereist.

Ga naar Amazon Web Services en maak een account aan. U moet uw debet- of creditcardgegevens opgeven, maar dit is alleen om te voorkomen dat mensen dubbele accounts maken; er worden geen kosten in rekening gebracht voor de instantie die u maakt. De gratis laag verloopt na een jaar, dus zorg ervoor dat u deze uitschakelt nadat u ermee klaar bent. Google Cloud Platform heeft een f1-micro instantie altijd gratis beschikbaar als u dat liever gebruikt. Google biedt ook een tegoed van $ 300 voor een jaar, dat u daadwerkelijk kunt gebruiken om een ​​goede cloudserver te draaien.

AWS rekent wel wat bandbreedte aan. Je krijgt 1 GB gratis, maar daarboven wordt $ 0,09 per GB belast. Realistisch gezien zult u dit waarschijnlijk niet bespreken, maar houd het in de gaten als u een afschrijving van 20 cent op uw factuur ziet.

Nadat u uw account heeft gemaakt, zoekt u naar ‘EC2’. Dit is het virtuele serverplatform van AWS. Mogelijk moet u even wachten totdat AWS EC2 heeft ingeschakeld voor uw nieuwe account.

Type

Selecteer op het tabblad “Instances” de optie “Launch Instance” om de opstartwizard te openen.

Klik op

U kunt de standaard “Amazon Linux 2 AMI” of “Ubuntu Server 18.04 LTS” als besturingssysteem selecteren. Klik op Volgende en u wordt gevraagd om het instantietype te selecteren. Selecteer t2.micro, dat is de gratis tier-instantie. U kunt deze instantie 24/7 uitvoeren onder de gratis laag van AWS.

Selecteer "t2.micro."

Selecteer ‘Controleren en starten’. Selecteer op de volgende pagina “Starten” en u ziet het onderstaande dialoogvenster. Klik op ‘Een nieuw sleutelpaar maken’ en vervolgens op ‘Sleutelpaar downloaden’. Dit is uw toegangssleutel tot de instantie, dus verlies deze niet – plaats deze in uw map Documenten om hem veilig te bewaren. Nadat het is gedownload, klikt u op ‘Instanties starten’.

  Klik op "Een nieuw sleutelpaar maken" en klik vervolgens op "Sleutelpaar downloaden".  Nadat het is gedownload, klikt u op "Instanties starten".

U wordt teruggebracht naar de instances-pagina. Zoek het openbare IPv4-IP-adres van uw instantie, het adres van de server. Als je wilt, kun je een AWS Elastic IP instellen (die niet verandert bij het opnieuw opstarten), of zelfs een gratis domeinnaam met dot.tk, als je niet steeds terug wilt komen naar deze pagina om te zoeken het adres.

Zoek het openbare IPv4-IP-adres van uw instantie.

Bewaar het adres voor later. Eerst moet u de firewall van de instantie bewerken om poort 25565 te openen. Selecteer op het tabblad Beveiligingsgroepen de groep die uw instantie gebruikt (waarschijnlijk launch-wizard-1) en klik vervolgens op ‘Bewerken’.

Klik op het tabblad "Beveiligingsgroepen" en selecteer vervolgens de groep (waarschijnlijk "Launch-Wizard-1") die uw instantie gebruikt.

Voeg een nieuwe aangepaste TCP-regel toe en stel het poortbereik in op 25565. De bron moet worden ingesteld op “Anywhere” of 0.0.0.0/0.

Voeg een nieuwe aangepaste TCP-regel toe en stel het poortbereik in op 25565. De bron moet worden ingesteld op 0.0.0.0/0 (of "Anywhere").

Sla de wijzigingen op en de firewall-updates.

We gaan nu naar SSH in de server om de proxy in te stellen; als je macOS / Linux gebruikt, kun je je terminal openen. Als u Windows gebruikt, moet u een SSH-client gebruiken, zoals PuTTY, of het Windows-subsysteem voor Linux installeren. We raden het laatste aan, omdat het consistenter is.

Het eerste dat u moet doen, is cd naar uw documentenmap waar het keyfile is:

cd ~/Documents/

Als u Windows Subsystem voor Linux gebruikt, bevindt uw C-schijf zich op /mnt/c/, en je moet naar je documentenmap gaan:

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

Gebruik de -i vlag om SSH te vertellen dat u de keyfile wilt gebruiken om verbinding te maken. Het bestand heeft een .pem extensie, dus u moet het volgende opnemen:

ssh -i keyfile.pem ec2-user@0.0.0.0

Vervangen “0.0.0.0”Met uw IP-adres. Als je een Ubuntu-server hebt gemaakt in plaats van AWS Linux, maak dan verbinding als gebruiker “ubuntu”.

U zou toegang moeten krijgen en uw opdrachtprompt moeten zien veranderen in de serverprompt.

Configureer SSLH

U wilt installeren sslh van de pakketbeheerder. Voor AWS Linux zou dat zijn yum, voor Ubuntu gebruikt u apt-get. Mogelijk moet u de EPEL-repository toevoegen op AWS Linux:

sudo yum install epel-release
sudo yum install sslh

Zodra het is geïnstalleerd, opent u het configuratiebestand met nano:

nano /etc/default/sslh

Verander de RUN= parameter op “ja”:

Een "RUN = yes" -opdracht in een terminalvenster.

Hieronder de finale DAEMON regel, typ het volgende:

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

Vervangen “your_ip_address”Met uw IP-adres thuis. Als u uw IP niet weet, zoek dan naar “wat is mijn IP-adres?” op Google – ja, serieus.

Deze configuratie maakt het sslh proxy luisteren op alle netwerkapparaten op poort 25565. Vervang dit door een ander poortnummer als je Minecraft-client iets anders gebruikt of als je een ander spel speelt. Meestal met sslh, pas je verschillende protocollen aan en stuur je ze naar verschillende plaatsen. Voor onze doeleinden willen we echter eenvoudig al het mogelijke verkeer matchen en doorsturen naar your_ip_address:25565.

Druk op Control + X en vervolgens op Y om het bestand op te slaan. Typ het volgende om in te schakelen sslh:

sudo systemctl enable sslh
sudo systemctl start sslh

Als systemctl niet beschikbaar is op uw systeem, moet u mogelijk de service commando in plaats daarvan.

sslh zou nu moeten draaien. Zorg ervoor dat uw thuisrouter port forwarding is en 25565 verkeer naar uw computer verzendt. Misschien wilt u uw computer een statisch IP-adres geven, zodat dit niet verandert.

Om te zien of mensen toegang hebben tot uw server, typt u het IP-adres van de proxy in een online statuschecker. U kunt ook het IP-adres van uw proxy in uw Minecraft-client typen en proberen deel te nemen. Als het niet werkt, zorg er dan voor dat de poorten open zijn in de beveiligingsgroepen van uw instantie.

Nieuwste artikelen

spot_img

Related Stories

Leave A Reply

Vul alstublieft uw commentaar in!
Vul hier uw naam in