Jak zabezpieczyć serwer Minecraft #1 - Włamania

Poradniki społeczności
minecraft, pluginy, zabezpieczenia
Kukubaczek
Kukubaczek

Jak zabezpieczyć serwer przed włamaniami?

Wprowadzenie

Zajmuję się serwerami od około dwóch lat, przez ten okres nabyłem dużego doświadczenia w zabezpieczaniu serwerów i właśnie w tej "serii" będę się z Wami dzielił moimi informacjami. Mam nadzieję, że wiele osób na tym skorzysta 😃 Najlepiej udostępnijcie znajomym - im więcej osób o tym wie tym lepiej.

Podstawy:

  1. Nie przyjmuj do ekipy przypadkowych, niezaufanych osób. Jeżeli już to robisz to zacznij od uprawnienia ich do najprostszych komend (np. mute, kick).
  2. Dbaj o bezpieczeństwo haseł całej swojej ekipy - muszą być trudne do odgadnięcia (jeżeli masz nick "Stefan" nie dawaj sobie hasła "Stefan123" tylko już lepiej StefanLubiKonie -> "St3f@nLuBlk()niE" - prawie niemożliwe do zgadnięcia, a da się w miarę łatwo zapamiętać :slight_smile:
  3. Nigdy nie używaj hasła, które masz do swojego konta na swoim serwerze, na innych serwerach.
  4. Najlepiej dla kont administracyjnych dodaj drugi etap weryfikacji (o tym niżej).
  5. Zmieniaj co jakiś czas hasło na swoim serwerze.
  6. Zablokuj nieużywane komendy, które mogą wyrządzić duże szkody serwerowi (podane poniżej)

Drugi etap weryfikacji dla konta administratora

Oto skuteczne przykłady, które umożliwiają podwójne zabezpieczenie konta administratora:

  • stwórz plugin, który będzie dodatkowo sprawdzał, czy admin logujący się ma aktywną sesję premium (oczywiście działa tylko w przypadku gdy ekipa nie okrada Mojangu),
  • nie potrafisz? Jeżeli używasz BungeeCorda postaw jego drugą instancję, następnie zablokuj konta adminów na publicznym proxy, a na tym równoległym (dla ekipy) włącz weryfikację premium,
  • jeżeli posiadasz własną domenę stwórz subdomeny typu "ms739adsma.example.com" i każdą przypisz jednemu adminowi (tak, aby tylko z tej domeny mógł wejść na serwer).
  • stwórz drugi plugin od logowania, który będzie wymagał podania drugi raz hasła (najlepiej innego niż do konta), np. po zalogowaniu się komendą /login wpisujemy komendę /paneladmina (hasło) i komendy zostają dla nas odblokowane.

Komendy zagrażające serwerowi

  • /kickall - raczej się tego nie używa, a podczas włamania jest bardzo często używana,
  • //br - komenda pojawiająca się w pluginie WorldEdit, która służy edycji terenu - najczęściej używana tylko przy budowie (np. spawnu),
  • //set i inne komendy służące edycji terenu - najczęściej używana komenda spośród podanych, najlepiej ograniczyć jej "moc" do np. 300 bloków (do konfiguracji w configu world edit). Jeżeli nie będziemy jej używać też zalecam jej zablokowanie.

Do blokady komend polecam często używany plugin NoCheatPlus (NCP), który umożliwia taki zabieg w configu.

Włamania przez BungeeCord

Najczęstsza metoda włamań. Tutaj niedoświadczony technik może najłatwiej "dać ciała".

  • Jak wiecie konto "md_5" po pierwszym (i kolejnym, jeżeli temu nie zapobiegniemy) uruchomieniu tego proxy ma uprawnienia administratora. Jednak zazwyczaj (w Polsce) jest wyłączana weryfikacja kont premium, przez co każdy może wejść na wyżej wymieniony nick (prawdziwy md_5 raczej by nic nie zrobił). Następnie "hacker" (trudno to nazwać hackerem) ma dostęp do komend takich jak: /alert, czy /end przez co może wyrządzić dużo szkód. Najlepiej usunąć od razu uprawnienia dla tego użytkownika.

  • Jeżeli logowanie nie odbywa się po stronie proxy najlepiej zablokować wszystkie komendy z BungeeCorda. Tego nie chce mi się tłumaczyć, ale jeżeli ktoś się na tym nie zna lepiej niech to zrobi jak najszybciej (a tym bardziej niech nie daje sobie żadnych większych uprawnień na proxy).

  • Odblokowane porty - jeżeli używasz serwera BungeeCord to już tłumaczę jak skonfigurować firewalla (np. iptables):

  • port używany przez BungeeCord niech pozostanie odblokowany (dla protokołu TCP obowiązkowo, jeżeli używasz Query i nie boisz się o ataki to możesz też odblokować UDP),

  • wszystkie porty serwerów Bukkit/Spigot muszą być zablokowane dla każdego z wyjątkiem proxy (BungeeCord).

Nie będę tutaj pisał, jak przebiega atak przez odblokowane porty - im mniej osób o tym wie tym lepiej.

Podsumowanie

Dbaj o bezpieczeństwo haseł na Twoim serwerze. Jeżeli nie potrafisz bezpiecznie używać BungeeCorda (czy innego proxy) - nie rób tego.

Pluginy pomagające w zabezpieczaniu:

W następnym odcinku:

Jak zabezpieczyć serwer przed botami?

LinGruby
LinGruby Pionier

Polubiłem bo:

  • Ciekawie przejrzyście napisany etc

  • Przyda się potomnym

ale laik nie ma pojęcia o jaki (czego) serwer chodzi etc. @Kukubaczek Proponował bym pozmieniać żeby było wiadomo o co chodzi (serwer czego), bo zaglądają tu ludzie co nie mają pojęcia etc.

luxDev
luxDev Pionier

@Kukubaczek, zmieniłem nazwę tematu, myslę że będzie bardziej łatwiejsza do zrozumienia 😃

Kukubaczek
Kukubaczek

@luxDev dzięki :) Muszę jeszcze cos napisać, aby było 15 znaków, a przy okazji uzyskam odznaczenie "Reply" :)