Ochrana serveru Conan Exiles před DDoS útoky

Publikováno 19 min čtení

Které porty server Conan Exiles skutečně potřebuje, jak zabezpečíte RCON a dotazovací port, proč jsou PvP servery napadány přesně v okně pro raidy, a od jaké velikosti útoku pomůže už jen filtrování v síti před serverem.

Server Conan Exiles, který přestane být dostupný zrovna na začátku okna pro raidy, má jen zřídka problém s hardwarem. V naprosté většině případů běží útok, a běží přesně tehdy, kdy napáchá největší škodu. Tento článek ukazuje, proč servery Conan Exiles potřebují ochranu před DDoS, co si můžete během následujících deseti minut zabezpečit sami a bez dalších nákladů, kde tato opatření technicky končí a co se potom musí odehrát v síti před serverem.

Všechny údaje se vztahují k dedikovanému serveru od Funcomu, tedy k ConanSandboxServer.exe, respektive StartServer.bat. Konfigurace leží ve třech souborech v adresáři ConanSandbox\Saved\Config\WindowsServer\: ServerSettings.ini, Engine.ini a Game.ini. Platí to i tehdy, když server provozujete pod Linuxem přes kompatibilní vrstvu, protože Funcom dodává výhradně windowsovou aplikaci, a proto se cesta i tam jmenuje WindowsServer.

Pokud útok právě probíhá: Nejdřív si zajistěte naměřené hodnoty (oddíl 9), po útoku už budou pryč. A teď neupravujte žádný soubor INI. Conan Exiles drží svou konfiguraci v operační paměti a při ukončení ji zapisuje zpět, takže každá změna na běžícím serveru se tím ztratí.

Proč servery Conan Exiles potřebují ochranu před DDoS

U většiny her je výpadek serveru mrzutost. U Conan Exiles je na PvP serveru herním tahem. Ztráty jsou trvalé, základnu lze poškodit jen uvnitř vymezeného časového okna, a kdo v tomto okně vyřadí obránce ze hry, raiduje proti nikomu. Útok tím má konkrétní zisk a předem známý okamžik, a jakmile jednou zafunguje, opakuje se.

Časové okno není žádné tajemství. Stojí v souboru ServerSettings.ini pod RestrictPVPTime pro souboje hráčů a pod RestrictPVPBuildingDamageTime pro poškození staveb, a každý provozovatel je dobrovolně píše do názvu serveru, do pravidel a na Discord, protože jinak by je hráči neznali. Útočník tedy nemusí nic vyzvídat: čas raidu si přečte tam, kde se propaguje, a svůj útok naplánuje na stejnou hodinu.

Námaha na druhé straně je přitom nepatrná. Takzvané booter nebo stresser služby prodávají záplavu proti určité IP adrese a určitému portu po minutách. Port DDoS proti 7777 UDP nepředpokládá ani přístup ke hře, ani znalost vašeho serveru, stačí adresa a číslo portu. Právě proto zasahuje malé servery stejně spolehlivě jako velké.

K tomu přistupuje zvláštnost, kterou se Conan Exiles odlišuje od většiny survival her. ServerSettings.ini zná přepínač LogoutCharactersRemainInTheWorld. Pokud je nastavený na True, zůstane herní postava po přerušení spojení stát ve světě, místo aby zmizela. Útok, který vyhodí všechny hráče najednou, tak po sobě zanechá řadu nehybných postav i s jejich vybavením. Co se při takovém útoku technicky děje, popisuje článek Co je DDoS útok?.

Technicky běží veškerý herní provoz přes UDP. UDP nezná navázání spojení, které by šlo vyžadovat, a adresy odesílatele se dají podvrhnout. Útočník tedy nemusí na váš server vstoupit ani ho správně oslovit, aby vytvořil zátěž. Nemusí ani vědět, jestli je někdo online.

Porty, o které ve skutečnosti jde

Server Conan Exiles potřebuje směrem ven přesně tři UDP porty: 7777, 7778 a 27015. Všechno ostatní je volitelné nebo do otevřené sítě vůbec nepatří. Funcom dokumentuje jejich obsazení takto:

Port Protokol K čemu Kde se nastavuje
7777 UDP herní provoz (pohyb, boj, stavění, synchronizace) Engine.ini, sekce [URL], Port=7777, parametr spuštění -Port=
7778 UDP pinger, leží pevně na herním portu plus jedna Engine.ini, sekce [URL], PeerPort=7778
27015 UDP dotaz na stav ve formátu Steamu pro seznam serverů Engine.ini, [OnlineSubsystemSteam], ServerQueryPort, parametr spuštění -QueryPort=
7777 TCP přenos modů ke klientovi, otevírá se jen v případě potřeby shodný s herním portem
25575 TCP vzdálené ovládání RCON, z výroby vypnuté Game.ini, sekce [RconPlugin], RconPort=25575, parametr spuštění -RconPort=

