Ochrana serveru DayZ před DDoS útoky

Publikováno 20 min čtení

Které porty server DayZ skutečně potřebuje, jak zabezpečit Steam Query port, BattlEye RCon, přihlašovací frontu a startovní fázi po restartu, a od jaké velikosti útoku pomůže už jen filtrace v síti před serverem.

Server DayZ, který večer uprostřed hry vyhodí všechny hráče a potom na několik minut zmizí z prohlížeče serverů, má jen zřídka problém s hardwarem. Většinou běží útok, a to přesně tehdy, kdy je online nejvíc hráčů nebo kdy se blíží plánovaný restart. Kdo chce ochránit svůj server DayZ před DDoS útoky, potřebuje proto obojí: čisté uvolnění portů na serveru a filtraci v síti před ním. Tento článek ukazuje nejprve, co si můžete bez dalších nákladů zabezpečit sami, poté, kde tato opatření technicky končí, a nakonec, co se potom musí odehrát před serverem.

Všechny údaje se vztahují k vlastnímu dedikovanému serveru DayZ se souborem serverDZ.cfg, ať už běží pod Windows Serverem, nebo pod Debianem a Ubuntu přes kompatibilní vrstvu. Produkčně použitelný nativní linuxový serverový program pro stabilní větev Bohemia Interactive nedodává, experimentální linuxový build přijímá výhradně experimentální klienty. Linuxové příkazy jsou psané pro uživatele root, jako běžný uživatel před ně předřaďte sudo.

Pokud útok právě probíhá: teď neměňte nic v souboru serverDZ.cfg a server nerestartujte. Restart DayZ nahrává mody a centrální ekonomiku znovu a stojí vás několik minut, během kterých je server zaručeně offline. Nejdřív si zajistěte naměřené hodnoty (viz oddíl „Logování“), po útoku už budou pryč.

Proč jsou servery DayZ tak často cílem DDoS útoků

DayZ spojuje několik vlastností, které ze serveru dělají pohodlný cíl. Zaprvé komunitní server zveřejňuje svou adresu sám: aby se objevil v prohlížeči serverů ve hře a v DZSA Launcheru, musí odpovídat na dotazy Steamu, a tato odpověď obsahuje IP adresu a port v otevřeném textu. Útočník tedy nemusí nic zjišťovat, musí jen přečíst seznam.

Zadruhé je denní režim serveru DayZ veřejný. Prakticky všechny projekty se každé tři až čtyři hodiny automaticky restartují, oznamují to chatovou zprávou a plán píšou na Discord. Útok, který padne přesně do tohoto časového okna, působí dvojnásobně: server tak jako tak právě není dostupný a hráči, kteří visí ve frontě, jdou jinam.

Zatřetí je sázka pro hráče vysoká. Výpadek ve špatné minutě neznamená v DayZ jen zlost, ale ztracené vybavení, přerušené raidy a základnu, která stojí ve světě bez ochrany. Právě proto jsou nejčastějšími zadavateli zabanovaní hráči, znepřátelené skupiny a konkurenční projekty. Útok přes některou z běžných služeb booter nestojí toho, kdo ho spustí, ani schopnosti, ani znatelné peníze.

Začtvrté běží veškerý provoz DayZ přes UDP. UDP nezná navázání spojení, které by se dalo vyžadovat, a adresa odesílatele se dá podvrhnout. Útočník tedy nemusí na váš server vstoupit ani ho správně oslovit, aby vytvořil zátěž. Že je tím zasažený i sám výrobce, ukázal únor 2025: online služby Bohemia Interactive pro DayZ a Arma Reforger byly více než týden pod DDoS palbou, 3. února 2025 to bylo potvrzené a 6. února 2025 to ještě stále neskončilo, a komunitní servery byly zasažené s nimi. Co je DDoS útok podrobně, vysvětluje článek Co je DDoS útok?.

Porty serveru DayZ: tabulka faktů

Server DayZ mluví výhradně přes UDP. Žádný herní port na TCP neexistuje. Jediná hodnota, která je u DayZ skutečně pevná, je 2302/UDP jako herní port, všechno ostatní je konfigurovatelné a liší se podle hostingu. Podívejte se proto do svého vlastního startovacího řádku a do svého vlastního souboru serverDZ.cfg, místo abyste se spoléhali na standardní hodnotu.

