Ochrana serveru Mordhau proti DDoS útokům
Které čtyři UDP porty server Mordhau skutečně potřebuje, jak zabezpečíte query port 27015, beacon port 15000 a RCON, a od jaké velikosti útoku pomůže už jen filtrace v síti před serverem.
Server Mordhau, který uprostřed kola Frontline naráz ztratí všechny hráče, pak je několik minut offline a nezobrazuje se v seznamu serverů, má jen zřídka problém s hardwarem. V převážné většině případů běží útok na jeden ze čtyř UDP portů, které musí dedikovaný server Mordhau držet otevřené navenek. Tento článek nejprve ukazuje, co si v rámci ochrany serveru Mordhau proti DDoS zvládnete bez dalších nákladů zařídit sami, poté, kde tato opatření fyzikálně končí, a nakonec, co se musí odehrát v síti před serverem.
Všechny údaje se vztahují k oficiálnímu dedikovanému serveru Mordhau (Steam App ID 629800, Unreal Engine 4) na Debianu 12, Debianu 13, Ubuntu 22.04 LTS nebo Ubuntu 24.04 LTS. 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á, neměňte teď nic v konfiguraci a server nerestartujte, nejdřív si zajistěte naměřené hodnoty (oddíl 9), protože po útoku už budou pryč. U Mordhau k tomu přistupuje druhý důvod, který se mnoho provozovatelů učí bolestivě: serverový proces při ukončení zapisuje svůj stav z operační paměti zpět do souboru Game.ini. Kdo soubor upravuje za běhu serveru, přijde o své změny při příštím zastavení.
Proč servery Mordhau potřebují ochranu proti DDoS a kdo je napadá
Servery Mordhau jsou napadány, protože jejich adresa je veřejná, celý herní provoz jde přes UDP a výpadek je okamžitě vidět všem. Záznam v prohlížeči serverů obsahuje IP adresu a herní port v otevřeném textu, protože jinak by hráči server nenašli. Veřejné seznamy serverů a trackery si tytéž údaje odebírají přes query port Steamu a zveřejňují je podruhé. Vaše adresa tedy není tajemství, ale údaj o produktu.
K tomu přistupuje technika hry. Unreal Engine 4 přenáší pohyby, zásahy a krytí přes UDP. UDP nezná navázání spojení, které by se dalo vyžadovat, a adresu odesílatele UDP paketu lze podvrhnout. Útočník tedy nemusí na váš server vstoupit ani ho správně oslovit, aby vytvořil zátěž. U Mordhau to váží víc než u mnoha jiných her: výměna úderů se rozhoduje v rozsahu několika desetin sekundy a už 200 milisekund dodatečného zpoždění dělá boj na blízko nehratelným, dávno předtím, než server skutečně vypadne. Právě proto stačí malý útok ke zničení celého kola. Co je DDoS útok podrobně, vysvětluje článek Co je DDoS útok?.
Typické spouštěče jsou nenápadné: konkurence mezi komunitami, zabanovaní hráči, prohrané duely, hádky na Discordu. Útok nestojí zadavatele ani schopnosti, ani znatelné peníze, protože práci odvedou pronajaté booter služby. Provozovatelé pravidelně hlásí, že útoky začínají přesně ve chvíli, kdy je server plný, a přestávají, jakmile se vyprázdní. To není náhoda, ale známka toho, že někdo sleduje váš záznam v prohlížeči serverů a používá počet hráčů jako spouštěč.
Porty, o které u Mordhau ve skutečnosti jde
Dedikovaný server Mordhau potřebuje navenek přesně čtyři UDP porty: 7777, 7778, 15000 a 27015. Všechno ostatní je buď volitelné, nebo do otevřené sítě nepatří. Porty se předávají při startu jako parametry:
./MordhauServer.sh FFA_ThePit -log -Port=7777 -QueryPort=27015 -BeaconPort=15000 -RconPort=27020
| Port | Protokol | K čemu slouží | Nastavuje se přes |
|---|---|---|---|
| 7777 | UDP | herní port: celý herní provoz síťové vrstvy Unreal Engine 4 | -Port= |
| 7778 | UDP | port Steamu, vyplývá z herního portu plus jedna | odvozený |
| 15000 | UDP | beacon port: rezervuje slot, dokud hráč načítá mapu | -BeaconPort= |
| 27015 | UDP | query port Steamu (A2S): dodává prohlížeči serverů jméno, mapu a počet hráčů | -QueryPort= |
| volitelný | TCP | RCON podle protokolu Source RCON, ve výchozím stavu vypnutý | RconPort= v Game.ini nebo -RconPort= |
| 22 | TCP | přístup SSH k operačnímu systému, ke hře nepatří | systémová služba |
Dvě věci se přitom pravidelně chápou špatně. Zaprvé: beacon port 15000 není žádný doplněk. Beacon rezervuje slot v okamžiku, kdy se hráč připojuje, aby po načtení mapy zase nevypadl. Je-li 15000 zablokovaný nebo přetížený, hráči se už nedostanou dovnitř, přesto že port 7777 odpovídá. Zadruhé: RCON u Mordhau není předkonfigurovaný. Aktivuje se teprve tím, že nastavíte RconPassword a RconPort, a běží pak přes TCP, ne přes UDP.
Nejdůležitější ukazatele serveru Mordhau na jednom místě:
| Ukazatel | Hodnota |
|---|---|
| Steam App ID dedikovaného serveru | 629800 (herní klient: 629760) |
| Konfigurační adresář pod Linuxem | Mordhau/Saved/Config/LinuxServer/ |
| Konfigurační adresář pod Windows | Mordhau\Saved\Config\WindowsServer\ |
| Konfigurační soubory | Game.ini (hra a sezení), Engine.ini (síť a tickrate) |
| Výchozí tickrate | 60, přes NetServerMaxTickRate lze zvýšit na 120 |
| Běžný počet slotů | až 64 přes MaxSlots, kooperativní režimy výrazně méně |
| Pakety na hráče a směr při tickrate 60 | řádově 60 paketů za sekundu |
| Herní provoz plného serveru s 64 sloty | řádově 4 000 paketů za sekundu v každém směru |
| Paketová rychlost, která se vejde do 1 Gbit/s (pakety 64 bajtů) | zhruba 1,49 milionu paketů za sekundu |
| Velikost dotazu A2S_INFO | 25 bajtů, odpověď je jeho násobkem |
Vzory útoků, které se u Mordhau vyskytují
Čtyři vzory pokrývají prakticky všechno, co se proti serveru Mordhau vede, a každý zasahuje jiný port.
- UDP flood na herní port 7777. To je standardní útok booteru: co nejvíc podvržených paketů na port, který stojí v prohlížeči serverů. Míří na šířku pásma a paketovou rychlost, ne na zranitelnost, a projevuje se nejprve jako lag spiky, dávno předtím, než někdo ztratí spojení.
- Záplava dotazů na query port 27015. Dotaz A2S_INFO má 25 bajtů, odpověď se jménem serveru, mapou, herním režimem a počtem hráčů je jeho násobkem. Útočník tedy investuje málo a u vás si vynutí výpočetní práci a odchozí provoz.
- Reflexe přes váš vlastní query port. Zde není váš server cílem, ale nástrojem: útočník posílá dotazy s podvrženou adresou odesílatele a váš server odpovídá oběti. Všimnete si toho jako nevysvětlitelně vysokého odchozího provozu na 27015 a jako hlášení o zneužití od svého poskytovatele.
- Vyčerpání připojení a slotů přes beacon port 15000. Místo pálení šířky pásma zaberou automatizovaná připojení rezervované sloty. Server běží dál, je ale plný, a skuteční hráči se už nedostanou dovnitř.
K tomu přistupuje pátý vzor, jakmile RCON stojí otevřený v síti: pokusy o přihlášení v sekundovém taktu proti RCON portu. To je zřídka volumetrické, stojí to ale výpočetní čas, a je to jediný z pěti případů, kdy vám zásah vezme server úplně z rukou.
Co můžete udělat sami, než utratíte peníze
Tento oddíl je nejdelší, a to záměrně. Čistě nakonfigurovaný server Mordhau ustojí malé a střední útoky vlastními silami, nezávisle na tom, u koho stojí.
1. Inventura: co na serveru vlastně naslouchá?
Než napíšete jediné pravidlo firewallu, podívejte se, co váš server nabízí navenek. Nehádat, podívat se:
ss -lntup
Zajímavý je sloupec s lokální adresou. 0.0.0.0:7777 a [::]:7777 znamenají „dosažitelné z celého internetu“, 127.0.0.1:27020 znamená „jen lokálně“ a nepotřebuje žádné pravidlo firewallu. Vedle hry se tam často objeví ještě webový panel, databázová služba a dávno zapomenutá hlasová služba. Pohled útočníka poskytne sken zvenčí, u UDP s krátkým seznamem portů, protože úplný UDP sken je velmi pomalý:
nmap -Pn -sU -p 7777,7778,15000,27015 VASE.IP.ADRESA.SERVERU
nmap -Pn -p- --min-rate 1000 VASE.IP.ADRESA.SERVERU
2. Nechat otevřené jen ty čtyři porty, které Mordhau skutečně potřebuje
Pro Mordhau stačí čtyři UDP uvolnění navenek, všechno ostatní se omezí nebo 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 7777/udp comment 'Mordhau hra'
ufw allow 7778/udp comment 'Mordhau Steam'
ufw allow 15000/udp comment 'Mordhau Beacon'
ufw allow 27015/udp comment 'Mordhau Query'
ufw allow from 203.0.113.10 to any port 27020 proto tcp comment 'Mordhau RCON'
ufw default deny incoming
ufw default allow outgoing
ufw --force enable
ufw status verbose
Nahraďte 203.0.113.10 svou vlastní adresou. Důležité je, co tady nestojí: žádné uvolnění pro webový panel, žádné pro databázi, žádné pro souborový server. Každý další otevřený port je další cíl, který se hrou nemá nic společného. Úplný návod včetně záchranné cesty najdete v článku Jak nastavit firewall UFW, aniž byste se sami vyzamkli.
3. Omezit query port 27015, aniž byste vypadli ze seznamu serverů
Query port smíte omezit, ale nesmíte ho zavřít. Když se 27015 UDP uzavře, zmizí váš server z prohlížeče serverů, protože počet hráčů, jméno mapy a jméno serveru se dotazují právě přes tento port. Horní mez podle zdrojové adresy problém vyřeší, aniž by to stálo viditelnost:
iptables -I INPUT -p udp --dport 27015 -m hashlimit --hashlimit-name mh_query --hashlimit-mode srcip --hashlimit-above 10/sec --hashlimit-burst 20 -j DROP
Běžný prohlížeč serverů se váš server dotazuje několikrát za minutu, ne několikrát za sekundu. Deset dotazů za sekundu na zdrojovou adresu je tedy velkorysé pro každého hráče a těsné pro každého bota. Poté zkontrolujte na čítači zásahů, jestli pravidlo vůbec zabírá:
iptables -L INPUT -n -v | head -20
tcpdump -ni eth0 udp port 27015 -c 200 -q
Tady leží i odpověď na otázku reflexe. Při reflexi není váš server napadán, ale zneužit jako zesilovač: dotazy přicházejí s podvrženou adresou odesílatele a vaše odpovědi zasáhnou cizí oběť. Omezení rychlosti podle zdrojové adresy je proti tomu nejúčinnějším lokálním opatřením, protože podvržená adresa odesílatele je užitečná jen tak dlouho, dokud váš server ochotně a neomezeně odpovídá.
4. Vzít RCON z otevřené sítě
RCON u Mordhau v žádném případě nepatří neomezeně do internetu. Přístup se zapíná v souboru Game.ini, v oddílu [/Script/Mordhau.MordhauGameSession]:
[/Script/Mordhau.MordhauGameSession]
ServerName=Muj Mordhau server
MaxSlots=64
ServerPassword=
AdminPassword=DlouheNahodneHeslo
RconPassword=JineDlouheNahodneHeslo
RconPort=27020
Mordhau mluví protokolem Source RCON, tedy TCP, a spolupracuje proto s každým běžným nástrojem pro RCON. Právě to využívají i skripty, které zkoušejí přihlašovací údaje. Případ pokryjí tři pravidla. Zaprvé: RconPassword a AdminPassword jsou dvě různá, dlouhá, náhodná hesla, a ne variace jména serveru. Zadruhé: uvolnění pro RCON port omezíte na svou vlastní adresu, tak jako výše v bloku UFW. Zatřetí, pokud nemáte pevnou adresu: nechte port zvenčí zavřený a dosáhněte na něj přes přesměrování portu v SSH, poté se spojíte lokálně na 127.0.0.1:27020:
ssh -N -L 27020:127.0.0.1:27020 root@VASE.IP.ADRESA.SERVERU
Musí-li RCON přesto zůstat otevřený, omezte alespoň počet současných spojení podle zdrojové adresy. Nástroj pro RCON potřebuje jedno spojení, skript na hádání hesel stovky:
iptables -I INPUT -p tcp --dport 27020 --syn -m connlimit --connlimit-above 3 --connlimit-mask 32 -j DROP
5. Zabezpečit beacon port 15000 proti záplavám připojení
Beacon port je nedocenitelné místo útoku na server Mordhau. Přes něj hra rezervuje slot připojujícího se hráče, dokud ten ještě načítá. Bot, který v rychlém sledu spouští připojení, tím zabírá sloty, aniž by se kdy dostal do hry. Server zůstává online a přesto působí jako plný. Horní mez podle zdrojové adresy to zachytí, protože skutečný hráč beaconuje na jedno připojení právě jednou, a ne dvacetkrát za sekundu:
iptables -I INPUT -p udp --dport 15000 -m hashlimit --hashlimit-name mh_beacon --hashlimit-mode srcip --hashlimit-above 20/sec --hashlimit-burst 40 -j DROP
iptables -I INPUT -p udp --dport 7777 -m hashlimit --hashlimit-name mh_game --hashlimit-mode srcip --hashlimit-above 400/sec --hashlimit-burst 600 -j DROP
Druhé pravidlo platí pro herní port a potřebuje rozvahu. Při tickrate 60 vyměňuje server s každým připojeným hráčem řádově 60 paketů za sekundu v každém směru. Mez 400 paketů za sekundu na zdrojovou adresu tak nechává každému skutečnému hráči dost prostoru a přesto zasáhne každý zdroj, který očividně zaplavuje. Měřte nejdřív týden v normálním provozu, než nastavíte těsněji: kdo nastaví příliš těsně, vyhodí vlastní hráče a pak to považuje za útok.
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í.
6. Game.ini a Engine.ini: co skutečně něco přinese
Mordhau má dva konfigurační soubory a oba leží pod Linuxem v Mordhau/Saved/Config/LinuxServer/, pod Windows v Mordhau\Saved\Config\WindowsServer\. Soubor Game.ini řídí jméno serveru, sloty, hesla, seznam administrátorů, rotaci map a identifikátory modů z mod.io, soubor Engine.ini chování v síti. Oba upravujte výhradně při zastaveném serveru, jinak serverový proces při ukončení přepíše vaše změny stavem z operační paměti.
Pro velikost útočné plochy jsou skutečně relevantní tři nastavení. Zaprvé ServerPassword: udrží mimo každého, kdo není zvaný, stojí ale veřejnou dohledatelnost a proti záplavě na portu 7777 nepomůže vůbec, protože útočník se vůbec připojit nechce. Zadruhé realistické číslo v MaxSlots: Mordhau je navržený až na 64 hráčů a každý další slot je další zdroj paketů, který musí obsloužit váš procesor. Zatřetí tickrate v souboru Engine.ini:
[/Script/OnlineSubsystemUtils.IpNetDriver]
NetServerMaxTickRate=60
LanServerMaxTickRate=60
[IpDrv.TcpNetDriver]
NetServerMaxTickRate=60
Výchozí tickrate serveru Mordhau je 60. Zvýšení na 120 zdvojnásobí paketovou rychlost na hráče i zátěž procesoru, a je tedy přesně tím, co pod útokem nepotřebujete. Server se 64 sloty a tickrate 120 vytváří v normálním provozu už řádově 8 000 paketů za sekundu v každém směru. Kdo je trvale ostřelovaný, jede s hodnotou 60 znatelně stabilněji než s 120.
7. Odlehčit sledování spojení a přijímací vyrovnávací paměť
Často přehlíženým úzkým hrdlem je sledování spojení v jádře. Vede záznam pro každý UDP tok a záplava z desetitisíců podvržených adres odesílatele naplní tabulku během sekund. Když se 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
dmesg -T | grep -i conntrack | tail -20
Proti tomu pomáhá dvojí. Zvýšíte horní mez, nebo herní porty ze sledování úplně vyjmete. To druhé je u herního serveru většinou lepší cesta, protože UDP tak jako tak nemá žádný stav, který by se musel sledovat:
iptables -t raw -I PREROUTING -p udp --dport 7777 -j NOTRACK
iptables -t raw -I PREROUTING -p udp --dport 15000 -j NOTRACK
iptables -t raw -I PREROUTING -p udp --dport 27015 -j NOTRACK
Rovněž smysluplné jsou větší přijímací vyrovnávací paměti a hlubší fronta síťové karty, aby krátké špičky nevedly hned k zahazování:
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.rmem_default=4194304
sysctl -w net.core.netdev_max_backlog=5000
Trvale patří tyto hodnoty do souboru pod /etc/sysctl.d/, například 99-gameserver.conf. Důležité pro porozumění: větší vyrovnávací paměti nezvyšují vaši odolnost proti velkému útoku, zabraňují jen tomu, aby krátký výkyv hned stál pakety.
8. Vaše adresa stojí v seznamu serverů a to se nedá změnit
Tady se vyplatí poctivost místo zbožných přání: IP adresu veřejného serveru Mordhau nelze udržet v tajnosti. Stojí v záznamu prohlížeče serverů, stojí ve veřejných seznamech serverů třetích stran, které pravidelně odečítají query port, a zná ji každý hráč, který byl jednou připojený. Změna adresy proto přinese hodiny, zřídka dny, protože útočník najde novou adresu stejnou cestou jako tu starou.
Účinné jsou k tomu tři zvyky. Nezveřejňujte surovou IP adresu nikde sami, tedy ani na kanálu na Discordu, ani na stránce projektu. Připojujte své hráče přes jméno hostitele, aby změna adresy v ostrém případě nerozbila všechny odkazy. A uklízejte staré záznamy DNS, protože zapomenutý A záznam na předchozí adresu učiní každou změnu bezúčinnou. Totéž platí pro testovací servery: každý veřejně dosažitelný druhý server na stejném stroji prozradí adresu hlavního serveru.
9. Měřit, dokud všechno běží normálně
Nejdůležitější krok je ten, který skoro nikdo neudělá předem: založit si srovnávací základnu, dokud server běží v klidu. 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. S apt-get install -y vnstat sysstat běží měření trvale. 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 7777 or udp port 15000 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í dodatečně zatěžuje už tak přetížený server. Dávejte pozor zvlášť na čítače zahozených paketů z ip -s link. Stoupající hodnoty dropped při současně klidném procesoru jsou nejjasnějším znamením, že problémem je paketová rychlost, a ne výpočetní výkon. Jak naměřené hodnoty vyhodnotit, stojí v článku Jak poznat DDoS útok. Jak server čistě nainstalovat pomocí SteamCMD a udržovat aktuální, popisuje článek Instalace herního serveru pomocí SteamCMD.
Kde tato opatření 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.
Spočítejte si to jednou. Typický herní server visí na 1 Gbit/s, to je 125 megabajtů za sekundu, a linka je plná, jakmile někdo pošle více. Plný server Mordhau se 64 sloty z toho potřebuje jen zlomek: při tickrate 60 leží herní provoz řádově na 4 000 paketech za sekundu v každém směru. Pronajatý booter naproti tomu bez problémů dodá 5 až 50 Gbit/s, tedy pětinásobek až padesátinásobek vaší linky. Jestli je vaše pravidlo iptables za tím dobré, pak už nehraje roli, protože pakety vašich hráčů se tam už dřív nedostanou.
Druhou veličinou je paketová rychlost a ta udeří často dřív než šířka pásma. 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é jádro serveru jich podle procesoru a síťové karty zpracuje několik set tisíc, než začne zahazovat. Útok, který vaši linku nezaplní ani do jedné třetiny, tedy může váš server Mordhau přesto položit, protože výpočetní čas odejde na zahazování. Provozovatelé to zažívají jako „vytížení přece vůbec nebylo vysoké, a stejně bylo všechno pryč“.
Pro zařazení, jaké řádové hodnoty se reálně vyskytují: na serverech KernelHost byl mimo jiné odfiltrován útok s více než 473,4 Gbit/s při více než 41,5 milionu paketů za sekundu na hlasový server a UDP flood s více než 112,2 Gbit/s na herní server. Na to neexistuje žádné lokální nastavení. Volumetrické ú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 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ž vůbec 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. Stanovištěm je Frankfurt nad Mohanem. 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é servery Mordhau
Některé servery nejsou napadány příležitostně, ale cíleně a po celé týdny. Pro ně existuje Advanced DDoS Protection od 50,00 € 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í žá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 7777 UDP, co na 15000 UDP a co na 27015 UDP, aniž byste na to museli psát ticket.
- 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 servisní okno.
- Ochranný profil odpovídající hře. Pro herní servery na Unreal Engine přes UDP a pro query porty Steamu existují hotové profily, stejně tak pro upravené a vlastní aplikace na libovolných TCP nebo UDP portech.
Advanced DDoS Protection je určená serverům, které běží u KernelHost. Stojí-li váš server Mordhau momentálně jinde a je pravidelně vystřelován ze sítě, je cestou k této filtraci stěhování.
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 € 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, servery na Unreal Engine včetně | profil odpovídající hře, i pro upravené aplikace |
| 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ě serverů Mordhau stačí zahrnutá trvalá ochrana spolu s čistou konfigurací. Advanced DDoS Protection je odpovědí na to, že si to někdo vzal osobně.
Časté chyby a jejich řešení
„Zavřel jsem port 27015 a teď už můj server nestojí v seznamu“: To je očekávatelný důsledek. Query port Steamu dodává prohlížeči serverů jméno, mapu a počet hráčů. Bez něj se váš server už nezobrazí, nebo je vedený jako nedosažitelný. Správné je omezení rychlosti podle zdrojové adresy místo blokace.
„Hráči se nedostanou dovnitř, přesto že server běží“: Zkontrolujte nejdřív port 15000 UDP. Beacon rezervuje slot během načítání. Je-li zablokovaný, příliš těsně filtrovaný nebo přetížený, zůstane připojení viset, přesto že port 7777 odpovídá a server stojí v prohlížeči.
„Moje změny v Game.ini jsou po restartu zase pryč“: Upravovali jste soubor za běhu serveru. Serverový proces Mordhau při ukončení zapisuje svůj stav z operační paměti zpět a přepíše při tom vaši verzi. Server zastavit, upravit, spustit, v tomto pořadí.
„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ž dávno plná. Zkontrolujte pomocí iptables -L INPUT -n -v, zda stoupají čítače zásahů. Zůstávají-li na nule, pravidlo se nedostane ke slovu.
„Server běží, ale všichni mají lag spiky a zásahy přicházejí pozdě“: Podívejte se nejdřív, jestli stoupá vstupní paketová rychlost, zatímco procesor zůstává v klidu. Přesně to je vzor útoku. Zůstává-li paketová rychlost normální a procesor přitom stojí na 100 procentech, není to DDoS útok, ale většinou příliš vysoký tickrate, příliš mnoho slotů nebo nějaký mod.
„Můj poskytovatel hlásí odchozí zneužití portu 27015“: Váš server byl zneužit jako zesilovač pro reflexi. Dotazy přicházely s podvrženou adresou odesílatele, odpovídal váš server cizí oběti. Omezení rychlosti na 27015 UDP podle zdrojové adresy to ukončí.
„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 za určitých okolností dostat ani relace SSH, 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í
- Dedikovaný server Mordhau potřebuje navenek přesně čtyři UDP porty: 7777 (hra), 7778 (Steam), 15000 (beacon) a 27015 (dotazy Steamu). Všechno ostatní patří zavřít.
- RCON u Mordhau běží přes TCP podle protokolu Source RCON a aktivuje se teprve pomocí
RconPasswordaRconPortv souboruGame.ini. Omezte port na svou vlastní adresu. - Port 27015 UDP smíte omezit, ale nesmíte zavřít: bez něj váš server zmizí z prohlížeče serverů, protože počet hráčů, mapa a jméno se dotazují přes tento port.
- Port 15000 UDP je beacon port a rezervuje slot během načítání. Je-li zablokovaný nebo přetížený, hráči se nedostanou dovnitř, přesto že server běží.
- Soubory
Game.iniaEngine.iniupravujte jen při zastaveném serveru, protože serverový proces při ukončení zapisuje zpět stav z operační paměti. - Lokální pravidla firewallu končí na šířce pásma: 1 Gbit/s je 125 megabajtů za sekundu a u paketů o velikosti 64 bajtů zhruba 1,49 milionu paketů za sekundu. Nad tím rozhoduje výhradně síť před serverem.
- U KernelHost je dvoustupňová trvalá ochrana obsažena v každém serverovém balíčku bez příplatku a je aktivní od zřízení serveru, bez nullroutingu. Kdo chce filtraci řídit sám, dostane ho s Advanced DDoS Protection od 50,00 € měsíčně.
Běží-li váš server Mordhau 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. Při probíhajícím útoku nás zastihnete navíc přes nouzový chat na WhatsAppu na čísle +43 650 8209883.
Časté dotazy
Které porty musím pro server Mordhau nechat otevřené?
Můj server Mordhau je právě offline. Podle čeho poznám, že běží DDoS útok?
Můžu port 27015 jednoduše zavřít, abych zastavil záplavy dotazů?
K čemu je u serveru Mordhau port 15000?
Jak zabezpečím RCON na serveru Mordhau?
Pomůže teď rychle změnit IP adresu?
Proč jsou moje změny v Game.ini po restartu pryč?
Od jaké velikosti útoku to můj server Mordhau nezvládne sám?
Jde můj server Mordhau u KernelHost během útoku offline?
Stojí ochrana proti DDoS u KernelHost něco navíc?
Kdy potřebuji pro svůj server Mordhau navíc Advanced DDoS Protection?
2026 KernelHost GmbH. Všechna práva vyhrazena. Tento návod je chráněn autorským právem. Jeho zveřejnění na jiných webech, a to i po částech nebo v upravené podobě, není bez našeho písemného souhlasu dovoleno. Citace s uvedením zdroje a odkazem jsou výslovně vítány.