Tři věci se na tom dělají pravidelně špatně. Zaprvé 7778 není volitelný port, ale vždy herní port plus jedna. Kdo provozuje dvě instance na stejném stroji, musí proto skákat po dvou: 7777 a 7778 pro první, 7779 a 7780 pro druhou, k tomu 27015 a 27016 jako dotazovací porty. Kdo položí druhou instanci na 7778, vezme té první pinger.

Zadruhé, povolení TCP na 7777 je přenos modů. Funcom ho otevírá jen na žádost klienta a žádají o něj výhradně klienti z Epic Games Store. Klienti ze Steamu si mody nadále stahují přes rozhraní Workshopu. Pokud vaši hráči přicházejí výhradně přes Steam, toto povolení nepotřebujete.

Zatřetí, RCON je z výroby vypnutý. RconEnabled je standardně nastavený na 0. Kdo ten port přesto najde otevřený, zapnul si ho sám nebo převzal hotovou šablonu od nějakého poskytovatele.

Co můžete udělat sami, než utratíte peníze

Následujících devět kroků nestojí nic a působí proti tomu, co se v praxi vyskytuje nejčastěji: malé cílené záplavy z několika zdrojů, zneužité dotazovací porty, pokusy o přihlášení na RCON a přetížení jediným modem. Vyplatí se i tehdy, když před serverem už pracuje síťový filtr.

1. Inventura: co vlastně naslouchá?

Dřív než napíšete jediné pravidlo, podívejte se, co váš server nabízí směrem ven. Nehádat, podívat se. Pod Windows:

Get-NetUDPEndpoint | Where-Object LocalPort -in 7777,7778,27015
Get-NetTCPConnection -State Listen | Sort-Object LocalPort
netstat -ano -p UDP | findstr "7777 7778 27015"

Pokud server běží pod Linuxem v kompatibilní vrstvě, je protějškem:

ss -lnup
ss -lntp

Zajímavý je sloupec s lokální adresou. 0.0.0.0:7777 znamená "dostupné z celého internetu", 127.0.0.1:25575 znamená "jen lokálně" a nepotřebuje žádné pravidlo firewallu. Pohled útočníka poskytne sken portů zvenčí, a to výslovně i na UDP, protože čistý sken TCP u Conan Exiles skoro nic nenajde:

nmap -Pn -sU -p 7777,7778,27015 VASE.IP.ADRESA.SERVERU
nmap -Pn -p 7777,25575 VASE.IP.ADRESA.SERVERU

2. Otevřít jen ty tři UDP porty

Pod Windows stačí dvě pravidla ve vestavěném firewallu. První otevírá herní provoz, druhé omezuje RCON na vaši vlastní adresu, místo aby port otevřelo všem:

New-NetFirewallRule -DisplayName "Conan Exiles" -Direction Inbound -Protocol UDP -LocalPort 7777,7778,27015 -Action Allow
New-NetFirewallRule -DisplayName "Conan RCON" -Direction Inbound -Protocol TCP -LocalPort 25575 -RemoteAddress 203.0.113.10 -Action Allow
Get-NetFirewallRule -DisplayName "Conan*" | Format-Table DisplayName,Enabled,Direction,Action

Pod Linuxem vypadá totéž s UFW takto, a to přesně v tomto pořadí, abyste se sami nevyzamkli:

ufw allow 22/tcp comment 'SSH'
ufw allow 7777/udp comment 'Conan Exiles'
ufw allow 7778/udp comment 'Conan Exiles Pinger'
ufw allow 27015/udp comment 'Conan Exiles Query'
ufw allow from 203.0.113.10 to any port 25575 proto tcp comment 'RCON'
ufw default deny incoming
ufw --force enable
ufw status verbose

Nahraďte 203.0.113.10 svou vlastní adresou. Úplný návod včetně záchranné cesty najdete v článku Nastavení firewallu UFW, aniž byste se sami vyzamkli. Povolení TCP na 7777 vynechte, dokud žádný z vašich hráčů nepřichází přes Epic Games Store.

3. Zabezpečit RCON, nebo ho úplně vypnout

