Palworld-szerver védelme DDoS-támadások ellen

Közzétéve Frissítve 20 perc olvasás

Mely portokra van valóban szüksége egy Palworld-szervernek, hogyan biztosítja a 27015-ös Steam-lekérdezési portot, az RCON-t, a REST API-t és a 32 férőhelyet, és mekkora támadásméretnél segít már csak a szerver előtti hálózatban végzett szűrés.

Az a Palworld-szerver, amely este játék közben egyszerre dobja ki az összes játékost, néhány percre elérhetetlenné válik, majd magától újra elérhető lesz, ritkán küzd hardverproblémával. Rendszerint támadás zajlik ellene. Ez a cikk megmutatja, hogyan védheti meg a Palworld-szervert a DDoS-támadásoktól: először azt, amit többletköltség nélkül saját maga is beállíthat, utána azt a pontot, ahol ezek az intézkedések technikailag véget érnek, végül pedig azt, aminek a szerver előtti hálózatban kell történnie ahhoz, hogy a szerver elérhető maradjon.

Minden adat a Pocketpair hivatalos dedikált szerverére vonatkozik (Steam-alkalmazásazonosító 2394010) Debian 12, Debian 13, Ubuntu 22.04 LTS vagy Ubuntu 24.04 LTS alatt. A parancsok root felhasználóra készültek, normál felhasználóként tegye eléjük a sudo parancsot. Ha a támadás éppen zajlik, egy sorrend érvényes: előbb mérés, utána változtatás. A terhelés alatti kemény újraindítás eldob mindent, ami az utolsó automatikus mentési pont óta történt a világban, és az eset mérési adatai is elvesznek vele.

Miért bénítják meg célzottan DDoS-támadásokkal a Palworld-szervereket

Egy Palworld-szerver kicsi, állandó közönséget jelent egy állandó címen. A dedikált szerver 32 játékosra van korlátozva, ezt a ServerPlayerMaxNum vezérli, amelynek érvényes tartománya 1 és 32 között van. Aki ehelyett a játék menüjéből házigazdaként indít világot, négy játékosig jut, és csak addig, amíg ő maga online van. Ebből a 32 férőhelyből következik minden további: a csapat fix esti időpontokban játszik, a tagjai ismerik egymást, és egy este nyolckori kiesés nem a játékosok töredékét éri, hanem mindenkit.

A szerver címe eközben nem titok. A Palworld nem ismer szolgáltatói közvetítést: a játékosok maguk írják be az IP-címet és a portot a közvetlen csatlakozás mezőjébe, aki pedig a szerverét a közösségi szerverlistában is szerepeltetni szeretné, a -publiclobby kapcsolóval indítja, és válaszoltatja a lekérdezési portot. Így mindenki ismeri a célpontot, aki valaha csatlakozott. Egy booter-szolgáltatás, amely ezt a címet havi néhány euróért lövi, a megrendelőjétől sem tudást, sem ráfordítást nem igényel.

Ehhez jön, hogy a teljes játékforgalom UDP-n keresztül megy. Az UDP nem ismer olyan kapcsolatfelépítést, amelyet meg lehetne követelni, és egy UDP-csomag feladói címe hamisítható. A támadónak tehát sem belépnie nem kell a szerverre, sem szabályosan megszólítania ahhoz, hogy terhelést okozzon. Hogy egy ilyen támadás során technikailag mi történik, azt a Mi az a DDoS-támadás? című cikk magyarázza el.

Azok a portok, amelyekről egy Palworld-szervernél valójában szó van

Egy Palworld-szervernek pontosan egy nyitott portra van szüksége: 8211 UDP. Minden más opcionális, sőt feladattól függően kifejezetten káros, ha kint áll az interneten. Ebből egy hasznos megkülönböztetés következik: a 8211-es port elleni DDoS-támadás mindig magát a játékforgalmat éri, a 27015 UDP elleni támadás ezzel szemben csak a szerverlistában szereplő bejegyzést.

Port Protokoll Mire szolgál Alapérték és direktíva Nyitva legyen az interneten?
8211 UDP a teljes játékforgalom, a kapcsolatfelépítés és a folyamatos szinkronizáció PublicPort=8211, indítási paraméter -port=8211 igen, kötelezően
27015 UDP Steam-lekérdezés (A2S) a közösségi szerverlistában szereplő bejegyzéshez indítási paraméter -queryport=27015 csak listabejegyzéssel
8212 TCP REST API az adminisztrációhoz, HTTP Basic Auth a rögzített admin felhasználóval RESTAPIEnabled=False, RESTAPIPort=8212 nem
25575 TCP RCON-távvezérlés, a Pocketpair elavultnak jelölte RCONEnabled=False, RCONPort=25575 nem
22 TCP az ön SSH-hozzáférése a géphez rendszerbeállítás korlátozottan

Az összes ide tartozó kapcsoló egyetlen fájlban áll: Pal/Saved/Config/LinuxServer/PalWorldSettings.ini, Windows alatt ennek megfelelően Pal\Saved\Config\WindowsServer\PalWorldSettings.ini. A fájl a [/Script/Pal.PalGameWorldSettings] szakaszsorral kezdődik, utána egyetlen OptionSettings=(...) sor következik, amely az összes beállítást listaként tartalmazza. A zárójelen belüli sortörés az egész konfigurációt érvénytelenné teszi, és a szerver megjegyzés nélkül visszaáll az alapértékekre. A szerverkönyvtárban lévő DefaultPalWorldSettings.ini mintafájlt nem szerkeszti, mert azt minden frissítés felülírja.