Port Protokol K čemu slouží Kde se nastavuje Do otevřené sítě
2302 UDP herní port, veškerý herní provoz včetně přenosu hlasu -port=2302 ve startovacím řádku ano
2303 až 2305 UDP blok nad herním portem, který engine zabírá spolu s ním vyplývá z -port obvykle ano
2305 nebo 27016 UDP Steam Query port: záznam v prohlížeči serverů a v DZSA Launcheru steamQueryPort v serverDZ.cfg ano, jinak je server neviditelný
volitelný, obvykle 2305 nebo 2310 UDP BattlEye RCon pro správcovské nástroje jako BEC nebo DaRT RConPort v BEServer_x64.cfg ne
22 TCP přístup SSH k operačnímu systému sshd_config jen pro vaši vlastní adresu
3389 TCP vzdálená plocha na serverech s Windows nastavení systému ne
8080 a 2022 TCP webové rozhraní a SFTP herního panelu, zde na příkladu Pterodactylu konfigurace panelu ne

Dvě hodnoty pravidelně působí zmatek, proto tady rozuzlení. Steam Query port: vzorová konfigurace dodávaná Bohemií nastavuje steamQueryPort = 2305;, zatímco velká část hostingů používá 27016/UDP. Obě hodnoty jsou platné, rozhodující je jedině hodnota ve vašem souboru. Port BattlEye RCon: tady neexistuje vůbec žádný závazný standard. Rozšířeným pravidlem je herní port plus tři, tedy 2305, jiné hostingy nastavují 2310. Od DayZ 1.13 vyhodnocuje BattlEye parametr RConPort v souboru BEServer_x64.cfg spolehlivě, předtím byl port obtížně předvídatelný.

Z toho plyne past, která zasáhne mnoho provozovatelů: nikdy nenastavujte steamQueryPort a RConPort na stejnou hodnotu. Pokud vaše konfigurace předpokládá 2305 pro dotaz Steamu, patří RCon na jiný port, například na 2310.

Proč je Steam Query port nejcitlivějším portem

Steam Query port odpovídá na tři dotazy: A2S_INFO, A2S_PLAYERS a A2S_RULES. A2S_INFO vrací jméno serveru, mapu, počet hráčů a verzi, A2S_PLAYERS jména připojených hráčů, A2S_RULES nastavené serverové proměnné. Každá z těchto odpovědí je výrazně větší než dotaz, který ji vyvolal, a právě to dělá z tohoto portu dvojnásobné riziko.

Pro vás jako cíl to znamená: útočník může váš dotazovací port zaměstnat několika bajty na jeden dotaz, zatímco váš server každou chvíli skládá a posílá úplnou odpověď. Pro třetí strany to znamená: útočník se může vašeho serveru ptát s podvrženou adresou odesílatele a odpovědi směrovat na svůj skutečný cíl. Váš server pak není jen oběť, ale zesilovač. Valve proto v prosinci 2020 doplnilo A2S_INFO o dotaz s výzvou: server odpoví nejdřív náhodným číslem, které musí tazatel poslat zpět. To zesílení zmírňuje, ale neukončuje, protože touto cestou zdaleka nejde každý dotaz.

DayZ má tady zvláštnost, kterou jiné hry nemají: dotazují se u vás dva oddělené seznamy serverů, vestavěný komunitní prohlížeč serverů a rozšířený DZSA Launcher. Prostě zavřít dotazovací port proto není možnost, protože pak váš projekt zmizí z obou seznamů, přestože přímé připojení dál funguje. Správnou odpovědí je omezovat místo zavírat.

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

Tento oddíl je nejdelší, a to záměrně. Čistě nakonfigurovaný server DayZ ustojí malé a střední útoky vlastními silami, nezávisle na tom, u koho stojí.

1. Inventura: které porty váš server DayZ skutečně otevírá

Než napíšete jediné pravidlo firewallu, podívejte se, co váš server nabízí navenek. Nehádat, podívat se. V Linuxu:

ss -lnup
ss -lntup

Na Windows Serveru poskytne stejný obrázek příkazová řádka:

netstat -ano -p UDP | findstr "2302 2303 2304 2305 27016"

Zajímavý je sloupec s lokální adresou. 0.0.0.0:2302 znamená „dosažitelné z celého internetu“, 127.0.0.1:2310 znamená „jen lokálně“ a nepotřebuje žádné povolení. Potom si přečtěte skutečné hodnoty přímo ze svých konfiguračních souborů, místo abyste se spoléhali na návod:

grep -iE "steamQueryPort|maxPlayers|password|enableWhitelist|verifySignatures" serverDZ.cfg
grep -iE "RConPort|RestrictRCon" battleye/BEServer_x64.cfg

Pohled útočníka poskytne UDP sken portů zvenčí, provedený z jiného počítače:

nmap -Pn -sU -p 2302-2310,27015-27020 VASE.IP.ADRESA.SERVERU

2. Povolit jen to, co startovací řádek a serverDZ.cfg skutečně potřebují