RCON je vzdálené ovládání s plným přístupem k vašemu serveru: vyhazování hráčů, bany, rozesílání zpráv, spouštění příkazů. Běží na TCP 25575 a konfiguruje se v souboru Game.ini:

[RconPlugin]
RconEnabled=0
RconPort=25575
RconPassword=
RconMaxKarma=60

Pokud RCON nepotřebujete, nechte RconEnabled=0 tak, jak je. Je to výchozí a zároveň nejbezpečnější nastavení. Pokud ho potřebujete, platí tři pravidla. Zaprvé: RconPassword musí být dlouhé a náhodné, protože protokol RCON přenáší heslo po lince nešifrovaně. Zadruhé: ten port nepatří do otevřeného internetu, ale omezený na vaši vlastní adresu nebo schovaný za přístup přes SSH. Zatřetí: RconMaxKarma je vestavěná ochrana proti záplavě přihlášení, výchozí hodnota je 60. Počitadlo omezuje, kolik dotazů smí jeden zdroj v krátkém sledu položit, než bude odmítnut.

Otevřený port RCON je navíc spolehlivou stopou vaší přítomnosti v síti. Kdo plošně skenuje 25575, najde herní servery, a herní server bez filtrování před sebou je lákavý cíl.

4. Dotazovací port omezit, místo aby se zavřel

Port 27015 UDP odpovídá na dotazy o stavu ve formátu Steamu. Dotaz A2S je krátký UDP požadavek, kterým si klient vyzvedne název serveru, mapu, počet hráčů a herní dobu, aniž by spouštěl hru. Přesně to potřebuje seznam serverů, vaše stavová stránka i každý bot na Discordu, který ukazuje počet hráčů.

Tento port nezavírejte. Váš server by jinak zmizel ze seznamu serverů a noví hráči by ho už nenašli. Správným řešením je horní mez na zdrojovou adresu. Pod Linuxem:

iptables -I INPUT -p udp --dport 27015 -m hashlimit --hashlimit-name conan_query --hashlimit-mode srcip --hashlimit-above 10/sec --hashlimit-burst 20 -j DROP
iptables -L INPUT -n -v | head -20

Deset dotazů za sekundu na jeden zdroj stačí skutečným hráčům i jakémukoli monitoringu, ale zahodí zdroj, který posílá tisíce požadavků za sekundu. Pravidlo si uložte pomocí apt-get install -y iptables-persistent a netfilter-persistent save, jinak bude po příštím restartu pryč. U UFW patří do /etc/ufw/before.rules.

Tady ovšem leží tvrdá hranice a týká se většiny provozovatelů Conan Exiles: firewall ve Windows nezná omezení na zdrojovou adresu. Umí port otevřít, zavřít nebo omezit na pevné adresy, ale neumí říct "nejvýše deset paketů za sekundu a odesílatele". Na serveru s Windows pro tuto úlohu prostě žádné vestavěné prostředky nejsou a omezení se musí odehrát v síti před serverem.

Druhý bod se týká zneužití v opačném směru. Reflexe znamená: útočník posílá dotazy s podvrženou adresou odesílatele na tisíce herních serverů a odpovědi se všechny sejdou u třetí strany. Protože odpověď A2S je větší než dotaz, provoz se cestou znásobí. Váš server pak není obětí, ale zbraní, a vy platíte odchozí provoz. Valve pro to zavedlo postup otázky a odpovědi: server smí na dotaz A2S nejprve odpovědět protidotazem, na který odesílatel s podvrženou adresou nedokáže odpovědět. Účinné je to jen tam, kde je to i zapnuté, a proto omezení rychlosti na 27015 patří k věci v každém případě.

5. Heslo serveru, heslo administrátora a sloty

Soubor ServerSettings.ini obsahuje tři nastavení, která přímo rozhodují o útočné ploše:

[ServerSettings]
AdminPassword=
ServerPassword=
MaxPlayers=40
IsBattlEyeEnabled=True

AdminPassword je nejkritičtější hodnota celého souboru. Není to přístup do konzole, ale heslo, kterým si běžně připojený hráč udělí přímo ve hře práva administrátora. Krátké nebo uhodnutelné heslo administrátora neznamená lag, ale ztrátu serveru. Nastavte ho dlouhé a náhodné a vyměňte ho, jakmile někdo z týmu odejde.

ServerPassword dělá z veřejného serveru soukromý. Působí proti trollům, proti jednorázovým účtům a proti každému, kdo používá regulérní cestu připojení. Proti útoku na linku nepůsobí: kdo váš server zaplavuje, vůbec se nechce připojit. Jeho pakety budou odmítnuty, ale stejně už dorazily, a přesně o to jde.

