Schützen Sie Ihren Minecraft-Heimserver vor DDOS-Angriffen mit AWS

Möchten Sie einen Minecraft-Server von zu Hause aus betreiben, ohne Ihre IP-Adresse preiszugeben? Sie können! Richten Sie einfach einen kostenlosen Proxy mit Amazon Web Services ein, um Ihren Server vor Denial-of-Service-Angriffen zu schützen. Wir zeigen Ihnen wie.

Diese Anleitung funktioniert für jeden Gameserver, nicht nur für Minecraft. Alles, was es tut, ist Proxy-Datenverkehr auf einem bestimmten Port. Sie müssen nur den Port 25565 von Minecraft auf den Port ändern, auf dem Ihr Gameserver läuft.

Wie funktioniert das?

Angenommen, Sie möchten einen Minecraft-Server hosten und ihn für das Internet öffnen. Es ist nicht so schwer, einen zu betreiben. Sie sind einfach zu installieren, verwenden nur einen Verarbeitungs-Thread und selbst die stark modifizierten Server brauchen nicht mehr als 2 bis 3 GB RAM mit ein paar Spielern online. Sie können einen Server problemlos auf einem alten Laptop oder im Hintergrund auf Ihrem Desktop-Computer betreiben, anstatt jemanden dafür zu bezahlen, ihn für Sie zu hosten.

Damit sich die Leute jedoch damit verbinden können, müssen Sie Ihre IP-Adresse angeben. Dies wirft einige Probleme auf. Dies stellt ein großes Sicherheitsrisiko dar, insbesondere wenn Ihr Router noch über das standardmäßige Admin-Passwort verfügt. Es macht Sie auch anfällig für verteilte Denial-of-Service-Angriffe (DDOS), die nicht nur Ihren Minecraft-Server stoppen würden, sondern auch Ihr Internet abschalten könnten, bis der Angriff nachlässt.

Sie müssen anderen Personen nicht erlauben, sich direkt mit Ihrem Router zu verbinden. Stattdessen können Sie bei Amazon Web Services eine kleine Linux-Box mieten. Google Cloud-Plattform, oder Microsoft Azure – die alle über kostenlose Kontingente verfügen. Dieser Server muss nicht stark genug sein, um den Minecraft-Server zu hosten – er leitet nur die Verbindung für Sie weiter. Dadurch können Sie statt Ihrer eigenen die IP-Adresse des Proxy-Servers ausgeben.

Angenommen, jemand möchte sich mit Ihrem Server verbinden, also gibt sie die IP-Adresse Ihres AWS-Proxys in ihren Minecraft-Client ein. Ein Paket wird an den Proxy auf Port 25565 (Minecrafts Standardport) gesendet. Der Proxy ist so konfiguriert, dass er den Datenverkehr von Port 25565 abgleicht und an Ihren Heimrouter weiterleitet. Dies geschieht hinter den Kulissen – die Person, die sich verbindet, weiß es nicht einmal.

Ihr Heimrouter muss dann portiert werden, um die Verbindung an Ihren eigentlichen PC weiterzuleiten. Ihr PC führt den Server aus und antwortet auf das Paket des Clients. Es leitet es zurück an den Proxy, und dann schreibt der Proxy das Paket neu, damit es so aussieht, als ob der Proxy derjenige ist, der antwortet. Der Client hat keine Ahnung davon und denkt einfach, dass der Proxy das System ist, auf dem der Server läuft.

  So benennen Sie eine Karte in Minecraft

Es ist, als ob Sie einen weiteren Router vor dem Server hinzufügen würden, genauso wie Ihr Heimrouter Ihren Computer schützt. Dieser neue Router läuft jedoch auf Amazon Web Services und erhält die vollständige DDOS-Abwehr auf Transportschicht, die mit jedem AWS-Service kostenlos geliefert wird (namens AWS Shield). Wenn ein Angriff erkannt wird, wird er automatisch abgewehrt, ohne Ihren Server zu stören. Wenn es aus irgendeinem Grund nicht gestoppt wird, können Sie die Instanz jederzeit ausschalten und die Verbindung zu Ihrem Haus trennen.