Pro DayZ stačí dvě povolení navenek: blok herních portů a dotazovací port. Všechno ostatní se omezí na vaši vlastní adresu nebo se vůbec nezveřejní. S UFW to vypadá takto, a to přesně v tomto pořadí, abyste se sami nevyzamkli:

ufw allow 22/tcp comment 'SSH'
ufw allow 2302:2305/udp comment 'DayZ herní port'
ufw allow 27016/udp comment 'DayZ Steam Query'
ufw allow from 203.0.113.10 to any port 2310 proto udp comment 'BattlEye RCon'
ufw default deny incoming
ufw default allow outgoing
ufw --force enable
ufw status verbose

Nahraďte 203.0.113.10 svou vlastní adresou a 27016 hodnotou, která skutečně stojí ve vašem řádku steamQueryPort. Úplný návod včetně záchranné cesty najdete v článku Jak nastavit firewall UFW, aniž byste se sami vyzamkli. Na serveru s Windows platí stejný princip: jedno příchozí pravidlo na skupinu portů, vzdálená plocha omezená na vlastní adresu, všechno ostatní zablokované.

3. Steam Query port omezit, místo abyste ho zavřeli

Horní mez podle zdrojové adresy odděluje skutečné seznamy serverů od záplavy dotazů. Prohlížeč serverů se vás ptá v sekundovém taktu, útočník v milisekundovém:

iptables -I INPUT -p udp --dport 27016 -m hashlimit --hashlimit-name dayz_query --hashlimit-mode srcip --hashlimit-above 10/sec --hashlimit-burst 20 -j DROP
iptables -I INPUT -p udp --dport 2302 -m hashlimit --hashlimit-name dayz_game --hashlimit-mode srcip --hashlimit-above 600/sec --hashlimit-burst 900 -j DROP

První pravidlo zahazuje dotazy Steamu ze stejného zdroje od trvale více než deseti za sekundu, druhé herní pakety od více než 600 za sekundu. Obě čísla jsou výchozí hodnoty, ne pravdy. Plný server se 60 hráči vytváří výrazně více paketů než prázdný, a kdo nastaví meze příliš těsně, vyhazuje vlastní hráče nebo vypadne ze seznamu serverů. Měřte nejdřív týden v normálním provozu.

Samotná pravidla iptables jsou po restartu pryč. Na Debianu a Ubuntu se ukládají takto:

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

Pod UFW patří taková pravidla do /etc/ufw/before.rules, protože jinak při příštím ufw reload zmizí. Knihovna serverů Steamu navíc zná vlastní brzdu pro pakety bez spojení: proměnná prostředí STEAM_GAMESERVER_RATE_LIMIT_200MS zahodí všechny pakety A2S jedné adresy, jakmile v okně 200 milisekund dorazí více, než je nastavená hodnota.

Třetí bod nestojí vůbec nic: pokud váš Discord bot nebo stránka vašeho projektu zobrazuje počet hráčů, neptejte se serveru od každého návštěvníka, ale výsledek si v pevných intervalech ukládejte do mezipaměti. Hodně navštěvovaná stavová stránka tím vytvoří jeden dotaz za interval místo jednoho na návštěvníka.

4. Vzít BattlEye RCon z otevřené sítě

BattlEye je anti-cheatová komponenta DayZ a zapíná se v souboru serverDZ.cfg pomocí BattlEye = 1;. Vzdálená správa naproti tomu leží ve vlastním souboru, v BEServer_x64.cfg v adresáři BattlEye vedle BEServer_x64.dll, který startovací řádek nastavuje pomocí -BEpath=:

RConPassword DlouheNahodneHeslo
RConPort 2310
RestrictRCon 0

K tomu tři pravidla. Zaprvé: port RCon je UDP, ne TCP. Pravidlo firewallu, které omylem říká proto tcp, nefiltruje nic a zároveň nechá správcovské nástroje běžet naprázdno. Zadruhé: omezte port na adresy svých administrátorů. Kdo nemá pevnou adresu, nechá port zvenčí úplně zavřený a správcovský nástroj spustí přímo na serveru, dostupný přes SSH nebo vzdálenou plochu. Zatřetí: RestrictRCon 1 omezuje příkazy spustitelné přes RCon a je správným nastavením, jakmile má přístup více než jedna osoba.

Otevřený port RCon je dvě věci naráz: pozvánka k prozkoušení hesel a další UDP port, který se dá zaplavit. Obojí odpadá, jakmile povolení platí jen pro hrst adres.

5. Přihlašovací fronta, whitelist a vyčerpání slotů

DayZ nezpracovává spojení všechna současně, ale přes frontu. Řídí ji pět hodnot v souboru serverDZ.cfg:

maxPlayers = 60;
loginQueueConcurrentPlayers = 5;
loginQueueMaxPlayers = 100;
guaranteedSlots = 10;
maxPing = 200;

loginQueueConcurrentPlayers určuje, kolik hráčů je zváno současně (výchozí hodnota 5), loginQueueMaxPlayers omezuje samotnou frontu (běžné hodnoty mezi 100 a 500). Přesně tady začíná vyčerpání slotů: útočník nepotřebuje šířku pásma, potřebuje jen dost účtů nebo pokusů o spojení, aby frontu obsadil. Skuteční hráči se pak už neprotlačí, přestože server technicky běží bezvadně. guaranteedSlots rezervuje místa pro váš tým, abyste se v přesně takové situaci ještě sami na server dostali.

Proti tomu pomáhá vestavěný whitelist. Aktivuje se pomocí enableWhitelist = 1; a pak čte soubor profiles/whitelist.txt, jedno Steam64 ID na řádek. Každé nevypsané ID je při spojení odmítnuto. Soubor se načítá při startu serveru, změny tedy potřebují restart. Doplňkové password v souboru serverDZ.cfg působí podobně, je ale slabší, protože heslo se předává dál, a Steam64 ID ne.

Jedno přitom musí být jasné: whitelist chrání vaše hráčská místa, ne vaši linku. Útočník, který váš server zaplavuje, se vůbec nechce připojit. Jeho pakety budou odmítnuty, ale stejně už dorazily, a přesně o to jde.

6. Mody, kontrola podpisů a časové okno po restartu

Mody nejsou u DayZ jen otázkou pohodlí, jsou částí útočné plochy. Čtyři nastavení v souboru serverDZ.cfg patří nastavit v každém případě:

verifySignatures = 2;
forceSameBuild = 1;
allowFilePatching = 0;
BattlEye = 1;

verifySignatures = 2 kontroluje každý soubor PBO proti příslušnému podpisu .bisign a potřebuje k tomu odpovídající soubory .bikey v adresáři keys. forceSameBuild = 1 vyžaduje přesně stejnou verzi hry jako na serveru. allowFilePatching = 0 odmítne klienty, kteří startují s upravenými soubory hry. Žádné z těchto nastavení nezastaví volumetrický útok, ale všechna tři zavírají cestu, na které manipulovaný klient vyvede váš server z rytmu.

Druhý bod je důležitější a téměř vždy se přehlíží: startovní fáze. Server DayZ nahrává při startu nejdřív svůj seznam modů ze startovacího řádku a potom centrální ekonomiku se všemi loot tabulkami. U silně upraveného serveru je to snadno několik minut, během kterých server neodpoví na jediný dotaz Steamu:

./DayZServer -config=serverDZ.cfg -port=2302 -profiles=./profiles -BEpath=./battleye -mod=@CF;@VasMod;@DalsiMod -cpuCount=4 -dologs -adminlog -netlog -freezecheck

Protože se prakticky každý projekt každé tři až čtyři hodiny restartuje a tento plán ještě k tomu oznamuje, je pro útočníka trefit toto časové okno triviální. Účinná jsou tři protiopatření a nestojí nic. Držte seznam modů tak krátký, jak je možné, každý další mod přesně toto okno prodlužuje. Položte časy restartů na netypické hodnoty místo na celou hodinu. A jednou si změřte, jak dlouho váš start skutečně trvá, místo abyste to odhadovali: s timeStampFormat = "Full"; a nastaveným logFile stojí trvání potom v logu.

7. Sledování spojení, přijímací vyrovnávací paměti a parametry jádra

Často přehlíženým úzkým hrdlem je sledování spojení v jádře. UDP sice žádná spojení nezná, jádro přesto zakládá záznam pro každou dvojici zdrojové a cílové adresy. Když se tabulka naplní, zahazuje server i legitimní pakety a v logu stojí „nf_conntrack: table full“. Stav a horní mez ukáže:

sysctl net.netfilter.nf_conntrack_count net.netfilter.nf_conntrack_max

U čistě herního serveru je čistým řešením nenechat herní provoz vůbec sledovat a navíc zvětšit přijímací vyrovnávací paměti a frontu síťové karty:

iptables -t raw -A PREROUTING -p udp --dport 2302 -j NOTRACK
iptables -t raw -A OUTPUT -p udp --sport 2302 -j NOTRACK
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.rmem_default=1048576
sysctl -w net.core.netdev_max_backlog=5000
sysctl -w net.netfilter.nf_conntrack_max=524288

Pozor: NOTRACK a stavová pravidla se navzájem vylučují. Kdo herní port ze sledování vyjme, nesmí pro tento port už používat žádné pravidlo s -m conntrack --ctstate, jinak povolení přestane fungovat. Trvale patří hodnoty sysctl do /etc/sysctl.d/, jinak jsou po příštím restartu pryč.