MaxPlayers omezuje počet slotů a dá se nastavit i parametrem spuštění -MaxPlayers=. Realistická horní mez je zároveň ochranným opatřením: každý připojený klient trvale vytváří pakety a server s více sloty, než stroj unese, se zhroutí už při běžném provozu.

6. Co BattlEye zvládá a co ne

Conan Exiles přináší s IsBattlEyeEnabled v souboru ServerSettings.ini kontrolu proti podvádění. Měla by být zapnutá, ale není to ochrana před DDoS, a to ze strukturálního důvodu: anti-cheat kontroluje klienty, kteří už jsou připojení. Běží ve stejném procesu jako hra a paket uvidí teprve tehdy, když ho server tak jako tak už zpracoval. Pokud je tento proces vytížený, jde kontrolní logika ke dnu s ním.

Totéž platí pro každý serverový nástroj, který si doinstalujete. Všechno, co běží na serveru, může zahodit jen to, co už tam je. Anti-cheat chrání herní pravidla, ne dostupnost.

7. Udržovat mody v pořádku

Značná část hlášených výpadků na modifikovaných serverech Conan Exiles není útok. Seznam modů leží jako modlist.txt ve stejném konfiguračním adresáři a každý mod běží ve stejném procesu jako hra. Jediný mod se smyčkou, příliš těsným tickem nebo neomezeným databázovým dotazem zastaví server stejně jako útok, jen bez nápadné paketové rychlosti.

Rozlišení je jednoduché a mělo by stát vždy na začátku. Pokud paketová rychlost síťové karty prudce stoupne, zatímco stroj skoro nepracuje, je to útok. Pokud paketová rychlost zůstane normální a přesto všechno seká, je to software. V případě pochybností vyjměte polovinu seznamu modů a restartujte, tím příčinu zúžíte na dvě kola.

Druhý, velmi praktický bod: po aktualizaci hry si mody a verze serveru často přestanou rozumět. Hráči vypadávají při připojení, na Discordu stojí "server down" a všichni hledají útok, který neexistuje. Po každé aktualizaci proto nejdřív zkontrolujte seznam modů.

8. Adresa a čas raidu

Vaši IP adresu nelze udržet v tajnosti. Stojí v záznamu v seznamu serverů, protože jinak by se nikdo nemohl připojit, a zná ji každý hráč, který se jednou připojil. Změna adresy získá čas, ale není řešením: útočník si novou adresu přečte ze stejného zdroje jako tu starou, většinou během minut až hodin.

Dva návyky přesto pomáhají. Nezveřejňujte surovou IP adresu nikde sami, tedy ani na Discordu, ani na stránce projektu, a své hráče připojujte přes název hostitele, aby změna adresy nerozbila každý odkaz. Klasikou je zapomenutý záznam A na starou adresu, který každou změnu zbaví účinku.

U času raidu platí opak skrývání: potřebujete ho veřejně, jinak váš server nefunguje. Využijte ho místo toho k diagnostice. Pokud váš server tři večery po sobě vypadne v 18:05 a vaše okno pro raidy začíná v 18:00, není to už domněnka, ale vzorec, který můžete přiložit k ticketu.

9. Měřit místo hádání

Nejdůležitější je krok, který skoro nikdo neudělá předem: založit si srovnávací základ, dokud všechno běží normálně. Bez normální hodnoty nedokážete po incidentu říct, jestli 40 000 paketů za sekundu bylo hodně, nebo jestli šlo prostě o plný páteční večer. Pod Windows na to stačí vestavěné prostředky:

Get-NetAdapterStatistics
typeperf "\Network Interface(*)\Packets Received/sec" -sc 20
typeperf "\Network Interface(*)\Bytes Received/sec" -sc 20

Pod Linuxem je protějškem:

sar -n DEV 1 10
ip -s link show eth0
tcpdump -ni eth0 udp port 7777 or udp port 27015 -c 200 -q

U tcpdump platí: vždy omezit pomocí -c, protože záznam při plném zatížení zatěžuje už tak přetížený server ještě víc. Protokol serveru Conan Exiles leží v adresáři ConanSandbox\Saved\Logs\ a s parametrem spuštění -log se navíc zapisuje do okna. Uložená hra leží jako jediný soubor v ConanSandbox\Saved\game.db: zazálohujte ji, než pod tlakem začnete cokoli přenastavovat. Jak naměřené hodnoty vyhodnotit, stojí v článku Rozpoznání DDoS útoku.