A Palworld-szerver számokban

Az alábbi értékek minden szűrőszabályról és határértékről szóló döntés alapját adják.

Jellemző Érték
Játékport 8211 UDP
Lekérdezési port 27015 UDP
A REST API portja 8212 TCP
RCON-port 25575 TCP, elavult
Maximális játékosszám a dedikált szerveren 32 (ServerPlayerMaxNum, tartomány 1 és 32 között)
Maximális játékosszám dedikált szerver nélkül 4, a játék menüből indított kooperatív módjában
Memória, hivatalos követelmény 16 GB, teljes telítettségnél inkább 24 és 32 GB között
A szervercsomag Steam-alkalmazásazonosítója 2394010
Játékszerver-projektek elleni jellemző támadásméret 5 és 50 Gbit/s között
Az a csomagráta, amely megtölt egy 1 Gbit/s sávszélességű vonalat 64 bájtos csomagméretnél körülbelül 1,49 millió csomag másodpercenként
KernelHost-szervereken kiszűrt csúcsértékek 473,4 Gbit/s másodpercenként 41,5 millió csomag mellett

Miért a 27015-ös lekérdezési port a legérzékenyebb pont

A lekérdezési port Steam-formátumú (A2S) állapotkérdésekre válaszol, vagyis ugyanarra a lekérdezésre, amelyet a Counter-Strike- és az ARK-szerverek is kiszolgálnak. Egy A2S_INFO-kérés néhány tucat bájtos, kapcsolat nélküli UDP-csomag, a szervernevet, a világot, a játékosszámot és az állást tartalmazó válasz ennek a többszöröse. Mivel UDP esetén a feladói cím hamisítható, a támadó idegen lekérdezési portokat szólíthat meg, és a nagyobb válaszokat a tényleges célpontjára terelheti. Ilyenkor az ön szervere nem az áldozat, hanem az erősítő, és a számlát az ő hálózati kapcsolata fizeti.

A Valve ezért 2020. december 8-án egy előzetes ellenőrzéssel (challenge) egészítette ki az A2S_INFO-t: a szerver először S2C_CHALLENGE üzenettel válaszol, a kérdezőnek vissza kell küldenie a tokent, és ezzel bizonyítja, hogy nem hamisítja a feladói címét. Ez enyhíti az erősítést, de nem szünteti meg, és a valódi címekről érkező, egyforma lekérdezések puszta áradata ellen egyáltalán nem hat.

A Palworld számára ebből fontos előny származik a Source motorhoz képest: a játékforgalom és a szerverlekérdezés külön portokon fut. A Counter-Strike 2-ben mindkettő a 27015-ös porton osztozik, ott egy durva sebességkorlát a saját játékosokat is kidobja. A Palworldnél a 27015 UDP keményen korlátozható vagy teljesen lezárható anélkül, hogy a 8211 UDP-n futó játékforgalom egyetlen csomagját is érintené. Akinek nincs szüksége a listabejegyzésre, elhagyja a -publiclobby kapcsolót és a lekérdezési portot, és ezzel egy teljes támadási felületet vesz ki a hálózatból.

Amit saját maga megtehet, mielőtt pénzt költene

Az alábbi lépések egyetlen volumetrikus támadást sem állítanak meg, ezt a szerveren futó szoftver nem tudja megoldani. Mindent leszednek viszont, ami ez alatt van: a portszkennelést, a lekérdezési áradatokat, az adminisztrációs portokon keresztüli átvételi kísérleteket és mind a 32 férőhely idegenek általi elfoglalását. Ez a nagyobbik része annak, ami egy Palworld-szervert a hétköznapokban zavar, és fél órába kerül.

1. Leltár: mi figyel a szerveren?

Mielőtt egyetlen szabályt is írna, nézze meg, mit kínál a szervere kifelé. Ne találgasson, nézzen utána:

ss -lntup

Az érdekes oszlop a helyi címé. A 0.0.0.0:8211 azt jelenti, hogy „az egész internetről elérhető", a 127.0.0.1:8212 azt, hogy „csak helyben", és ehhez nem kell tűzfalszabály. A játékfolyamat mellett egy hosszabb ideje működő szerveren gyakran feltűnik még egy adminisztrációs panel, egy webszerver a térkép megjelenítéséhez és egy adatbázis is. A támadó nézőpontját egy kívülről indított portszkennelés adja:

nmap -Pn -sU -p 8211,27015 A.SZERVER.IP.CIME
nmap -Pn -p- --min-rate 1000 A.SZERVER.IP.CIME

2. Csak azt nyissa meg, amire a Palworldnek valóban szüksége van

Két engedélyezés elég, és a második opcionális. UFW-vel ez így néz ki, méghozzá pontosan ebben a sorrendben, hogy ne zárja ki saját magát:

ufw allow 22/tcp comment 'SSH'
ufw allow 8211/udp comment 'Palworld játékforgalom'
ufw allow 27015/udp comment 'Palworld Steam-lekérdezés'
ufw default deny incoming
ufw default allow outgoing
ufw --force enable
ufw status verbose

A harmadik sort hagyja ki, ha a szervere nem akar szerepelni a közösségi szerverlistában. A játékosai ekkor is csatlakoznak az IP-cím és a 8211-es port megadásával, a szerver csupán a nyilvános listából tűnik el. A teljes útmutató a menekülőúttal együtt itt olvasható: UFW-tűzfal beállítása anélkül, hogy kizárná magát.