8. Vaše IP adresa stojí v prohlížeči serverů

Tady se vyplatí poctivost místo zbožných přání: IP adresu veřejného serveru DayZ nelze udržet v tajnosti. Zná ji každý hráč, který se jednou připojil, prohlížeč serverů ji zveřejňuje a DZSA Launcher si ji ukládá do mezipaměti. Výměna adresy vám zajistí hodiny, zřídka dny.

Účinnější jsou dva zvyky. Nezveřejňujte surovou IP adresu nikde navíc, tedy ani v připnutém příspěvku na Discordu, ani na stránce projektu. A ukliďte si své záznamy DNS: zapomenutý záznam A na předchozí adresu znehodnotí každou výměnu, a přesně na tom většina výměn ztroskotá. Kdo na starém serveru nechá ještě běžet stavovou službu, prozradí novou adresu hned s ní.

9. Logování, abyste během útoku nemuseli hádat

Nejdůležitější krok je ten, který skoro nikdo neudělá předem: založit si srovnávací základnu, dokud všechno běží normálně. Bez normální hodnoty nedokážete po incidentu říct, jestli bylo 40 000 paketů za sekundu hodně, nebo jestli to byl prostě sobotní večer. Na straně serveru k tomu zapněte vestavěné logy:

timeStampFormat = "Short";
logAverageFps = 300;
logPlayers = 300;
logFile = "server_console.log";

logAverageFps je přitom nejpoctivější hodnota, kterou DayZ poskytuje. Propadne-li snímková frekvence serveru, zatímco počet hráčů zůstává stejný, je to problém modu nebo ekonomiky. Zůstává-li snímková frekvence stabilní, zatímco hráči vypadávají, je to na síti. Na straně systému běží měření trvale s apt-get install -y vnstat sysstat a během incidentu stačí čtyři příkazy:

sar -n DEV 1 10
ip -s link show eth0
dmesg -T | tail -50
tcpdump -ni eth0 udp port 2302 -c 200 -q

U tcpdump platí: vždy omezit pomocí -c, záznam při plném zatížení dodatečně zatěžuje už tak přetížený server. Jak naměřené hodnoty vyhodnotit, stojí v článku Jak poznat DDoS útok na serveru.

Kde vlastní ochrana končí: šířka pásma a paketová rychlost

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

Ukazatel Hodnota Co to znamená pro váš server DayZ
Přípojka typického herního serveru 1 Gbit/s 125 megabajtů za sekundu, potom je linka plná
Paketová rychlost při velikosti paketu 64 bajtů zhruba 1,49 milionu paketů za sekundu v 1 Gbit/s běžné jádro serveru jich zpracuje jen několik set tisíc
Běžná velikost útoku proti projektům herních serverů 5 až 50 Gbit/s pětinásobek až padesátinásobek vaší přípojky
Špičková hodnota odfiltrovaná na serverech KernelHost více než 473,4 Gbit/s při více než 41,5 milionu paketů za sekundu v tomto řádu už nezabírá žádné lokální nastavení
Záplava UDP proti hernímu serveru odfiltrovaná u KernelHost více než 112,2 Gbit/s musí skončit v síti před serverem
Výchozí hodnota maxPlayers v serverDZ.cfg 60 svou vlastní normální hodnotu paketů za sekundu si musíte změřit, u každého projektu je jiná

Paketová rychlost udeří u DayZ často dřív než šířka pásma a má to jednoduchý důvod: herní provoz se skládá z mnoha malých UDP paketů, ne z několika velkých. Útok, který vaši linku nezaplní ani do třetiny, proto může váš server přesto 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 přesto měli všichni lag špičky a vypadávali jeden po druhém“.

Volumetrické útoky musí skončit v síti před serverem. To není tvrzení o produktu, ale fyzika.

Ochrana DayZ proti DDoS: co proti tomu staví KernelHost

Trvalá ochrana, která běží na každém serveru

Ochrana proti 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í scrubbingové síti. Volumetrické útoky se čistí blízko svého zdroje, ještě než dorazí do datacentra.
  • Stupeň 2: filtrace Arbor v reálném čase s 3,2 Tbps ve Frankfurtu nad Mohanem. Přímo před serverem se rozpoznávají a zahazují vzory specifické pro jednotlivé protokoly, paket po paketu.

Rozhodující jsou dvě vlastnosti. Ochrana běží trvale a nemusí na útok teprve reagovat, nejsou tedy žádné minuty na začátku, kdy je server pryč. A nepoužívá se nullrouting: vaše IP adresa zůstává v síti, zahazují se jen škodlivé pakety. Kdo IP adresu ze sítě stáhne, 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ů proti DDoS v reálném čase.