Kde tato opatření končí: propustnost a paketová rychlost

Teď část, kterou žádný soubor INI nevyřeší. Všechna dosavadní opatření běží na vašem serveru, tedy na konci linky. Pravidlo firewallu rozhoduje o paketu, který už proběhl kabelem. Můžete ho zahodit, ale nemůžete ho udělat neodeslaným.

Spočítejte si to. Typický herní server visí na 1 Gbit/s, to je 125 megabajtů za sekundu, a linka je plná, jakmile někdo pošle víc. Útoky proti survival serverům se obvykle pohybují mezi 5 a 50 Gbit/s, tedy na pěti až padesátinásobku vaší linky. Jestli je vaše pravidlo za ní dobré, pak už nehraje roli, protože pakety vašich hráčů se nedostanou dál už předtím.

Druhou veličinou je paketová rychlost a ta udeří téměř vždy dřív než propustnost. U malých paketů o velikosti 64 bajtů se do linky s 1 Gbit/s vejde zhruba 1,49 milionu paketů za sekundu. Běžný server jich podle procesoru a síťové karty zpracuje jen několik set tisíc, než začne zahazovat. Útok, který vaši linku nenaplní ani z jedné třetiny, tedy může váš server Conan Exiles i tak položit, protože výpočetní čas padne na zahazování. Provozovatelé to zažívají jako "vytížení přece vůbec nebylo vysoké, a stejně bylo všechno pryč".

U Conan Exiles to zhoršuje fakt, že celý herní svět běží v jediném procesu. Neexistuje druhá instance, která by běžela dál, zatímco první je zaneprázdněná. Jakmile tento proces přestane dostávat výpočetní čas, stojí současně boj, stavění i ukládání.

Pro zařazení do souvislostí, jaké řádové hodnoty se reálně vyskytují: na serverech KernelHost byl mimo jiné odfiltrován útok o více než 473,4 Gbit/s při více než 41,5 milionu paketů za sekundu na hlasový server a UDP flood o více než 112,2 Gbit/s na herní server. Na to neexistuje žádné lokální nastavení. Objemové útoky musí skončit v síti před serverem.

Co proti tomu staví KernelHost

Trvalá ochrana, která je na každém serveru v ceně

Ochrana před DDoS od KernelHost je postavená dvoustupňově a je trvale aktivní, aniž byste museli cokoli zapínat, objednávat nebo konfigurovat:

  • Stupeň 1: 17 Tbps mitigační kapacity v globální scrubbing síti. Objemové útoky se čistí blízko svého zdroje, dřív než dorazí do datového centra.
  • Stupeň 2: filtrování Arbor v reálném čase s 3,2 Tbps ve Frankfurtu nad Mohanem. Přímo před serverem se rozpoznávají a zahazují vzorce specifické pro jednotlivé protokoly, paket po paketu.

Rozhodující jsou dvě vlastnosti. Ochrana běží trvale a nemusí na útok teprve reagovat, nejsou tedy na začátku žádné minuty, kdy je server pryč. Přesně na tom u okna pro raidy záleží, protože trvá tak jako tak jen několik hodin. A nepoužívá se nullrouting: vaše IP adresa zůstává v síti, zahazují se pouze škodlivé pakety. Kdo IP adresu ze sítě odebere, dosáhne pro vás stejného výsledku jako útočník. Které hry a protokoly jsou pokryté, vypisuje článek Ochrana herních serverů před DDoS v reálném čase.

Advanced DDoS Protection pro trvale ostřelované servery

Některé servery nejsou napadány příležitostně, ale cíleně a týdny v kuse, zpravidla vždy ve stejnou hodinu. Pro ně existuje Advanced DDoS Protection od 50,00 EUR měsíčně, PrePaid, bez minimální doby trvání a bez zřizovacího poplatku. Rozdíl neleží ve větší kapacitě, ale v kontrole:

  • Dedikovaná chráněná IP z frankfurtského jádra, na kterou se váš server ve vlastní síti přepne. Na vaší straně není nutná žádná přestavba.
  • Vlastní správa ochranných pravidel podle portu a protokolu v zákaznické sekci: odděleně nastavíte, co je povoleno na 7777 UDP, na 7778 UDP a na 27015 UDP. Přesně toto oddělení na serveru samotném chybí, obzvlášť pod Windows.
  • Změny platí v reálném čase, můžete tedy doladit nastavení i během probíhajícího útoku, místo abyste čekali do příštího rána.
  • Ochranný profil odpovídající hře, stejně tak pro modifikované a vlastní aplikace na libovolných portech TCP nebo UDP.