3. A 25575-ös RCON-port és a 8212-es REST API kivétele az internetről

Mindkét port teljes felügyeletet adó adminisztrációs hozzáférés, és mindkettő gyárilag ki van kapcsolva: RCONEnabled=False és RESTAPIEnabled=False. Aki bekapcsolja őket, tudja, mit tesz közzé.

A 8212 TCP-n futó REST API HTTP Basic Auth segítségével hitelesít a rögzített admin felhasználónévvel és az AdminPassword értékével, méghozzá titkosítatlan HTTP felett. Az adminisztrációs jelszó így minden egyes kérésnél visszafejthető formában halad át a vonalon. A 25575 TCP-n futó RCON ugyanilyen titkosítatlan szöveges protokoll, és a Pocketpair a REST API javára elavultnak jelölte. Új telepítéseknél a REST API a helyes választás, mindkettőre ugyanaz a szabály érvényes: nem való a nyílt hálózatba.

RESTAPIEnabled=True
RESTAPIPort=8212
AdminPassword="egy hosszú véletlenszerű érték"

A felületet SSH-porttovábbítással teszi elérhetővé, utána helyben dolgozik a 127.0.0.1:8212 címmel szemben:

ssh -N -L 8212:127.0.0.1:8212 root@A.SZERVER.IP.CIME

Az AdminPassword értékét soha ne hagyja üresen, mert az üres az alapértelmezés. Egy openssl rand -base64 32 parancsból származó érték elegendő. Ugyanez érvényes a ServerPassword beállításra, erről mindjárt bővebben.

4. A 27015-ös lekérdezési port korlátozása a listabejegyzés elvesztése nélkül

A kapcsolat nélküli Steam-csomagok négy beállított bájttal kezdődnek (0xffffffff), a szabályos játékforgalomnak nincs ilyen fejléce. Erre forráscímenkénti sebességkorlát tehető, amely fékezi a lekérdezéseket, és megőrzi a listabejegyzést. nftables-szel, nft -f paranccsal betöltve:

table inet palworld {
    chain input {
        type filter hook input priority -10; policy accept;
        udp dport 27015 @th,64,32 0xffffffff \
            meter a2sflood { ip saddr limit rate over 10/second burst 20 packets } drop
    }
}

A -10 prioritás gondoskodik arról, hogy a szabály az UFW szűrőlánca előtt fogjon, a @th,64,32 pedig az UDP-fejléc mögötti első négy bájtot olvassa ki. Klasszikus iptables-szel ugyanezt a szétválasztást az A2S_INFO azonosítójára történő illesztés éri el:

iptables -A INPUT -p udp --dport 27015 \
  -m string --algo bm --hex-string "|ffffffff54536f7572636520456e67696e6520517565727900|" \
  -m hashlimit --hashlimit-name a2sflood --hashlimit-mode srcip \
  --hashlimit-above 10/sec --hashlimit-burst 20 -j DROP

Másodpercenként és címenként tíz lekérdezés bőkezűen mért érték: egy listaszolgáltatás jellemzően néhány percenként kérdez, nem másodpercenként többször. Csak az a fontos, hogy ez a szabály a 27015-ösön álljon, és ne a 8211-esen, különben a saját játékosait találja el.

5. A csomagráta korlátozása a 8211 UDP-n

Magán a játékporton a forráscímenkénti felső korlát a kevés forrásból érkező kis áradatok ellen segít. A Palworldnél ezt a korlátot viszonylag veszélytelen beállítani, mert legfeljebb 32 játékos csatlakozik egyszerre, és mindegyikük pontosan egy forráscímet foglal el:

iptables -I INPUT -p udp --dport 8211 \
  -m hashlimit --hashlimit-name palworld_udp --hashlimit-mode srcip \
  --hashlimit-above 400/sec --hashlimit-burst 600 -j DROP

A szám kiindulási érték, nem végső igazság. Egy 32 játékossal és sok bázissal teli szerver jóval több csomagot állít elő, mint egy négyfős kör, és aki túl szűkre állítja, a saját játékosait dobja ki. Előbb mérjen egy hetet normál üzemben, utána állítsa a korlátot a mért csúcsérték kétszeresére.

A tiszta iptables-szabályok újraindítás után eltűnnek. Debian és Ubuntu alatt így menti őket:

apt-get install -y iptables-persistent
netfilter-persistent save

UFW alatt az ilyen szabályok ezen felül a /etc/ufw/before.rules fájlba valók, mert különben a következő ufw reload parancsnál eltűnnek. Hogy egy szabályhoz egyáltalán eljut-e a forgalom, azt az iptables -L INPUT -n -v mutatja meg: ha a találatszámlálók nullán maradnak, a szabály nem fog.

6. Szerverjelszó, tiltólista és a 32 férőhely a slotkimerítés ellen

A slotkimerítés, vagyis az összes férőhely lefoglalása, a legolcsóbb támadás egy Palworld-szerver ellen, és nem igényel sávszélességet. Egy dedikált szervernek legfeljebb 32 férőhelye van, tehát 32 egyidejű kapcsolat elég az egész közösség kizárásához. Egy volumetrikus támadás pénzébe kerül a megrendelőnek, 32 munkamenet semmibe. Ez teszi ezt az utat kis szervereknél vonzóbbá minden áradatnál.