Advanced DDoS Protection pro trvale ostřelované projekty

Některé projekty nejsou napadány příležitostně, ale cíleně a celé týdny. Pro ně existuje Advanced DDoS Protection od 50,00 EUR měsíčně, PrePaid a bez minimální doby trvání. 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í žádná přestavba nutná.
  • Vlastnoručně spravovatelná ochranná pravidla podle portu a protokolu v zákaznické sekci: nastavíte odděleně, co je povolené na 2302/UDP, co na dotazovacím portu a co na portu RCon. Přesně toto oddělení je u DayZ tou pákou, protože herní provoz a provoz dotazů vypadají úplně jinak.
  • Změny se projeví v reálném čase, můžete tedy doladit nastavení i během probíhajícího útoku, místo abyste čekali na ticket.
  • Ochranný profil odpovídající hře, stejně tak pro silně upravené servery a vlastní aplikace na libovolných TCP nebo UDP portech.

Srovnání obou stupňů

Vlastnost Zahrnutá trvalá ochrana proti DDoS Advanced DDoS Protection
Cena obsažena v každém serverovém balíčku, bez příplatku od 50,00 EUR měsíčně, PrePaid
Filtrační kapacita 17 Tbps globální scrubbing plus filtrace Arbor v reálném čase s 3,2 Tbps ve Frankfurtu nad Mohanem stejná dvoustupňová filtrace
IP adresa IP adresa vašeho serveru navíc dedikovaná chráněná IP
Sada pravidel automatické profily, žádná konfigurace není nutná vlastní pravidla podle portu a protokolu v zákaznické sekci
Změny probíhají automaticky projeví se v reálném čase, i během útoku
Herní profil optimalizované profily pro běžné hry, DayZ včetně profil odpovídající hře, i pro silně upravené servery
Nullrouting ne ne
Doba trvání vázaná na serverový balíček PrePaid, žádná minimální doba trvání, žádná výpovědní lhůta, žádný zřizovací poplatek

Většině projektů DayZ stačí zahrnutá trvalá ochrana spolu s čistou konfigurací serveru. Advanced DDoS Protection je odpovědí na to, že si to někdo vzal osobně. Kdo svůj server DayZ provozuje momentálně jinde, nemůže si ochranu dodatečně přikoupit: je součástí sítě a platí pro servery, které stojí u KernelHost. Cestou k ní je přesun, ne doplňkový produkt.

Časté chyby a jejich řešení

„Můj server zmizel z DZSA Launcheru a z prohlížeče serverů, přes přímé připojení se ale dostanu dovnitř“: ve většině případů to není útok, ale dotazovací port. Buď stojí v steamQueryPort jiná hodnota než ve firewallu, nebo příliš těsné omezení rychlosti zahazuje dotazy seznamu serverů. Zkontrolujte obě hodnoty proti sobě, než začnete předpokládat útok.

„RCon se nepřipojí od té doby, co jsem filtroval porty“: BattlEye RCon běží přes UDP. Povolení s proto tcp na stejný port nezpůsobí nic. Zkontrolujte navíc, jestli RConPort a steamQueryPort omylem nestojí na stejné hodnotě.

„Vyměnil jsem IP adresu a za dvě hodiny jsem byl znovu offline“: útočník má novou adresu ze stejného zdroje jako starou, většinou z prohlížeče serverů, ze stavového bota na Discordu nebo ze starého záznamu DNS. Výměna adresy je zisk času, ne řešení.

„Útok přichází každý den přesně k restartu“: to není náhoda. Plán restartů stojí na Discordu a oznamuje se ve hře, a zatímco se nahrávají mody a ekonomika, server tak jako tak neodpovídá. Kratší seznam modů, netypické časy restartů a filtrace, která běží trvale místo aby na útok teprve reagovala, tomuto vzorci berou účinek.

„Všichni hráči mají lag špičky, síť je ale klidná“: pak to nebyl DDoS útok. Podívejte se nejdřív do logAverageFps, jestli propadla snímková frekvence serveru, a potom do centrální ekonomiky a do seznamu modů. Zůstává-li sar -n DEV 1 10 nenápadný, není to na síti.

„Moje pravidla iptables nezabírají“: časté jsou tři příčiny. Pravidla stojí až za řetězci UFW a nikdy se na ně nedojde, po posledním restartu byla pryč (pak pomůže netfilter-persistent save nebo záznam v /etc/ufw/before.rules), nebo je útok volumetrický a pravidlo pracuje správně na lince, která je už plná. Zkontrolujte pomocí iptables -L INPUT -n -v, jestli stoupají čítače zásahů. Zůstávají-li na nule, pravidlo se nedostane ke slovu.