Oba stupně ve srovnání

Vlastnost Zahrnutá trvalá ochrana před DDoS Advanced DDoS Protection
Cena obsažena v každém serverovém tarifu, bez příplatku od 50,00 EUR měsíčně, PrePaid
Filtrovací kapacita 17 Tbps globálního scrubbingu plus filtrování Arbor v reálném čase s 3,2 Tbps ve Frankfurtu nad Mohanem stejné dvoustupňové filtrování
IP adresa IP adresa vašeho serveru navíc dedikovaná chráněná IP
Pravidla automatické profily, konfigurace není nutná vlastní pravidla podle portu a protokolu v zákaznické sekci
Dotazovací port 27015 filtruje se automaticky s ostatním vlastní omezení rychlosti, odděleně od herního portu
Změny probíhají automaticky platí v reálném čase, i během útoku
Nullrouting ne ne
Doba trvání vázaná na serverový tarif PrePaid, žádná minimální doba trvání, žádná výpovědní lhůta, žádný zřizovací poplatek

Většině serverů Conan Exiles stačí zahrnutá trvalá ochrana spolu s čistou konfigurací. Advanced DDoS Protection je odpovědí na to, že si to někdo bere osobně. Kdo svůj server momentálně provozuje jinde a je tam pravidelně odpojován ze sítě, vyřeší to nejspolehlivěji přesunem: filtrování patří do sítě, ve které server stojí.

Časté chyby a jejich řešení

"Moje změny v ServerSettings.ini jsou po restartu zase pryč": Server při úpravě ještě běžel. Conan Exiles drží konfiguraci v operační paměti a při ukončení ji zapisuje zpět do souboru, čímž se vaše změna přepíše. Ukončit server, počkat, upravit, spustit. Upravujte navíc soubory v Saved\Config\WindowsServer\, a ne šablony vedle nich, jinak příští aktualizace hry všechno přepíše.

"Změnil jsem porty a teď server není v seznamu": Dotazovací port se nepřenastavil s nimi. Herní port a dotazovací port jsou dvě oddělené hodnoty a pinger na herním portu plus jedna musí být rovněž volný a povolený. Zkontrolujte [URL] Port a PeerPort v souboru Engine.ini proti ServerQueryPort a proti svým pravidlům firewallu.

"Vyměnil jsem IP adresu a o dvě hodiny později jsem byl zase offline": Útočník má novou adresu ze stejného zdroje jako tu starou, většinou ze záznamu v seznamu serverů, z bota na Discordu se stavovým výpisem nebo ze starého záznamu DNS. Změna adresy je získaný čas, ne řešení.

"V protokolu RCON stojí stovky neúspěšných přihlášení": To je záplava přihlášení na 25575 TCP a zasahuje herní logiku, ne linku. RconMaxKarma to přibrzdí, skutečně to ukončíte tím, že port omezíte na svou vlastní adresu nebo RCON vypnete pomocí RconEnabled=0.

"Každých pár minut se objeví lag spiky, ale server nikdy není úplně offline": To je typický obraz pulzující záplavy. Nárazy o délce několika sekund stačí k tomu, aby se začaly zahazovat pakety, ale zůstanou pod každou prahovou hodnotou, která by spustila poplach. Měřte proto po sekundách, a ne v pětiminutových průměrech, jinak vaše vyhodnocení ukáže jen nenápadný průměr, zatímco vaši hráči každých pár minut vypadávají z boje.

"Všem hráčům to seká, ale síťová počitadla jsou nenápadná": To není DDoS útok. Pokud Get-NetAdapterStatistics, respektive sar -n DEV 1 10 zůstávají v normálu, leží příčina v softwaru. Nejdřív zkontrolujte seznam modů, potom verzi serveru proti verzím modů.

"Můj dosavadní poskytovatel zablokoval mou IP adresu": To je nullrouting. Poskytovatel tím chrání vlastní síť, pro vás je výsledek totožný s úspěšným útokem, většinou ještě hodiny poté. V případě pochybností se zeptejte, jestli se filtruje, nebo nullroutuje. Odpověď rozhodne o vaší dostupnosti víc než jakýkoli údaj o hardwaru.

"V záznamu provozu nevidím nic nápadného": Pokud se provoz filtruje už v síti před serverem, na server podle očekávání nic nedorazí. To je při funkčním filtrování normální stav. Obráceně platí: pokud je linka zahlcená, nemusí se k vám dostat ani vzdálená správa, kterou jste chtěli měřit. Použijte pak konzoli VNC v zákaznické sekci, která funguje nezávisle na síti hostovaného systému.