A Palworldnek nincs beépített engedélylistája. A moderációs eszközök a kirúgás, a kitiltás és a szerverjelszó, és pontosan a szerverjelszó a leghatásosabb egyedi intézkedés a slotkimerítés ellen:

ServerPassword="egy érték, amelyet csak az ön csapata ismer"
ServerPlayerMaxNum=32
bShowPlayerList=True
BanListURL="https://api.palworldgame.com/api/banlist.txt"

A ServerPassword gyárilag üres, vagyis IP-címmel és porttal bárki bejut. A BanListURL alapértelmezés szerint a Pocketpair által karbantartott listára mutat, és átirányítható saját szövegfájlra, ha projektspecifikus tiltásokat szeretne vezetni. A ServerPlayerMaxNum értékét ne állítsa 32 fölé: a magasabb értékek nem támogatottak, és legkésőbb a következő frissítésnél visszaütnek. És egy dolognak világosnak kell lennie: a szerverjelszó a férőhelyeit védi, nem a vonalát. Az a támadó, aki elárasztja a szerverét, nem is akar csatlakozni.

7. A kapcsolatkövetés tehermentesítése és a pufferek növelése

Ez a pont olyan kieséseket magyaráz meg, amelyek volumetrikus támadásnak látszanak, de nem azok. A kernel az UDP-forgalomhoz bejegyzéseket hoz létre a kapcsolatkövetésben (conntrack), és hamisított feladói címeknél minden cím új bejegyzést jelent. Ha a tábla megtelik, a kernel válogatás nélkül eldobja a csomagokat, a támadás és a játékosai együtt repülnek ki, a naplóban pedig ez áll: „nf_conntrack: table full". Az állást és a felső korlátot ez mutatja meg:

sysctl net.netfilter.nf_conntrack_count net.netfilter.nf_conntrack_max

A leghatásosabb lépés az, ha a játékforgalmat egyáltalán nem követteti, hiszen a Palworld maga kezeli a munkameneteit:

table inet raw {
    chain prerouting {
        type filter hook prerouting priority raw; policy accept;
        udp dport { 8211, 27015 } notrack
    }
    chain output {
        type filter hook output priority raw; policy accept;
        udp sport { 8211, 27015 } notrack
    }
}

Az iptables megfelelője az iptables -t raw -A PREROUTING -p udp --dport 8211 -j NOTRACK, valamint ugyanez a sor az OUTPUT lánchoz a --sport kapcsolóval. A portoknak ezután kifejezett engedélyezés kell, mert követés nélkül egyetlen olyan szabály sem fog, amely meglévő állapotot vizsgál. Ha a csomagok gyorsabban érkeznek, mint ahogy a szerverfolyamat elveszi őket, ezen felül a fogadópuffer is túlcsordul. A játékosok számára ez csomagvesztésnek látszik, pedig a vonal szabad. Egy /etc/sysctl.d/ alá helyezett kiegészítés, sysctl -p paranccsal aktiválva:

net.core.rmem_max = 16777216
net.core.rmem_default = 1048576
net.core.netdev_max_backlog = 16384

Hogy szükség van-e ezekre az értékekre, azt maga a kernel árulja el: ha az nstat -az kimenetében nő az UdpRcvbufErrors, akkor fognak. Ha a számláló nullán marad, a módosítás nem változtat semmin.

8. Mérési adatok gyűjtése, mielőtt komolyra fordul

A legfontosabb lépés az, amit előre szinte senki nem tesz meg: összehasonlítási alapot felvenni, amíg minden normálisan működik. Normálérték nélkül egy eset után nem tudja megmondani, hogy a másodpercenkénti 40 000 csomag sok volt-e, vagy csak szombat este. Az apt-get install -y vnstat sysstat paranccsal a mérés tartósan fut. Egy eset alatt négy parancs elegendő:

sar -n DEV 1 10
ip -s link show eth0
dmesg -T | tail -50
tcpdump -ni eth0 -c 200 "udp port 8211 or udp port 27015"

A tcpdump esetében érvényes: mindig korlátozza a -c kapcsolóval, mert a teljes terhelés alatti rögzítés egy amúgy is túlterhelt szervert tovább terhel. A Palworld ezen felül olyan mérőszámot ad, amilyen egyetlen más eszközben sincs. Ha a REST API aktív, a metrikavégpont többek között a szerver képkockasebességét, az aktuális játékosszámot és a futásidőt adja vissza:

curl -s -u admin:AZ_ADMIN_JELSZAVA http://127.0.0.1:8212/v1/api/metrics

Ez az egyetlen szám tisztán elválasztja egymástól a két leggyakoribb okot. Ha a szerver képkockasebessége beszakad, miközben a csomagráták feltűnésmentesek maradnak, akkor nem támadásról van szó, hanem terhelésről vagy a szerverfolyamat ismert memórianövekedéséről. Ha a képkockasebesség stabil marad, miközben a bejövő csomagok messze a normálérték fölé emelkednek, akkor támadás zajlik. Hogy a hálózati értékeket részleteiben hogyan értékelje ki, arról a DDoS-támadás felismerése a szerveren című cikk szól.

Ahol ezek az intézkedések véget érnek: sávszélesség és csomagráta

Most az a rész következik, amelyet egyetlen konfigurációs fájl sem old meg. Az eddigi intézkedések mind az ön szerverén futnak, tehát a vonal végén. Egy tűzfalszabály olyan csomagról dönt, amely már végigment a kábelen. Eldobhatja, de meg nem történtté nem teheti.

