Skip to content

Chroń swój domowy serwer Minecraft przed atakami DDOS za pomocą AWS

2 de sierpień de 2021
img 5d8015aba7cd1

Chcesz uruchomić serwer Minecraft z domu bez ujawniania swojego adresu IP? Możesz! Wystarczy skonfigurować bezpłatny serwer proxy w Amazon Web Services, aby chronić swój serwer przed atakami typu „odmowa usługi”. Pokażemy Ci jak.

Ten przewodnik będzie działał na każdym serwerze gier, nie tylko Minecraft. Wszystko, co robi, to ruch proxy na określonym porcie. Musisz tylko zmienić port Minecrafta 25565 na dowolny port, na którym działa twój serwer gry.

Jak to działa?

Załóżmy, że chcesz hostować serwer Minecraft i otworzyć go w Internecie. Nie jest tak trudno go uruchomić. Są łatwe w instalacji, używają tylko jednego wątku przetwarzania, a nawet mocno zmodyfikowane serwery nie zajmują więcej niż 2 do 3 GB pamięci RAM z kilkoma graczami online. Możesz łatwo uruchomić serwer na starym laptopie lub w tle na komputerze stacjonarnym, zamiast płacić komuś innemu za hosting.

Ale aby ludzie mogli się z nim połączyć, musisz podać swój adres IP. To stwarza kilka problemów. Jest to poważne zagrożenie bezpieczeństwa, zwłaszcza jeśli router nadal ma domyślne hasło administratora. Otwiera to również na ataki rozproszonej odmowy usługi (DDOS), które nie tylko zatrzymałyby Twój serwer Minecraft, ale także mogłyby wyłączyć Twój Internet, dopóki atak nie ustąpi.

Nie musisz zezwalać ludziom na bezpośrednie łączenie się z routerem. Zamiast tego możesz wypożyczyć małe pudełko z Linuksem od Amazon Web Services, Platforma Google Cloudlub Microsoft Azure — wszystkie z nich mają bezpłatne warstwy. Ten serwer nie musi być wystarczająco silny, aby obsługiwać serwer Minecraft — po prostu przekazuje połączenie za Ciebie. Pozwala to na podanie adresu IP serwera proxy zamiast własnego.


Powiedzmy, że ktoś chce połączyć się z twoim serwerem, więc wpisuje adres IP twojego serwera proxy AWS do swojego klienta Minecraft. Pakiet jest wysyłany do serwera proxy na porcie 25565 (domyślny port Minecrafta). Serwer proxy jest skonfigurowany tak, aby pasował do ruchu na porcie 25565 i przekazywał go do domowego routera. Dzieje się to za kulisami — osoba łącząca się nawet nie wie.

Twój router domowy musi być następnie przekierowany na port, aby przekierować połączenie dalej do rzeczywistego komputera. Twój komputer uruchamia serwer i odpowiada na pakiet klienta. Przekazuje go z powrotem do serwera proxy, a następnie proxy przepisuje pakiet, aby wyglądał, jakby odpowiadał serwer proxy. Klient nie ma pojęcia, że ​​tak się dzieje i po prostu myśli, że proxy to system, na którym działa serwer.

To tak, jakby dodać kolejny router przed serwerem w taki sam sposób, w jaki router domowy chroni komputer. Ten nowy router działa jednak na Amazon Web Services i otrzymuje pełną ochronę przed atakami DDOS w warstwie transportowej, która jest dostarczana bezpłatnie z każdą usługą AWS (o nazwie Tarcza AWS). Jeśli atak zostanie wykryty, zostanie on automatycznie złagodzony bez zawracania sobie głowy serwerem. Jeśli to nie jest?zatrzymany z jakiegoś powodu, zawsze możesz wyłączyć instancję i odciąć połączenie z domem.