Krátké shrnutí

  • Server Conan Exiles potřebuje směrem ven přesně tři UDP porty: 7777 pro herní provoz, 7778 pro pinger a 27015 pro dotaz na stav. TCP 7777 jen pro přenos modů ke klientům z Epicu, TCP 25575 jen při aktivním RCON.
  • Pinger leží pevně na herním portu plus jedna. Více instancí na jednom stroji se proto přiděluje po dvou.
  • RCON je s RconEnabled=0 z výroby vypnutý a měl by zůstat vypnutý, dokud ho nepotřebujete. Heslo běží po lince nešifrovaně.
  • Port 27015 se omezuje, nezavírá: zavřený znamená zmizení serveru ze seznamu serverů, neomezený znamená, že je zároveň cílem i reflektorem.
  • Firewall ve Windows umí porty otevřít, zavřít a omezit na adresy, ale neumí omezit rychlost na zdrojovou adresu. Tato úloha patří do sítě před server.
  • Při 1 Gbit/s je linka plná na 125 megabajtech za sekundu, u paketů o velikosti 64 bajtů to odpovídá zhruba 1,49 milionu paketů za sekundu. Nad tím už žádné lokální pravidlo nepomůže.
  • U KernelHost filtruje trvale 17 Tbps mitigační kapacity v globální scrubbing síti a filtrování Arbor v reálném čase s 3,2 Tbps ve Frankfurtu nad Mohanem, bez příplatku a bez nullroutingu.

Pokud váš server běží už u KernelHost, je filtrování aktivní, aniž byste museli cokoli dělat. Pokud přesto zaznamenáte něco nápadného, otevřete ticket podpory s datem, časem a svými naměřenými hodnotami, aby se filtrovací pravidla pro vaši IP adresu doladila. Při probíhajícím útoku nás navíc zastihnete na nouzovém chatu WhatsApp na čísle +43 650 8209883.

Časté dotazy