Számoljunk egyszer. Egy jellemző játékszerver 1 Gbit/s sávszélességű vonalon lóg, ez másodpercenként 125 megabájtnak felel meg, és a vonal megtelik, amint valaki többet küld. A játékszerver-projektek elleni támadások szokásosan 5 és 50 Gbit/s között mozognak, tehát a vonala ötszöröse és ötvenszerese között. Hogy az iptables-szabálya mögötte jó-e, akkor már nem számít, mert a játékosai csomagjai már korábban nem jutnak át.

A második mennyiség a csomagráta, és ez gyakran hamarabb üt be, mint a sávszélesség. 64 bájtos kis csomagoknál egy 1 Gbit/s sávszélességű vonalba körülbelül 1,49 millió csomag fér másodpercenként. Egy normál szerverkernel a processzortól és a hálózati kártyától függően ennek néhány százezres részét dolgozza fel, mielőtt eldobásba kezdene. Az a támadás tehát, amely a vonalát még harmadáig sem tölti meg, mégis megbéníthatja a szerverét, mert a számítási idő az eldobásra megy el. Az üzemeltetők ezt így élik meg: „a kihasználtság nem is volt magas, mégis minden elszállt", a Palworldnél pedig először lagcsúcsok formájában jelentkezik, és csak utána kapcsolatbontásként.

Egy Palworld-szervernél ehhez kedvezőtlen arány társul. Egy 32 játékossal teljesen feltöltött szerver egy 1 Gbit/s sávszélességű vonalnak csak a töredékét terheli. A támadásnak tehát nem kell nagynak lennie ahhoz, hogy a normál üzem többszörösét elérje, és pontosan ezért itt már olyan támadások is elegendőek, amelyek egy nagy platformon fel sem tűnnének.

Hogy milyen nagyságrendek fordulnak elő a valóságban: KernelHost-szervereken többek között egy 473,4 Gbit/s fölötti, másodpercenként több mint 41,5 millió csomagos támadást szűrtek ki egy hangszerver ellen, valamint egy 112,2 Gbit/s fölötti UDP-floodot egy játékszerver ellen. Erre nincs helyi beállítás. A volumetrikus támadásoknak a szerver előtti hálózatban kell véget érniük.

Amit a KernelHost állít ezzel szembe

A folyamatos védelem, amely minden szervercsomagban benne van

A KernelHostnál minden szerver árában benne van egy 3,2 Tbps kapacitású DDoS-alapvédelem. Tartósan aktív, anélkül, hogy bármit be kellene kapcsolnia, meg kellene rendelnie vagy konfigurálnia, és az Advanced DDoS Protection szolgáltatással bővíthető:

  • Az árban benne van: Arbor valós idejű szűrés 3,2 Tbps kapacitással Frankfurt am Mainban. Az elterjedt floodokat, például az UDP-, SYN- és ICMP-floodokat, valamint a reflexiós és erősítéses támadásokat közvetlenül a szerver előtt ismeri fel és dobja el, csomagról csomagra.
  • Az Advanced DDoS Protection szolgáltatással: akár 17 Tbps mitigációs kapacitás a globális scrubbing-hálózatban. A nagyon nagy támadásokat a forrásuk közelében tisztítja meg, mielőtt elérnék az adatközpontot, a specializált profilok pedig kiszűrik az egyes játékok elleni célzott támadásokat.

Két tulajdonság döntő. A védelem folyamatosan fut, és nem kell előbb reagálnia egy támadásra, tehát nincsenek kezdeti percek, amelyek alatt a szerver eltűnik. És nem alkalmaznak nullroutingot: az IP-címe a hálózatban marad, csak a káros csomagokat dobják el. Aki kiveszi az IP-címet a hálózatból, az ön számára ugyanazt az eredményt éri el, mint a támadó. A Palworld azon játékok közé tartozik, amelyekhez az Advanced DDoS Protection saját védelmi profilt kínál; hogy mely további játékokat és protokollokat fed le saját profilokkal, azt a Valós idejű DDoS-védelem játékszervereknek című cikk sorolja fel.

Advanced DDoS Protection a tartósan lőtt Palworld-projektekhez

Egyes projekteket nem alkalomszerűen, hanem célzottan és heteken át támadnak. Erre való az Advanced DDoS Protection havi 50,00 EUR-ért, PrePaid, minimális futamidő és beállítási díj nélkül. Akár 17 Tbps mitigációs kapacitást nyújt a globális scrubbing-hálózatban, és jóval nagyobb kontrollt ad:

  • Dedikált védett IP-cím a frankfurti magból, amelyre a szerverét a saját hálózaton belül átállítják. Az ön oldalán nincs szükség átalakításra.
  • Portonként és protokollonként saját kezűleg kezelhető védelmi szabályok az ügyfélterületen: külön határozza meg, mi engedélyezett a 8211 UDP-n, és mi a 27015 UDP-n, anélkül hogy ehhez jegyet kellene írnia.
  • A módosítások valós időben fognak, tehát futó támadás közben is utánaállíthat, például átmenetileg keményebben korlátozhatja a lekérdezési portot, a játékportot pedig érintetlenül hagyhatja.
  • A játékhoz illő védelmi profil, a Palworldhöz ugyanúgy, mint a tetszőleges TCP- vagy UDP-portokon futó saját alkalmazásokhoz.

