MCSTORM_IO - czy mogę się jakoś bronić?

Pytania i problemy
Lempik
Lempik

Pół godziny temu widziałem na konsoli bardzo duży ruch, sprawdziłem latest.log - ok. 90 tys. wpisów takich jak poniżej. Atak trwał jedną minutę. Serwer wytrzymał, nie wiem, czy użytkownicy coś zauważyli. Czy mogę się jakoś bronić?

[18:30:30] [Server thread/INFO]: com.mojang.authlib.GameProfile@5f873004[id=,name=MCSTORM_IO_sjboh,properties={},legacy=false] (/23.129.64.135:4991) lost connection: Disconnected
[18:30:30] [Server thread/INFO]: com.mojang.authlib.GameProfile@6d45e775[id=,name=MCSTORM_IO_rprym,properties={},legacy=false] (/89.151.134.157:37003) lost connection: Disconnected
[18:30:30] [Server thread/INFO]: com.mojang.authlib.GameProfile@12a3d388[id=,name=MCSTORM_IO_pqrua,properties={},legacy=false] (/180.211.191.38:50640) lost connection: Disconnected
[18:30:30] [Server thread/INFO]: com.mojang.authlib.GameProfile@15786744[id=,name=MCSTORM_IO_foyue,properties={},legacy=false] (/178.218.201.63:46128) lost connection: Disconnected
[18:30:30] [Server thread/INFO]: com.mojang.authlib.GameProfile@731972ff[id=,name=MCSTORM_IO_txwdl,properties={},legacy=false] (/123.234.46.51:60396) lost connection:Disconnected
[18:30:30] [Server thread/INFO]: com.mojang.authlib.GameProfile@31a54da6[id=,name=MCSTORM_IO_gkqgl,properties={},legacy=false] (/123.200.6.58:59393) lost connection: Disconnected
[18:30:30] [Server thread/INFO]: com.mojang.authlib.GameProfile@5780dcea[id=,name=MCSTORM_IO_bmvik,properties={},legacy=false] (/157.245.244.159:36494) lost connection: Disconnected
[18:30:30] [Server thread/INFO]: com.mojang.authlib.GameProfile@219f7ee6[id=,name=MCSTORM_IO_yhuzl,properties={},legacy=false] (/41.184.212.3:36730) lost connection: Disconnected
[18:30:30] [Server thread/INFO]: com.mojang.authlib.GameProfile@32f53a20[id=,name=MCSTORM_IO_weixp,properties={},legacy=false] (/36.89.246.187:51431) lost connection: Disconnected
[18:30:30] [Server thread/INFO]: com.mojang.authlib.GameProfile@4ce38231[id=,name=MCSTORM_IO_skzuj,properties={},legacy=false] (/109.75.47.204:39749) lost connection: Disconnected
[18:30:30] [Server thread/INFO]: com.mojang.authlib.GameProfile@1dd560cb[id=,name=MCSTORM_IO_mwnrw,properties={},legacy=false] (/103.127.63.57:42482) lost connection: Disconnected
[18:30:30] [Server thread/INFO]: com.mojang.authlib.GameProfile@47e745d9[id=,name=MCSTORM_IO_xigsy,properties={},legacy=false] (/182.176.104.26:43095) lost connection: Disconnected
Helios1993
Helios1993

Najskuteczniej? Włączając tryb online. Pewnie tego nie zrobisz, więc nada się też darmowy epicguard lub płatny botsentry. Pamiętaj by dokładnie przejrzeć config pobranego pluginu.

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

Jako pierwsza linia obrony przyda się jakiś antybot, czy blokowanie wzorców nicków (w końcu MCSTORM_IO_*).

Jako dalsza warstwa na to co przejdzie, mogę polecić usługę typu IP score, np. OK! No.Proxy (PS. mogę na PW podrzucić jakiś testowy plan).

FairGames
FairGames

Polecam zastosować segmentowanie sieci, podczas zmożonego ruchu z pewnych segmentów które są RISK wycinasz go. Możliwości jest multum, myślę, że w twoim case wystarczy iptables z ipsetem do tego.

Lempik
Lempik

Mam tryb online, więc logować mogą się tylko gracze z kontem premium.

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

