Dla właścicieli serwerów

Bezpieczeństwo serwera Metin2: ochrona przed DDoS i cheatami

Bezpieczeństwo serwera Metin2: ochrona przed DDoS i cheatami

Serwer Metin2 Pvp najbardziej niszczą zerwane połączenia w godzinach największego ruchu i niekończące się skargi na cheaty. Żaden serwer nie jest w pełni odporny na ataki, ale dzięki dobremu przygotowaniu możesz zmniejszyć skutki ataku i utrudnić oszukiwanie. W tym poradniku zebraliśmy w formie listy kontrolnej podstawowe kroki obronne w zakresie bezpieczeństwa serwera Metin2: ochronę przed DDoS i zapobieganie cheatom.

Ochrona przed DDoS zaczyna się u dostawcy

Podczas ataku DDoS na Twój serwer wysyłany jest większy ruch, niż są w stanie obsłużyć jego łącze albo sam serwer. Gdy ten ruch dotrze do Twojej maszyny, od strony samego serwera niewiele już zrobisz; właściwa ochrona działa w sieci dostawcy hostingu.

  • Wybierz dostawcę, który chroni też ruch gry: Zapytaj, czy ochrona obejmuje nie tylko stronę WWW, ale też porty gry, z którymi łączą się gracze.
  • Dowiedz się, jak włącza się ochrona: Jest różnica między stałym filtrowaniem a ochroną uruchamianą dopiero po wykryciu ataku; w drugim przypadku mogą wystąpić krótkie przerwy.
  • Oddziel stronę WWW: Hostuj stronę na innej maszynie niż serwer gry i schowaj ją za usługą CDN albo proxy. Większość takich usług chroni tylko ruch WWW; porty gry wymagają osobnych zabezpieczeń.
  • Plan na czas ataku: Ustal z góry kanał kontaktu z pomocą techniczną dostawcy, miejsce, w którym poinformujesz graczy, i to, kto w zespole za co odpowiada.

Zapora sieciowa i porty

Podstawowa zasada brzmi: zamknij wszystko, otwórz tylko to, co niezbędne.

Usługa Otwarta na zewnątrz?
Porty logowania (auth) i kanałów Tak, łączą się z nimi gracze
Porty między rdzeniami (P2P) Nie, tylko wewnątrz serwera
Port rdzenia db Nie, tylko wewnątrz serwera
MySQL Nie; jeśli strona stoi na osobnej maszynie, tylko dla jej IP
SSH albo pulpit zdalny Tylko dla Twojego adresu IP

Linie PORT, P2P_PORT i DB_PORT w plikach CONFIG rdzeni gry pokazują, które porty są używane. Na tej podstawie napisz reguły zapory, a potem przeskanuj swój serwer z zewnątrz i upewnij się, że otwarte zostały tylko potrzebne porty.

Baza danych i dostęp administracyjny

  • Nie wystawiaj bazy danych do internetu: Niech MySQL nasłuchuje tylko w sieci lokalnej; dla strony WWW zamiast konta root utwórz osobnego użytkownika z uprawnieniami tylko do potrzebnych tabel.
  • Zmień domyślne hasła: Hasła do bazy danych i narzędzi administracyjnych, które przychodzą z gotowymi plikami, zmień pierwszego dnia. Sprawdź też ustawienia ADMINPAGE_IP i ADMINPAGE_PASSWORD w pliku CONFIG rdzenia gry: w przeanalizowanym przez nas kodzie źródłowym, jeśli lista IP jest pusta, każdy adres znający hasło ma dostęp do komend zdalnego zarządzania rdzeniem.
  • Wyłącz tryb testowy: Gdy w CONFIG włączone jest TEST_SERVER, w kodzie źródłowym każdy gracz dostaje najwyższe uprawnienia GM. O bezpieczeństwie kont GM przeczytasz w poradniku o uprawnieniach GM.
  • Utwardź SSH: Zamiast hasła używaj logowania kluczem, wyłącz bezpośrednie logowanie na konto root i aktualizuj pakiety systemowe.
  • Używaj zaufanych plików: Gotowe pliki serwera i narzędzia z niepewnego źródła mogą zawierać backdoory. Pobieraj pliki od programistów, którym ufasz, i zlecaj przegląd kodu.