Az Advanced DDoS Protection a KernelHostnál elhelyezett szerverekre vonatkozik. Aki a Palworld-projektjét jelenleg máshol üzemelteti, és tartósan támadják, ehhez átköltözteti a KernelHosthoz, és akkor az alapvédelem a kiépítéstől kezdve véd, az Advanced DDoS Protection pedig a megrendeléssel társul hozzá. Ha a költözés nem jöhet szóba, a Remote DDoS Protection ott védi a szervert, ahol éppen van.

A két lépcső összehasonlítása

Jellemző Csomagban foglalt folyamatos DDoS-védelem Advanced DDoS Protection
Ár minden szervercsomagban benne van, felár nélkül havi 50,00 EUR, PrePaid
Szűrőkapacitás 3,2 Tbps kapacitású Arbor valós idejű szűrés Frankfurt am Mainban akár 17 Tbps globális scrubbing plusz Arbor valós idejű szűrés 3,2 Tbps kapacitással Frankfurt am Mainban
IP-cím a szervere IP-címe további dedikált védett IP-cím
Szabályrendszer az elterjedt floodok automatikus szűrése, nem kell konfigurálni portonkénti és protokollonkénti saját szabályok az ügyfélterületen, a 8211 UDP a 27015 UDP-től elkülönítve
Módosítások automatikusan futnak valós időben fognak, támadás közben is
Játékprofil nincsenek játékprofilok, védelem az elterjedt floodok ellen a játékhoz illő profil, saját alkalmazásokhoz is
Nullrouting nem nem
Aktiválás a kiépítéstől aktív a védett IP-cím közvetlenül a megrendelés után
Futamidő a szervercsomaghoz kötött PrePaid, nincs minimális futamidő, nincs beállítási díj

Az elterjedt floodok ellen elegendő a csomagban foglalt alapvédelem egy tiszta szerverkonfigurációval együtt. Az Advanced DDoS Protection arra a válasz, hogy valaki személyes ügyet csinál belőle.

Gyakori hibák Palworld-szervereknél és megoldásuk

„Letiltottam a 27015-öst, és most eltűnt a szerver a közösségi listából": Ez a várt viselkedés, mert a listabejegyzést a lekérdezési port hordozza. Ne tiltsa le teljesen, hanem korlátozza a kapcsolat nélküli csomagokat forráscímenként a 4. lépésben leírt módon. Ha a listabejegyzésre amúgy sincs szüksége, hagyja a portot zárva, törölje a -publiclobby kapcsolót, és adja meg a játékosainak az IP-címet és a 8211-es portot a közvetlen csatlakozáshoz.

„Lecseréltem az IP-címet, és két órával később megint elérhetetlen voltam": A támadó ugyanabból a forrásból szerezte meg az új címet, mint a régit. A Palworldnél ez majdnem mindig három út egyike: egy játékos, akinek a cím amúgy is ott áll a közvetlen csatlakozás mezőjében, egy állapotot kijelző Discord-bot, amely újra közzéteszi, vagy egy régi A rekord a DNS-ben, amely az előző címre mutat. A címcsere időnyerés, nem megoldás.

„A szerveren lagcsúcsok vannak, de a vonal nyugodt": Ez a Palworldnél gyakrabban terhelés, mint támadás. A szerverfolyamat a futásideje alatt folyamatosan egyre több memóriát foglal, ezért a tervezett újraindítás a normál üzem része, és nem szükségmegoldásként kell értelmezni. Ellenőrizze a szerver képkockasebességét a metrikavégponton és a folyamat memóriahasználatát. Ha eközben a sar -n DEV 1 10 feltűnésmentes marad, akkor nem DDoS-támadás történt.

„Mind a 32 férőhely foglalt, de a játékban senki nem látszik": Ez slotkimerítés, és a játéklogikát éri, nem a vonalat. Állítson be ServerPassword értéket, tiltsa ki a feltűnő fiókokat a tiltólistán keresztül, és korlátozza a forráscímenkénti csomagszámot a 8211 UDP-n.

„A REST API pár napig kívülről elérhető volt": Akkor az adminisztrációs jelszava kompromittálódott, mert a HTTP Basic Auth titkosítatlan HTTP felett minden kérésnél visszafejthető formában továbbítja. Változtassa meg az AdminPassword értékét, zárja le kifelé a 8212 TCP-t, és a felületet ezután már csak SSH-porttovábbítással érje el.

„Az iptables-szabályaim nem fognak": Három ok gyakori. A szabályok az UFW láncai mögött állnak, és a forgalom soha nem jut el hozzájuk; az utolsó újraindítás után eltűntek (ilyenkor a netfilter-persistent save vagy egy bejegyzés a /etc/ufw/before.rules fájlban segít); vagy a támadás volumetrikus, és a szabály helyesen dolgozik egy vonalon, amely már tele van. Ellenőrizze az iptables -L INPUT -n -v paranccsal, hogy nőnek-e a találatszámlálók.

„Az eddigi szolgáltatóm letiltotta az IP-címemet": Ez a nullrouting. A szolgáltató ezzel a saját hálózatát védi, az ön számára az eredmény azonos egy sikeres támadással, többnyire még órákig utána is. Kétség esetén kérdezze meg, hogy szűrnek vagy nullroutingot alkalmaznak. A válasz többet dönt el az elérhetőségéről, mint bármilyen hardveradat.

„A tcpdumpban nem látok semmi feltűnőt": Ha a forgalmat már az előtte lévő hálózatban kiszűrik, a szerverre a várakozásnak megfelelően nem érkezik semmi. Működő szűrés mellett ez a normális eset. Fordítva is igaz: ha a vonal telített, adott esetben már az az SSH-munkamenet sem ér el önhöz, amellyel mérni akart. Ilyenkor használja az ügyfélterületen lévő VNC-konzolt, amely a vendégrendszer hálózatától függetlenül működik.