Czyli te logi to tylko "odbijanie" się botów od serwera? W takim wypadku jeśli łącza wystarcza i nie widzisz żadnych negatywnych skutków na serwerze to nie ma co się martwić.

Lempik
Lempik

Tak, tylko się odbijały. Oba rdzenie CPU były obciążone na 100%, ale nie wiem, czy użytkownicy na serwerze coś zauważyli - na czacie się nie skarżyli.

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

Q. How many players can the plugin look information up for? A. At the time of writing this the backend API provider has a 500 monthly request limit. Which means if you enable api-cache within config.yml you can get 500 monthly unique players and lookup information regarding them with no problem! Just to clarify once more, the plugin is free, however the API Backend this plugin uses is not. I do not manage the API service, so please don't penalize the plugin for you not being able to use it for free.

500 req/mc to trochę może być mało, jeśli faktycznie by było potrzebne z tego korzystać 😳

Lempik:

Oba rdzenie CPU były obciążone na 100%

Zbierz logi i bashem lub inną metodą wyciągnij IP z linijek które mają w sobie MCSTORM_IO_, po czym wpakuj to w ipset i wytnij na iptables.

Lempik
Lempik

Wydaje mi się, że plugin VPNGuard w ogóle tego nie zauważył, żadnego komunikatu od tego pluginu w logu nie widzę.

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

Tak, bo weryfikacja premium jest bardzo wcześnie w procesie łączenia się z serwerem. W teorii pod tym względem logowanie kont premium wymaga więcej zasobów (każde połączenie praktycznie to request do mojangu).

Lempik
Lempik

Nieznajomy11:

Zbierz logi i bashem lub inną metodą wyciągnij IP z linijek które mają w sobie MCSTORM_IO_, po czym wpakuj to w ipset i wytnij na iptables. To ponad 91 tys. wierszy, ale nie sprawdzałem, czy adresy IP się powtarzają.

Lempik
Lempik

Nieznajomy11:

W teorii pod tym względem logowanie kont premium wymaga więcej zasobów (każde połączenie praktycznie to request do mojangu). Czy to obciąża bardziej mój serwer czy raczej serwery Mojang?

Axerr
Axerr

Weź pod uwagę możliwość ataku refleksyjnego przy włączonym online mode (vps zawala serwery Mojangu requestami o logowanie). Może być jeszcze goręcej niż przy offline mode 😎

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

Coś takiego pomoże wylistować IP:

cat jakis.log | grep MCSTORM_IO_ | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | sort -n | uniq > lista.txt

A czymś takim możesz sprawdzić częstotliwość występowania konkretnych adresów:

cat jakis.log | grep MCSTORM_IO_ | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | sort -n | uniq -c | sort -n

Lempik:

Czy to obciąża bardziej mój serwer czy raczej serwery Mojang?

Proporcjonalnie do skali przedsięwzięcia raczej odpowiedź jest prosta. 😳

Lempik
Lempik

Nieznajomy11:

A czymś takim możesz sprawdzić częstotliwość występowania konkretnych adresów:

W pliku są 2172 wpisy, jeden adres IP został wykorzystany aż 171 razy, inne adresy tylko raz.

musicgames_tv
musicgames_tv

Wystarczy plugin nAntibot

Kamil02167
Kamil02167

Zalecane czytanie ze zrozumieniem, osoba posiada online-mode, przez co te boty "odbijają się" od serwera (nie wchodzą na niego). Żaden plugin nie pomoże w tym przypadku, trzeba ingerować głębiej w zapory (rozwiązania systemowe).

Helios1993
Helios1993

Zrobiłem kilka małych testów z ok. 8k połączeń na sekundę na serwerze z darmowego hostingu. Użycie procesora wzrasta podobnie jak u ciebie, lecz w średnich mspt nie ma dużej różnicy. Przez 30 sekund ataku utrzymywały się one na poziomie 2,5, co można przetłumaczyć na 5% obciążenia serwera. Najwyższy tick w tym czasie osiągnął 200 ms, więc źle nie jest. Aktualnie nie masz problemu, jeśli jednak ataki będą większe to pobaw się trochę firewallem. Droższą opcją jest też tcpshield, lecz aktualnie nie będziesz miał raczej tak dużych ataków by był on potrzebny. Możesz dodatkowo wyczyścić sobie logi z prób dołączeń botów pluginem consolespamfix.

system
system

Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.