Kopie zapasowe i monitoring

  • Automatyczne kopie: Codziennie twórz kopię baz danych kont, graczy, common i logów; co najmniej jedną kopię trzymaj na innym serwerze.
  • Testuj przywracanie: Kopia, której nie da się otworzyć, jest bezużyteczna; regularnie przywracaj kopie na serwerze testowym.
  • Kopia przed aktualizacją: Przed każdą aktualizacją i przerwą techniczną zrób dodatkową kopię.
  • Monitoring: Ustaw system, który śledzi procesor, pamięć, ruch sieciowy i to, czy rdzenie działają; skonfiguruj alerty przy nagłym wzroście ruchu. Regularnie czytaj też logi błędów rdzeni (syserr).

Podstawy zapobiegania cheatom

Pierwsza zasada w walce z cheatami: nie ufaj klientowi. Im więcej kontroli odbywa się po stronie serwera, tym trudniej je obejść.

  • Kontrole po stronie serwera: W przeanalizowanym przez nas kodzie źródłowym są kontrole synchronizacji pozycji, czasu ruchu i ataków combo; podejrzane sytuacje trafiają do tabeli hack_log w bazie logów, a połączenie gracza może zostać zerwane. Bez powodu nie luzuj ustawień CONFIG związanych z tymi kontrolami (np. SYNCHACK_LIMIT_COUNT, CHECK_MULTIHACK).
  • Ochrona klienta: Program anty-cheat pomaga wyłapywać znane cheaty po stronie klienta, ale nie zastąpi kontroli po stronie serwera.
  • Łataj luki: Aktualizuj pliki pod kątem znanych luk; zgłoszenia błędów od graczy zbieraj w wiadomościach prywatnych, a zgłaszających nagradzaj.
  • Przeglądaj logi: Szukaj w tabelach logów sygnałów takich jak nietypowy przyrost yang, zbyt wiele przedmiotów zdobytych w krótkim czasie albo wiele kont założonych z jednego adresu IP.
  • Przejrzyste zasady kar: Kary za cheaty opisz jasno w regulaminie i stosuj je jednakowo wobec wszystkich.

Jak gracze rozpoznają serwer z ochroną przed cheatami, opisaliśmy w poradniku o uczciwej grze. Stabilna i uczciwa gra to też podstawa awansu w rankingu najlepszych serwerów, który tworzą głosy graczy. Swoimi doświadczeniami możesz podzielić się z innymi właścicielami serwerów na forum.

Najczęściej zadawane pytania

Czy serwer z ochroną DDoS jest całkowicie bezpieczny?

Nie. Ochrona zmniejsza skutki ataku, ale nie gwarantuje, że w pełni zatrzyma każdy atak. Trzeba ją traktować razem z zaporą sieciową, kopiami zapasowymi i monitoringiem.

Czy usługa chroniąca moją stronę WWW chroni też serwer gry?

Zwykle nie. Usługi ochrony stron WWW obejmują najczęściej tylko ruch HTTP i HTTPS; porty gry wymagają ochrony na poziomie sieci u dostawcy hostingu albo osobnej usługi obsługującej ruch gry.

Jak często robić kopie zapasowe?

Dobry początek to co najmniej jedna automatyczna kopia dziennie i dodatkowa przed każdą aktualizacją. Wraz ze wzrostem liczby graczy zwiększaj też częstotliwość kopii.

Czy sam program anty-cheat wystarczy?

Nie. Ochrona po stronie klienta wyłapuje część cheatów; prawdziwym zabezpieczeniem są kontrole po stronie serwera, aktualne pliki i regularne przeglądanie logów.

0 Polubień

Więcej wpisów

Komentarze 0

Nie dodano jeszcze żadnych komentarzy.