„Můj dosavadní poskytovatel zablokoval moji 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 ptejte, zda se filtruje, nebo nulluje. Odpověď rozhoduje o vaší dostupnosti víc než jakýkoli údaj o hardwaru.

„V tcpdump nevidím nic nápadného“: když 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í filtraci normální stav. Naopak platí: je-li linka nasycená, nemusí se k vám dostat ani SSH relace, kterou jste chtěli měřit. Použijte pak VNC konzoli v zákaznické sekci, která funguje nezávisle na síti hostovaného systému.

Stručné shrnutí

  • Server DayZ potřebuje navenek přesně dvě věci: blok herních portů od 2302/UDP a Steam Query port z vašeho řádku steamQueryPort. Všechno ostatní patří omezit nebo zavřít.
  • Port BattlEye RCon nemá žádný závazný standard, běží přes UDP a nastavuje se v BEServer_x64.cfg pomocí RConPort. Do otevřené sítě nepatří nikdy a nikdy nesmí mít stejnou hodnotu jako dotazovací port.
  • Dotazovací port omezovat místo zavírat: kdo ho zavře, zmizí z prohlížeče serverů a z DZSA Launcheru, přestože přímé připojení dál funguje.
  • Whitelist, guaranteedSlots a přihlašovací fronta chrání vaše hráčská místa proti vyčerpání slotů, ale nechrání vaši linku proti šířce pásma.
  • Nejnebezpečnějším časovým oknem serveru DayZ je plánovaný restart každé tři až čtyři hodiny, protože mody a centrální ekonomika se nahrávají celé minuty a okamžik je veřejně známý.
  • Od objemu útoku asi 1 Gbit/s nebo několika set tisíc paketů za sekundu rozhoduje výhradně síť před serverem, a ne už váš firewall.
  • U KernelHost je dvoustupňová trvalá ochrana obsažená v každém serverovém balíčku, bez příplatku a bez nullroutingu. Advanced DDoS Protection od 50,00 EUR měsíčně přistupuje tehdy, když chcete pravidla podle portu řídit sami.

Běží-li váš projekt už u KernelHost, je filtrace aktivní, aniž byste museli cokoli dělat. Pokud přesto zaznamenáte nesrovnalosti, otevřete ticket na podporu, aby se filtrační pravidla pro vaši IP adresu doladila. Během probíhajícího útoku nás navíc zastihnete přes nouzový chat na WhatsAppu na čísle +43 650 8209883.

Časté dotazy