Röviden összefoglalva

  • Egy Palworld-szervernek pontosan egy nyitott portra van szüksége: 8211 UDP. A 27015 UDP lekérdezési port csak a közösségi szerverlistában szereplő bejegyzéshez kell.
  • A 25575 TCP-n futó RCON és a 8212 TCP-n futó REST API soha nem való a nyílt hálózatba, mert mindkettő titkosítatlanul továbbítja a hozzáférési adatait. Az RCON-t a Pocketpair ezen felül elavultnak jelölte.
  • Mivel a Palworldnél a játékforgalom és a szerverlekérdezés külön portokon fut, a 27015 UDP keményen korlátozható anélkül, hogy a 8211 UDP-n futó játékforgalom sérülne.
  • A dedikált szerver 32 férőhelyre korlátozott, ezért a slotkimerítés a legolcsóbb támadás. Ez ellen a beállított ServerPassword a leghatásosabb egyedi intézkedés, mert a Palworldnek nincs beépített engedélylistája.
  • A helyi intézkedések a vonalnál érnek véget: 1 Gbit/s másodpercenként 125 megabájt, és 64 bájtos csomagoknál körülbelül 1,49 millió csomag fér bele másodpercenként. Minden, ami efölött van, a szerver előtti hálózatban kell hogy véget érjen.
  • A KernelHostnál a 3,2 Tbps kapacitású alapvédelem minden szervercsomagban felár nélkül benne van, és a kiépítéstől aktív, nullrouting nélkül. Az Advanced DDoS Protection dedikált védett IP-címmel és portonként saját kezűleg kezelhető szabályokkal havi 50,00 EUR-ba kerül.

Ha a Palworld-szervere már a KernelHostnál fut, a szűrés aktív, anélkül hogy bármit tennie kellene. Ha ennek ellenére rendellenességet tapasztal, nyisson támogatási jegyet, hogy a szűrőszabályokat az ön IP-címére igazítsuk. Futó támadás esetén emellett a WhatsApp-os vészhelyzeti csevegésen is elér minket a +43 650 8209883 számon.

Gyakori kérdések