Můj server Conan Exiles je offline uprostřed okna pro raidy. Co zkontroluji nejdřív?
Paketovou rychlost síťové karty, ne vytížení procesoru a ne protokol hry. Pod Windows ukáže Get-NetAdapterStatistics přijaté pakety, pod Linuxem sar -n DEV 1 10 pakety za sekundu. Pokud příchozí pakety stoupnou výrazně nad vaši normální hodnotu, zatímco stroj skoro nepracuje, je to útok. Pokud počitadla zůstanou nenápadná a přesto všechno seká, leží příčina téměř vždy v modifikaci, protože každý mod běží ve stejném procesu jako hra.
Které porty server Conan Exiles skutečně potřebuje?
Přesně tři UDP porty: 7777 pro herní provoz, 7778 pro pinger a 27015 pro dotaz na stav v seznamu serverů. K tomu přicházejí dva volitelné TCP porty. 7777 TCP se otevírá jen v případě potřeby pro přenos modů ke klientům z Epic Games Store, klienti ze Steamu si mody stahují přes rozhraní Workshopu. 25575 TCP je RCON a z výroby je vypnutý. Herní port stojí v souboru Engine.ini v sekci [URL], dotazovací port pod [OnlineSubsystemSteam] a port RCON v souboru Game.ini pod [RconPlugin].
K čemu je u Conan Exiles port 7778?
Port 7778 UDP je pinger a leží pevně na herním portu plus jedna. Nedá se volit libovolně: kdo v souboru Engine.ini změní hodnotu Port, posune tím i PeerPort. Praktický důsledek se týká každého, kdo provozuje na jednom stroji více instancí. Porty se musí přidělovat po dvou, tedy 7777 a 7778 pro první instanci a 7779 a 7780 pro druhou. Kdo položí druhou instanci na 7778, vezme té první pinger.
Můžu dotazovací port 27015 prostě zavřít?
Ne. Váš server pak zmizí ze seznamu serverů, protože právě přes tento port se zjišťuje název serveru, mapa a počet hráčů. Správná je horní mez na zdrojovou adresu místo blokace, pod Linuxem například deset dotazů za sekundu s malým nárazníkem přes iptables a hashlimit. To stačí skutečným hráčům i jakémukoli monitoringu, ale zahodí zdroj, který posílá tisíce požadavků za sekundu. Firewall ve Windows neumí omezit rychlost na zdrojovou adresu, tam se to musí odehrát v síti před serverem.
Jak zabezpečím RCON na portu 25575?
Nejbezpečněji tím, že ho necháte vypnutý: RconEnabled je v souboru Game.ini z výroby nastavený na 0. Pokud RCON potřebujete, nastavte dlouhé a náhodné RconPassword, protože protokol přenáší heslo po lince nešifrovaně. Omezte port 25575 TCP na svou vlastní adresu, místo abyste ho otevřeli všem. RconMaxKarma s výchozí hodnotou 60 přibrzdí záplavu přihlášení, toto omezení ale nenahradí. Otevřený port RCON navíc každému, kdo plošně skenuje herní servery, prozradí, že tu jeden stojí.
Proč jsou PvP servery Conan Exiles napadány zvlášť často?
Protože útok tam má konkrétní zisk a nejvhodnější okamžik je veřejně známý. Na PvP serveru lze základnu poškodit jen uvnitř okna pro raidy, které se nastavuje pomocí RestrictPVPTime a RestrictPVPBuildingDamageTime v souboru ServerSettings.ini a poté se propaguje v názvu serveru, v pravidlech a na Discordu. Kdo v tomto okně vyřadí obránce ze hry, raiduje proti nikomu. Pokud je navíc LogoutCharactersRemainInTheWorld nastavený na True, zůstanou vyhozené postavy i s vybavením stát ve světě.
Pomůže firewall na serveru proti DDoS útoku?
Proti malým útokům a nečistým botům ano, proti objemovým útokům ne. Pravidlo firewallu rozhoduje o paketech, které už proběhly po vaší lince. Pokud je linka plná, pakety vašich hráčů se nedostanou dál už předtím, a to úplně nezávisle na tom, jak dobrá je vaše sada pravidel. U Conan Exiles k tomu přistupuje, že většina serverů běží pod Windows a firewall ve Windows nezná omezení na zdrojovou adresu. Objemové útoky musí skončit v síti před serverem.
Od jaké velikosti to můj server Conan Exiles nezvládne sám?
Typický herní server visí na 1 Gbit/s, což odpovídá 125 megabajtům za sekundu. Útoky proti survival serverům se obvykle pohybují mezi 5 a 50 Gbit/s. Stejně důležitá je paketová rychlost: do 1 Gbit/s se při paketech o velikosti 64 bajtů vejde zhruba 1,49 milionu paketů za sekundu, běžný server jich zpracuje jen několik set tisíc. Útok vás tedy může položit, i když propustnost není vyčerpaná. Protože celý herní svět běží v jediném procesu, stojí pak současně boj, stavění i ukládání.
Půjde můj server Conan Exiles u KernelHost během útoku offline?
Ne. Nullrouting se nepoužívá. Vaše IP adresa zůstává v síti, zahazují se pouze škodlivé pakety. Ochrana je dvoustupňová: 17 Tbps mitigační kapacity v globální scrubbing síti a filtrování Arbor v reálném čase s 3,2 Tbps ve Frankfurtu nad Mohanem. Běží trvale a nemusí na útok teprve reagovat, nejsou tedy na začátku žádné minuty, kdy je server pryč. Přesně na tom u okna pro raidy záleží, protože trvá tak jako tak jen několik hodin.
Účtuje se ochrana před DDoS u KernelHost zvlášť?
Ne. Dvoustupňová trvalá ochrana je obsažena v každém serverovém tarifu bez příplatku a je aktivní od zřízení serveru. Nemusíte ji objednávat, zapínat ani konfigurovat. Platí pro všechny porty a protokoly vašeho serveru, tedy pro herní port 7777 UDP stejně jako pro pinger na 7778 UDP a pro dotazovací port 27015 UDP.
Kdy potřebuji navíc Advanced DDoS Protection?
Když váš server není napadán příležitostně, ale cíleně a týdny v kuse, zpravidla vždy ve stejnou hodinu, a chcete filtrování řídit sami. Dostanete dedikovanou chráněnou IP a ochranná pravidla podle portu a protokolu spravujete sami v zákaznické sekci, tedy odděleně pro 7777 UDP, 7778 UDP a 27015 UDP. Změny platí v reálném čase, můžete tedy doladit nastavení i během probíhajícího útoku. Cena začíná na 50,00 EUR měsíčně, PrePaid, bez minimální doby trvání a bez zřizovacího poplatku.

Conan Exiles Ochrana Conan Exiles proti DDoS Ochrana herního serveru Port 7777 Port 27015 RCON Advanced DDoS Protection Filtrování v reálném čase