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_logw 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.
Komentarze 0
Nie dodano jeszcze żadnych komentarzy.