Um das Proxying zu handhaben, verwenden Sie ein Dienstprogramm namens sslh. Es ist für Protokoll-Multiplexing vorgesehen; Wenn Sie SSH (normalerweise Port 22) und HTTPS (Port 443) auf demselben Port ausführen möchten, würden Sie auf Probleme stoßen. sslh sitzt vorne und leitet Ports zu den beabsichtigten Anwendungen um, um dieses Problem zu lösen. Dies geschieht jedoch auf der Ebene der Transportschicht, genau wie ein Router. Dies bedeutet, dass wir den Minecraft-Verkehr abgleichen und an Ihren Heimserver weiterleiten können. sslh ist standardmäßig nicht transparent, was bedeutet, dass Pakete neu geschrieben werden, um Ihre Heim-IP-Adresse zu verbergen. Das macht es für niemanden unmöglich, es mit so etwas zu erschnüffeln wie Wireshark.

Erstellen und verbinden Sie sich mit einem neuen VPS

Um zu beginnen, haben Sie den Proxy-Server eingerichtet. Dies ist definitiv einfacher, wenn Sie über Linux-Erfahrung verfügen, aber es ist nicht erforderlich.

Gehen Sie zu Amazon Webservices und erstellen Sie ein Konto. Sie müssen Ihre Debit- oder Kreditkarteninformationen angeben, dies dient jedoch nur dazu, zu verhindern, dass Benutzer doppelte Konten erstellen. Die von Ihnen erstellte Instanz wird Ihnen nicht in Rechnung gestellt. Das kostenlose Kontingent läuft nach einem Jahr ab, also stellen Sie sicher, dass Sie es deaktivieren, nachdem Sie damit fertig sind. Google Cloud-Plattform hat eine f1-micro-Instanz, die die ganze Zeit kostenlos zur Verfügung steht, wenn Sie diese lieber verwenden möchten. Google bietet außerdem ein Guthaben von 300 US-Dollar für ein Jahr an, mit dem Sie tatsächlich einen richtigen Cloud-Server betreiben könnten.

AWS berechnet etwas für die Bandbreite. Sie erhalten 1 GB kostenlos, aber für alles darüber hinaus werden 0,09 USD pro GB besteuert. Realistischerweise werden Sie dies wahrscheinlich nicht durchgehen, aber behalten Sie es im Auge, wenn Sie eine Gebühr von 20 Cent auf Ihrer Rechnung sehen.

  Wie man Papier in Minecraft herstellt

Nachdem Sie Ihr Konto erstellt haben, suchen Sie nach „EC2“. Dies ist die virtuelle Serverplattform von AWS. Möglicherweise müssen Sie etwas warten, bis AWS EC2 für Ihr neues Konto aktiviert.

Wählen Sie auf der Registerkarte „Instanzen“ die Option „Instanz starten“, um den Startassistenten aufzurufen.

Klicken

Als Betriebssystem können Sie den Standard „Amazon Linux 2 AMI“ oder „Ubuntu Server 18.04 LTS“ auswählen. Klicken Sie auf Weiter und Sie werden aufgefordert, den Instanztyp auszuwählen. Wählen Sie t2.micro aus, die Instanz des kostenlosen Kontingents. Sie können diese Instanz rund um die Uhr im kostenlosen Kontingent von AWS ausführen.

Wählen

Wählen Sie „Überprüfen und starten“. Wählen Sie auf der nächsten Seite „Start“ und Sie sehen das Dialogfeld unten. Klicken Sie auf „Neues Schlüsselpaar erstellen“ und dann auf „Schlüsselpaar herunterladen“. Dies ist Ihr Zugriffsschlüssel für die Instanz. Verlieren Sie ihn also nicht. Legen Sie ihn zur sicheren Aufbewahrung in Ihren Dokumentenordner. Klicken Sie nach dem Herunterladen auf „Instanzen starten“.

  Klicken

Sie werden auf die Seite mit den Instanzen zurückgebracht. Suchen Sie nach der öffentlichen IPv4-IP Ihrer Instanz, bei der es sich um die Adresse des Servers handelt. Wenn Sie möchten, können Sie eine AWS Elastic IP (die sich bei Neustarts nicht ändert) oder sogar einen kostenlosen Domänennamen mit . einrichten dot.tk, wenn Sie nicht immer wieder auf diese Seite zurückkehren möchten, um die Adresse zu finden.

Speichern Sie die Adresse für später. Zuerst müssen Sie die Firewall der Instanz bearbeiten, um Port 25565 zu öffnen. Wählen Sie auf der Registerkarte Sicherheitsgruppen die Gruppe aus, die Ihre Instanz verwendet (wahrscheinlich launch-wizard-1) und klicken Sie dann auf „Bearbeiten“.

Drücke den