Aby obsłużyć proxy, użyj narzędzia o nazwie sslh. Jest przeznaczony do multipleksowania protokołów; jeśli chcesz uruchomić SSH (zwykle port 22) i HTTPS (port 443) na tym samym porcie, napotkasz problemy. sslhsiedzi z przodu i przekierowuje porty do zamierzonych aplikacji, rozwiązując ten problem. Robi to jednak na poziomie warstwy transportowej, tak jak router. Oznacza to, że możemy dopasować ruch z Minecrafta i przekazać go na Twój serwer domowy. sslhjest domyślnie nieprzezroczysty, co oznacza, że ​​przepisuje pakiety, aby ukryć twój domowy adres IP. To sprawia, że ​​nikt nie może go wywęszyć za pomocą czegoś takiego jak Wireshark.

Utwórz nowy serwer VPS i połącz się z nim

Aby rozpocząć, skonfigurowałeś serwer proxy. Jest to zdecydowanie łatwiejsze, jeśli masz trochę doświadczenia z Linuksem, ale nie jest to wymagane.

Zmierzać do Usługi internetowe Amazon i załóż konto. Musisz podać dane swojej karty debetowej lub kredytowej, ale to tylko po to, aby ludzie nie tworzyli zduplikowanych kont; nie płacisz za instancję, którą tworzysz. Bezpłatna warstwa wygasa po roku, więc upewnij się, że wyłączysz ją po jej zakończeniu. Platforma Google Cloudma i f1-microinstancja dostępna za darmo przez cały czas, jeśli wolisz jej używać. Google oferuje również kredyt w wysokości 300 USD na rok, który można wykorzystać do uruchomienia odpowiedniego serwera w chmurze.


AWS pobiera trochę opłat za przepustowość. Dostajesz 1 GB za darmo, ale podlegasz opodatkowaniu w wysokości 0,09 USD za GB za wszystko ponad to. Realistycznie rzecz biorąc, prawdopodobnie nie przejdziesz przez to, ale miej oko na to, jeśli zobaczysz 20-centową opłatę na swoim rachunku.

Po utworzeniu konta wyszukaj „EC2”. To jest wirtualna platforma serwerowa AWS. Być może będziesz musiał trochę poczekać, aż AWS włączy EC2 dla twojego nowego konta.

Rodzaj "EC2" w pasku wyszukiwania na platformie serwerów wirtualnych AWS.

Na karcie „Instancje” wybierz „Uruchom instancję”, aby wyświetlić kreatora uruchamiania.

Kliknij „Instancje”, a następnie wybierz „Uruchom instancję”.

Jako system operacyjny można wybrać domyślny „Amazon Linux 2 AMI” lub „Ubuntu Server 18.04 LTS”. Kliknij przycisk Dalej, a zostaniesz poproszony o wybranie typu instancji. Wybierz t2.micro, który jest instancją w warstwie Bezpłatna. Możesz uruchomić tę instancję 24/7 na bezpłatnym poziomie AWS.

Wybierz „t2.mikro”.

Wybierz „Przejrzyj i uruchom”. Na następnej stronie wybierz „Uruchom” i zobaczysz poniższe okno dialogowe. Kliknij „Utwórz nową parę kluczy”, a następnie „Pobierz parę kluczy”. To jest Twój klucz dostępu do instancji, więc nie zgub go — umieść go w folderze Dokumenty na przechowanie. Po pobraniu kliknij „Uruchom instancje”.

  Kliknij „Utwórz nową parę kluczy”, a następnie „Pobierz parę kluczy”.  Po pobraniu kliknij „Uruchom instancje”.

Wróciłeś do strony instancji. Poszukaj publicznego adresu IP IPv4 swojej instancji, który jest adresem serwera. Jeśli chcesz, możesz skonfigurować elastyczny adres IP AWS (który nie zmieni się po ponownym uruchomieniu), a nawet bezpłatną nazwę domeny z dot.tk, jeśli nie chcesz wracać na tę stronę, aby znaleźć adres.

Poszukaj publicznego adresu IP IPv4 swojej instancji.


Zapisz adres na później. Najpierw musisz edytować zaporę sieciową instancji, aby otworzyć port 25565. Na karcie Grupy zabezpieczeń wybierz grupę, której używa twoja instancja (prawdopodobnie uruchom-wizard-1), a następnie kliknij „Edytuj”.

