Włamania na serwer minecraft, blokada portów

zeetg | 2020-07-29 00:47:39 UTC | #1

Cześć, od niedawna mam problem z włamaniami na serwer minecraft. Osoby, które się do tego przyczyniają z początku wchodziły przez moje konto i nadawały sobie uprawnienia (podejrzewam, że jakoś przez BungeeCorda), ale po tym incydencie na serwery gier dodałem logowanie tak jak na lobby. Jeden tydzień był spokojny jednak później znów zaczęły się kolejne ataki. Przy kolejnym razie nie wiem jak to wytłumaczyć lecz jakimś sposobem wchodzili na konta administracji oraz graczy pod swoimi nazwami przypisując sobie ich ustawione /sethome, statystyki śmierci, zabójstw, skinów, rang i wiele innych rzeczy. Dodatkowo gdy wpisuję /seen pokazuje się tam taka linijka “Gracz znany również jako: nick osoby włamującej się”, a gdy banujemy właśnie te personę to jeden z graczy także otrzymuje blokadę. Czytałem kilka postów i niektórzy piszą, że aby temu zapobiec powinno się zablokować porty lub coś w tym stylu, ale niestety nie wiem jak to zrobić, czy ktoś może mi pomóc? Z góry dziękuję ;)


psycho | 2020-07-28 14:36:54 UTC | #2

Mogę się mylić, ale może podrabiają UUID graczy, a w ten sposób serwer przypisuje im uprawienia, ustawienia itd. itp.

Czy blokujesz połączenia do serwerów z innych proxy niż Twoje?


zeetg | 2020-07-28 14:38:40 UTC | #3

Właśnie nie mam żadnych blokad, bo nie wiem jak się do tego zabrać. Właśnie dlatego napisałem ten post.


psycho | 2020-07-28 14:39:56 UTC | #4

Musisz zablokować połączenia z zewnętrznych proxy do Twoich serwerów.

Czy proxy stoi na tej samej maszynie co inne serwery?


zeetg | 2020-07-28 14:44:33 UTC | #5

Wiem, własnie dlatego napisałem ten post, bo nie wiem jak to zrobić i proszę o pomoc żeby ktoś mi napisał jak to zrobić.

Na jednym VPS jest postawiony BungeeCord, Lobby oraz 1 Serwer, a na drugim VPS 2 Serwer.


psycho | 2020-07-28 14:56:38 UTC | #6

Zablokuj przy użyciu iptables połączenia z zewnętrznych proxy, czyli na port serwera może połączyć się tylko wtedy, gdy łączy się z oficjalnego proxy.


zeetg | 2020-07-28 14:58:19 UTC | #7

Pytam się jak, a dalej otrzymuję nic niewnoszące odpowiedzi.


psycho | 2020-07-28 15:01:44 UTC | #8

Jeśli oczekujesz na gotowca, to ja Ci go nie dam. Dałem wystarczająco dużo informacji, by wyciągnąć wnioski i znaleźć rozwiązanie.

Jeśli chcesz lecieć na gotowcach to może lepiej wcale się za to nie brać, albo płacić osobie, która się tym zajmie?

Specjalnie dla Ciebie wyciągne główny sens wypowiedzi:

[quote=”psycho, post:4, topic:15551”]
Musisz zablokować połączenia z zewnętrznych proxy do Twoich serwerów.
[/quote]

[quote=”psycho, post:6, topic:15551”]
Zablokuj przy użyciu iptables połączenia z zewnętrznych proxy
[/quote]

https://www.spigotmc.org/wiki/firewall-guide/


jbrudek | 2020-07-28 15:02:49 UTC | #9

zabierz sobie administratora na bungeecordzie.


Nieznajomy11 | 2020-07-29 01:21:39 UTC | #10

To o czym on pisze, nie ma związku z “administratorem na bungeecordzie”, tylko z forwardingiem UUID przez bungee. Co pozwala podszyć się pod dowolną osobę, jeśli możemy podłączyć swoje proxy do serwera. To dlatego essentials pokazywał wiele nicków.

Plugin na logowanie prawdopodobnie działa na nickach, więc wystarczy przekazać do serwera własnym proxy dowolny nick i użyć UUID administratora, jeśli inny plugin np. essentials obsługuje graczy, używając UUID.

Poradnik zabezpieczenia ze strony spigotmc:
https://www.spigotmc.org/wiki/firewall-guide/


zeetg | 2020-07-28 15:09:38 UTC | #11

Nie znam się na linuxie i nie chcę zrobić czegoś źle i ponownie patrzeć na to jak ktoś mi niszczy serwer. Nie wiem też jaki problem sprawia osobie doświadczonej odpowiedzieć początkującemu. Oczekiwałem tylko zaprezentowania komend komend, które to blokują.

Skorzystam z poradnika, który przesłała osoba wyżej.