Fügen Sie eine neue benutzerdefinierte TCP-Regel hinzu und legen Sie den Portbereich auf 25565 fest. Die Quelle sollte auf „Überall“ oder 0.0.0.0/0 eingestellt sein.

Fügen Sie eine neue benutzerdefinierte TCP-Regel hinzu und legen Sie den Portbereich auf 25565 fest. Die Quelle sollte auf 0.0.0.0/0 (oder

Speichern Sie die Änderungen und die Firewall-Updates.

Wir gehen jetzt per SSH in den Server, um den Proxy einzurichten; Wenn Sie macOS/Linux verwenden, können Sie Ihr Terminal öffnen. Wenn Sie unter Windows arbeiten, müssen Sie einen SSH-Client verwenden, z Kitt oder installieren Sie das Windows-Subsystem für Linux. Wir empfehlen letzteres, da es konsistenter ist.

Das erste, was Sie tun sollten, ist cd in Ihren Dokumentenordner, in dem sich die Schlüsseldatei befindet:

cd ~/Documents/

Wenn Sie das Windows-Subsystem für Linux verwenden, befindet sich Ihr C-Laufwerk unter /mnt/c/, und Sie müssen in Ihren Dokumentenordner cd herunterfahren:

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

Verwenden Sie das Flag -i, um SSH mitzuteilen, dass Sie die Schlüsseldatei verwenden möchten, um eine Verbindung herzustellen. Die Datei hat die Erweiterung .pem, also sollten Sie Folgendes angeben:

ssh -i keyfile.pem [email protected]

Ersetzen Sie „0.0.0.0“ durch Ihre IP-Adresse. Wenn Sie statt AWS Linux einen Ubuntu-Server erstellt haben, verbinden Sie sich als Benutzer „ubuntu“.

  Eine vollständige Liste von Minecraft-Erzen und wo sie zu finden sind

Ihnen sollte der Zugriff gewährt werden und Sie sehen, wie sich Ihre Eingabeaufforderung zur Eingabeaufforderung des Servers ändert.

SSL konfigurieren

Sie möchten sslh aus dem Paketmanager installieren. Für AWS Linux wäre das lecker, für Ubuntu verwenden Sie apt-get. Möglicherweise müssen Sie das EPEL-Repository unter AWS Linux hinzufügen:

sudo yum install epel-release
sudo yum install sslh

Öffnen Sie nach der Installation die Konfigurationsdatei mit nano:

nano /etc/default/sslh

Ändern Sie den Parameter RUN= auf „yes“:

EIN

Geben Sie unter der letzten DAEMON-Zeile Folgendes ein:

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

Ersetzen Sie „your_ip_address“ durch Ihre private IP-Adresse. Wenn Sie Ihre IP nicht kennen, suchen Sie nach „Wie lautet meine IP-Adresse?“ bei Google – ja, ernsthaft.

Diese Konfiguration lässt den SSL-Proxy auf allen Netzwerkgeräten auf Port 25565 lauschen. Ersetzen Sie dies durch eine andere Portnummer, wenn Ihr Minecraft-Client etwas anderes verwendet oder Sie ein anderes Spiel spielen. Normalerweise passen Sie mit sslh verschiedene Protokolle an und leiten sie an verschiedene Orte weiter. Für unsere Zwecke möchten wir jedoch einfach allen möglichen Datenverkehr abgleichen und an Ihre_IP_Adresse:25565 weiterleiten.

Drücken Sie Strg+X und dann Y, um die Datei zu speichern. Geben Sie Folgendes ein, um SSL zu aktivieren:

sudo systemctl enable sslh
sudo systemctl start sslh

Wenn systemctl auf Ihrem System nicht verfügbar ist, müssen Sie möglicherweise stattdessen den Befehl service verwenden.

sslh sollte jetzt laufen. Stellen Sie sicher, dass Ihr Heimrouter Portweiterleitung und 25565-Datenverkehr an Ihren Computer sendet. Möglicherweise möchten Sie Ihrem Computer eine statische IP-Adresse zuweisen, damit sich diese nicht ändert.

Um zu sehen, ob Personen auf Ihren Server zugreifen können, geben Sie die IP-Adresse des Proxys in ein Online-Status-Checker. Sie können auch die IP Ihres Proxys in Ihren Minecraft-Client eingeben und versuchen, beizutreten. Wenn dies nicht funktioniert, stellen Sie sicher, dass die Ports in den Sicherheitsgruppen Ihrer Instanz geöffnet sind.