Éppen offline a Palworld-szerverem. Miről ismerem fel, hogy DDoS-támadás zajlik?
Az interfész csomagrátáját nézze, ne a processzorterhelést. A sar -n DEV 1 10 paranccsal látja a csomagokat és a bájtokat másodpercenként, az ip -s link show eth0 paranccsal az eldobásszámlálókat. Ha a bejövő csomagok messze a normálérték fölé emelkednek, miközben a szerverfolyamat alig dolgozik, akkor támadás zajlik. A Palworld egy második próbát is ad: ha a REST API aktív, a 8212-es porton lévő metrikavégpont visszaadja a szerver képkockasebességét. Ha a képkockasebesség beszakad, miközben a csomagráták feltűnésmentesek maradnak, akkor terhelésről van szó, és nem támadásról.
Mely portokat kell nyitva hagynom egy Palworld-szerverhez?
Pontosan egyet: 8211 UDP, amelyet a PalWorldSettings.ini fájlban a PublicPort vagy a -port indítási paraméter állít be. Ehhez opcionálisan jön a 27015 UDP a Steam-lekérdezéshez, méghozzá csak akkor, ha a szervernek szerepelnie kell a közösségi szerverlistában. A 8212 TCP REST-API-port és a 25575 TCP RCON-port nem a nyílt hálózatba való, mindkettő gyárilag ki van kapcsolva. A játékosok listabejegyzés nélkül is bármikor csatlakoznak az IP-cím és a 8211-es port megadásával.
Mi a különbség a 8211-es és a 27015-ös port között a Palworldnél?
A 8211 UDP viszi a teljes játékforgalmat, tehát a kapcsolatfelépítést és a folyamatos szinkronizációt. A 27015 UDP kizárólag Steam-formátumú (A2S) állapotkérdésekre válaszol, és ezekből jön létre a közösségi szerverlistában szereplő bejegyzés. Ez a szétválasztás előny a Source motorhoz képest, ahol mindkettő a 27015-ös porton osztozik: a Palworldnél a lekérdezési port keményen korlátozható vagy teljesen lezárható anélkül, hogy a 8211 UDP-n egyetlen csatlakozott játékost is megzavarna.
Felhasználható a Palworld-szerverem erősítőként egy harmadik fél elleni támadáshoz?
Igen, a 27015 UDP lekérdezési porton keresztül. Egy A2S_INFO-kérés néhány tucat bájtos, kapcsolat nélküli UDP-csomag, a szervernevet, a világot és a játékosszámot tartalmazó válasz ennek a többszöröse, egy UDP-csomag feladói címe pedig hamisítható. A Valve 2020. december 8-án egy előzetes ellenőrzéssel (challenge) egészítette ki az A2S_INFO-t, ami ezt enyhíti. Hatásos ellene a kapcsolat nélküli csomagok forráscímenkénti sebességkorlátozása, vagy a nyilvános listabejegyzés elhagyása.
Hány játékos fér egy Palworld-szerverre, és miért fontos ez a DDoS szempontjából?
Egy dedikált Palworld-szerver legfeljebb 32 játékost fogad, ezt a ServerPlayerMaxNum állítja be, amelynek érvényes tartománya 1 és 32 között van. A játék menüjéből házigazdaként indítva négy. Ebből a kis számból következik egy olcsó támadás: a slotkimerítés. Aki 32 egyidejű kapcsolatot épít ki, kizárja az egész közösséget anélkül, hogy egyetlen gigabit sávszélességet is megvásárolna. A Palworldnek nincs beépített engedélylistája, ezért ez ellen a beállított ServerPassword a leghatásosabb egyedi intézkedés.
Hogyan biztosítom a Palworld-szerverem RCON-ját és REST API-ját?
Úgy, hogy egyik portot sem teszi ki az internetre. A 8212 TCP-n futó REST API HTTP Basic Auth segítségével hitelesít a rögzített admin felhasználóval és az AdminPassword értékével, méghozzá titkosítatlan HTTP felett: a jelszó minden kérésnél visszafejthető formában halad át a vonalon. A 25575 TCP-n futó RCON ugyanilyen titkosítatlan, és a Pocketpair elavultnak jelölte. A felületet SSH-porttovábbítással érje el a 127.0.0.1 címen, és az AdminPassword értékét soha ne hagyja üresen.
Segít, ha most gyorsan lecserélem az IP-címet?
Csak rövid ideig. A Palworldnél a játékosok maguk írják be az IP-címet és a portot a közvetlen csatlakozás mezőjébe, a cím tehát mindenki előtt ismert, aki valaha csatlakozott. Ehhez jönnek az állapotot kijelző Discord-botok, amelyek újra közzéteszik, és a DNS-ben lévő régi A rekordok, amelyek az előző címre mutatnak. A támadó ezért többnyire perceken vagy órákon belül újra megtalálja az új címet. Egy címcsere időt nyer, a problémát viszont nem oldja meg.
Védekezhetek iptables-szel vagy UFW-vel egy DDoS-támadás ellen?
A kis támadások és a rendetlen botok ellen igen, a volumetrikus támadások ellen nem. Egy tűzfalszabály a szerveren olyan csomagokról dönt, amelyek már végigmentek a vonalán. Ha a vonal telített, a játékosai csomagjai már korábban sem jutnak át, teljesen függetlenül attól, milyen jó a szabálykészlete. A helyi szabályok ettől még értelmesek: elfogják a lekérdezési áradatokat a 27015 UDP-n, a kevés forrásból érkező csomagáradatokat a 8211 UDP-n és az adminisztrációs portokon keresztüli átvételi kísérleteket.
Mekkora támadástól nem bírja már egyedül a Palworld-szerverem?
Egy tipikus játékszerver 1 Gbit/s-en lóg, ez másodpercenként 125 megabájt. A játékszerver-projektek elleni támadások szokásosan 5 és 50 Gbit/s között mozognak. Ugyanilyen fontos a csomagráta: 1 Gbit/s-be 64 bájtos csomagoknál körülbelül 1,49 millió csomag fér másodpercenként, egy szokásos szerverkernel ebből csak néhány százezret dolgoz fel. A Palworldnél ehhez jön, hogy 32 játékos egy ilyen vonalnak csak a töredékét terheli: a támadásnak tehát egyáltalán nem kell nagynak lennie ahhoz, hogy a normál üzem többszörösét elérje.
Offline lesz a Palworld-szerverem a KernelHostnál egy támadás közben?
Nem. Nullroutingot nem alkalmaznak. Az IP-címe a hálózatban marad, csak a káros csomagokat dobják el. Az árban benne van egy alapvédelem 3,2 Tbps kapacitású Arbor valós idejű szűréssel Frankfurt am Mainban, az Advanced DDoS Protection szolgáltatással pedig akár 17 Tbps mitigációs kapacitás áll rendelkezésre a globális scrubbing-hálózatban. Folyamatosan fut, és nem kell előbb egy támadásra reagálnia, tehát nincsenek kezdeti percek, amelyek alatt a szerver eltűnik. A Palworld azon játékok közé tartozik, amelyekhez az Advanced DDoS Protection saját védelmi profilt kínál.
Extra költséggel jár a Palworld DDoS-védelme a KernelHostnál?
Nem. A 3,2 Tbps kapacitású alapvédelem minden szervercsomagban felár nélkül benne van, és a kiépítéstől aktív. Sem megrendelnie, sem bekapcsolnia, sem beállítania nem kell, és egy játékszerverre sem jön felár. A legtöbb Palworld-szerverhez ez a folyamatos védelem egy tiszta konfigurációval együtt teljesen elegendő, tehát zárt adminisztrációs portokkal, korlátozott lekérdezési porttal és beállított szerverjelszóval.
Mikor van szükségem a Palworldhöz ezenfelül az Advanced DDoS Protectionre?
Akkor, ha a szerverét nem alkalomszerűen, hanem célzottan és heteken át támadják, és a szűrést maga szeretné vezérelni. Dedikált védett IP-címet kap, a védelmi szabályokat pedig portonként és protokollonként maga kezeli az ügyfélterületen, tehát a 8211 UDP-t a 27015 UDP-től elkülönítve. A módosítások valós időben fognak, így futó támadás közben is utánaállíthat. Az ár havi 50,00 EUR, PrePaid alapon, minimális futamidő és beállítási díj nélkül. Előfeltétel egy KernelHostnál elhelyezett szerver.

Palworld Palworld DDoS-védelem Játékszerver-védelem 8211-es port 27015-es port Steam-lekérdezés Slotkimerítés Advanced DDoS Protection