MTGmati | 2020-07-28 15:16:02 UTC | #12

https://forum.lvlup.pro/t/jak-skonfigurowac-zapore-dla-bungecord/15553


zeetg | 2020-07-28 22:42:09 UTC | #13

Korzystałem z tego poradnika, ale napotkałem się na mały problem. Po zablokowaniu portów nie można wejść na serwer w ogóle, a po uruchomieniu tego skryptu, który jest tam zaprezentowany odblokowują i można wejść normalnie, również z innego BungeeCorda niż mój. Jeśli to nie problem to prosiłbym o zaznaczenie, które fragmenty powinienem zmodyfikować w tym skrypcie, bo być może po stronie złej modyfikacji leży wina.

iptables -F #remove all existing rules
iptables -X #remove all existing chains
iptables -N bungee # create a new chain for bungee

# Which IPs do you want to allow
iptables -A bungee --src 111.111.111.111 -j ACCEPT
iptables -A bungee --src 222.222.222.222 -j ACCEPT
# etc
iptables -A bungee --src 127.0.0.1 -j ACCEPT

# block anything not from the those IPs
iptables -A bungee -j DROP

# which ports will the above IPs be allowed to work on.
# all other ports not here will not be limited
iptables -I INPUT -m tcp -p tcp --dport 25565 -j bungee
iptables -I INPUT -m tcp -p tcp --dport 25565 -j bungee
# etc

Nieznajomy11 | 2020-07-29 07:34:49 UTC | #14

Wszystko zależy od tego, jak wygląda twoja budowa sieci. Zamiast tych linijek z 111.111.111.111 i 222.222.222.222 tworzysz tam linijki z adresami zewnętrznych serwerów, które mają się łączyć.

Linijka z 127.0.0.1 jest potrzebna, jeśli masz na tym samym serwerze co bungee tryby, ale zależnie jak masz je ustawione możliwe, że będziesz potrzebował dodać taką z IP VPS, na którym dodajesz reguły.

Nie jestem w stanie bardziej pomóc, jeśli nie napiszesz, czy np. masz wiele serwerów VPS i jak są rozmieszczone na nich podserwery.


Szymonjjay | 2020-07-29 09:07:50 UTC | #15

Zakładam, że nie masz żadnego firewalla i przyjmujesz wszystko co przychodzi. W takim razie:
Skoro masz 2 osobne VPS’y to dodaj tę regułkę do VPS’a z drugim serwerem mc.

iptables -I INPUT -p tcp ! -s <IP VPS Z BUNGEE> --dport <PORT MC2 (nie bungee)> -j DROP

A tę do VPS’a z bungeecordem i pierwszym serwerem:

iptables -I INPUT -p tcp ! -s 127.0.0.1 --dport <PORT MC1 (nie bungee)> -j DROP

Tyle wystarczy. Będzie blokowało połączenia na oba serwery mc, jeżeli gracz nie łączy się przez bungeecorda.

Najlepiej to ogarnij sobie jakiś firewall, np. UFW, który jest bardzo łatwo ustawić.


zeetg | 2020-07-29 13:49:25 UTC | #17

Pisałem w odpowiedzi wyżej jak mam rozłożone serwery. Na pierwszym VPS stoi BungeeCord, Lobby oraz Serwer 1, na drugim stoi Serwer 2.

I mam jeszcze jedno pytanie, czy bez tego skryptu jakoś i inaczej będzie to działać? Wczoraj udało mi się zablokować to tak, że z innego bungeecorda niż mój nie mogę wchodzić na żaden tryb i zastanawiam się czy ten skrypt jest konieczny.


zeetg | 2020-07-29 13:51:58 UTC | #18

Właśnie tego wczoraj użyłem i blokuje połączenia z innego bungee niż mój, ale nie wiem czy ten skrypt jest konieczny i czy coś zmienia.


Nieznajomy11 | 2020-07-29 14:13:32 UTC | #19

Jeśli już skorzystałeś z tamtych reguł iptables, to będzie ok, tylko pamiętaj o tym, że domyślnie nie przywracają się one po restarcie VPS:

https://forum.lvlup.pro/t/automatyczne-przywracanie-iptables-po-restarcie-serwera/9683


KrEdEnS | 2020-07-29 14:09:54 UTC | #20

@zeetg Cześć, jeżeli możesz używaj przycisku edycji postu i edytuj poprzedni zamiast tworzyć kolejny


zeetg | 2020-07-29 18:02:50 UTC | #21

Mam jeszcze jedno bardzo ważne pytanie, czy ktoś wie jak naprawić konta, który zostały “skradzione” przez fake UUID, aby wróciły do normy?


aggankx | 2020-07-30 09:29:08 UTC | #22

ja bym skorzystał z backupów


system | 2020-08-31 09:29:09 UTC | #23

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