Kliknij kartę „Grupy zabezpieczeń”, a następnie wybierz grupę (prawdopodobnie „Kreator uruchamiania-1”), z której korzysta Twoja instancja.

Dodaj nową niestandardową regułę TCP i ustaw zakres portów na 25565. Źródło powinno być ustawione na „Wszędzie” lub 0.0.0.0/0.

Dodaj nową niestandardową regułę TCP i ustaw zakres portów na 25565. Źródło powinno być ustawione na 0.0.0.0/0 (lub „Wszędzie”).

Zapisz zmiany i aktualizacje zapory.

Przejdźmy teraz do SSH na serwerze, aby skonfigurować proxy; jeśli korzystasz z systemu macOS/Linux, możesz otworzyć terminal. Jeśli korzystasz z systemu Windows, musisz użyć klienta SSH, na przykład Kit lub zainstaluj podsystem Windows dla systemu Linux. Polecamy to drugie, ponieważ jest bardziej spójne.

Pierwszą rzeczą, którą powinieneś zrobić, tocddo folderu dokumentów, w którym znajduje się plik klucza:

cd ~/Documents/

Jeśli używasz podsystemu Windows dla systemu Linux, dysk C znajduje się w /mnt/c/, i musisz przejść do folderu dokumentów:

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

Użyj -iflaga, aby poinformować SSH, że chcesz użyć pliku klucza do połączenia. Plik ma .pemrozszerzenie oznaczające, że jest to Plik PEM, więc powinieneś uwzględnić to:

ssh -i keyfile.pem [email protected]


Zastępować „0.0.0.0” z Twoim adresem IP. Jeśli utworzyłeś serwer Ubuntu, a nie AWS Linux, połącz się jako użytkownik „ubuntu”.

Powinieneś mieć przyznany dostęp i zobaczyć, jak wiersz poleceń zmienia się w wierszu serwera.

Skonfiguruj SSLH

Chcesz zainstalować sslhod menedżera pakietów. W przypadku AWS Linux byłoby to yum, w przypadku Ubuntu używasz apt-get. Może być konieczne dodanie repozytorium EPEL w systemie AWS Linux:

sudo yum install epel-release

sudo yum install sslh

Po zainstalowaniu otwórz plik konfiguracyjny za pomocą nano:

nano /etc/default/sslh

Zmienić RUN=parametr na „tak”:

1627890823 535 Chron swoj domowy serwer Minecraft przed atakami DDOS za pomoca

Poniżej finału DAEMONwpisz:

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

Zastępować „your_ip_address” z Twoim domowym adresem IP. Jeśli nie znasz swojego adresu IP, wyszukaj „jaki jest mój adres IP?” w Google – tak, poważnie.

Ta konfiguracja sprawia, że sslhproxy nasłuchuj na wszystkich urządzeniach sieciowych na porcie 25565. Zastąp to innym numerem portu, jeśli twój klient Minecraft używa czegoś innego lub grasz w inną grę. Zwykle z sslh, dopasowujesz różne protokoły i kierujesz je w różne miejsca. Jednak dla naszych celów chcemy po prostu dopasować cały możliwy ruch i przekazać go do your_ip_address:25565.

Naciśnij klawisze Control+X, a następnie Y, aby zapisać plik. Wpisz następujące polecenie, aby włączyć sslh:

sudo systemctl enable sslh

sudo systemctl start sslh


Jeśli systemctlnie jest dostępna w Twoim systemie, może być konieczne użycie servicezamiast tego polecenia.

sslhpowinien teraz działać. Upewnij się, że router domowy przekierowuje porty i wysyła ruch 25565 do komputera. Możesz nadać komputerowi statyczny adres IP, aby to się nie zmieniło.

Aby sprawdzić, czy ludzie mogą uzyskać dostęp do Twojego serwera, wpisz adres IP serwera proxy wsprawdzanie statusu online. Możesz także wpisać adres IP serwera proxy do swojego klienta Minecraft i spróbować dołączyć. Jeśli to nie zadziała, upewnij się, że porty w grupach zabezpieczeń instancji są otwarte.

Czy ten post był pomocny?