Můj server DayZ je právě offline. Jak poznám, jestli jde o DDoS útok?
Podívejte se na paketovou rychlost rozhraní, ne na vytížení CPU. Příkazem sar -n DEV 1 10 uvidíte pakety a bajty za sekundu, příkazem ip -s link show eth0 čítače zahozených paketů. Stoupají-li příchozí pakety daleko nad normální hodnotu, zatímco server sám téměř nepracuje, jde o útok. Zůstávají-li síťové čítače nenápadné a přesto všechno seká, podívejte se do logAverageFps: propadne-li snímková frekvence serveru při nezměněném počtu hráčů, je to kvůli modu nebo centrální ekonomice, a ne kvůli síti.
Které porty server DayZ skutečně potřebuje?
Navenek přesně dvě věci: herní port 2302/UDP včetně bloku 2303 až 2305 a Steam Query port, který stojí v souboru serverDZ.cfg pod steamQueryPort. DayZ mluví výhradně přes UDP, herní port na TCP neexistuje. Port BattlEye RCon ze souboru BEServer_x64.cfg, SSH na 22/TCP, vzdálená plocha na 3389/TCP a porty herního panelu naproti tomu do otevřené sítě nepatří, ale omezí se na adresy vašich administrátorů.
Je Steam Query port u DayZ 2305, nebo 27016?
Vyskytuje se obojí, proto se musíte podívat místo hádat. Vzorová konfigurace dodávaná Bohemia Interactive nastavuje steamQueryPort = 2305, velká část hostingů naproti tomu používá 27016/UDP. Platná je jedině hodnota, která stojí ve vašem vlastním souboru serverDZ.cfg, a přesně tento port musí být povolený ve firewallu. Je-li zablokovaný, zmizí váš server z prohlížeče serverů ve hře a z DZSA Launcheru, zatímco přímé připojení dál funguje. To se pravidelně považuje za útok a žádný to není.
Kde nastavím port BattlEye RCon a patří do otevřené sítě?
Port BattlEye RCon se nastavuje řádkem RConPort v souboru BEServer_x64.cfg v adresáři BattlEye, spolu s RConPassword a RestrictRCon. Žádná závazná standardní hodnota neexistuje: rozšířeným pravidlem je herní port plus tři, tedy 2305, jiné hostingy nastavují 2310. Od DayZ 1.13 vyhodnocuje BattlEye tento parametr spolehlivě. Port běží přes UDP, ne přes TCP, a patří jen na adresy vašich administrátorů. Dbejte na to, aby neměl stejnou hodnotu jako steamQueryPort.
Pomáhá whitelist v DayZ proti DDoS útoku?
Proti vyčerpání slotů ano, proti volumetrickým útokům ne. Whitelist se aktivuje pomocí enableWhitelist = 1 v souboru serverDZ.cfg a pak čte soubor profiles/whitelist.txt s jedním Steam64 ID na řádek, přičemž změny zaberou teprve po restartu. Spolu s guaranteedSlots zabrání tomu, aby cizí obsadili přihlašovací frontu a skuteční hráči se už neprotlačili. Útočník, který zaplavuje vaši linku, se ale vůbec nechce připojit: jeho pakety budou odmítnuty, ale už dorazily. Proti tomu pomůže jen filtrace v síti před serverem.
Proč přicházejí útoky na servery DayZ často přesně k restartu?
Protože plán restartů je veřejný a časové okno leží technicky výhodně. Prakticky každý projekt DayZ se každé tři až čtyři hodiny automaticky restartuje, oznamuje to ve hře a píše to na Discord. Při startu nahrává server nejdřív seznam modů ze startovacího řádku a potom centrální ekonomiku, a v této době neodpoví na jediný dotaz Steamu. Útok, který nastoupí přesně tehdy, prodlouží odstávku, která tak jako tak běží. Kratší seznamy modů, netypické časy restartů a trvale běžící filtrace tomuto vzorci berou účinek.
Můžu se proti DDoS útoku bránit pomocí iptables nebo UFW?
Proti malým útokům a nečistým botům ano, proti volumetrickým útokům ne. Pravidlo firewallu na serveru rozhoduje o paketech, které už proběhly po vaší lince. Je-li linka nasycená, pakety vašich hráčů se neprotlačí už dřív, a to úplně nezávisle na tom, jak dobrá je vaše sada pravidel. Smysl přesto mají omezení rychlosti podle zdrojové adresy na dotazovacím portu, NOTRACK pro herní port a větší přijímací vyrovnávací paměti. Volumetrické útoky musí skončit v síti před serverem.
Od jaké velikosti útoku to můj server DayZ sám nezvládne?
Typický herní server visí na 1 Gbit/s, což odpovídá 125 megabajtům za sekundu. Útoky proti projektům herních serverů leží obvykle mezi 5 a 50 Gbit/s. Stejně důležitá je paketová rychlost: do 1 Gbit/s se při velikosti paketu 64 bajtů vejde zhruba 1,49 milionu paketů za sekundu, běžné jádro serveru jich zpracuje jen několik set tisíc. Protože DayZ posílá mnoho malých UDP paketů, udeří paketová rychlost většinou dřív než šířka pásma: server stojí, přestože linka není zaplněná ani do třetiny.
Půjde můj server DayZ u KernelHost během útoku offline?
Ne. Nullrouting se nepoužívá. Vaše IP adresa zůstává v síti, zahazují se jen škodlivé pakety. Ochrana je dvoustupňová: 17 Tbps mitigační kapacity v globální scrubbingové síti a filtrace Arbor v reálném čase s 3,2 Tbps ve Frankfurtu nad Mohanem. Běží trvale a nemusí na útok teprve reagovat, nejsou tedy žádné minuty na začátku, kdy je server zmizelý. Pro zařazení: na serverech KernelHost už byly odfiltrované útoky s více než 473,4 Gbit/s při více než 41,5 milionu paketů za sekundu.
Stojí ochrana proti DDoS u KernelHost něco navíc a kdy potřebuji Advanced DDoS Protection?
Dvoustupňová trvalá ochrana je obsažená v každém serverovém balíčku bez příplatku a je aktivní od zřízení, nemusíte ji objednávat ani zapínat. Advanced DDoS Protection potřebujete teprve tehdy, když je váš projekt napadán cíleně a celé týdny a chcete filtraci řídit sami. Dostanete dedikovanou chráněnou IP a ochranná pravidla podle portu a protokolu si spravujete sami v zákaznické sekci, tedy odděleně pro 2302/UDP, dotazovací port a port RCon. Změny se projeví v reálném čase. Cena začíná na 50,00 EUR měsíčně, PrePaid, bez minimální doby trvání a bez zřizovacího poplatku.

DayZ Ochrana DayZ proti DDoS Ochrana herních serverů Port 2302 Steam Query port BattlEye serverDZ.cfg Advanced DDoS Protection