trivialitty weblog

DDOS útok na OpenArena servery

Několik měsíců jsem se potýkal s problémem značně zvýšeného síťového provozu IPv4 sítě u virtuálního serveru, na kterém provozuji své dva OpenArena servery. Nedávno se mi konečně podařilo přijít věci na kloub.

(Problém se zřejmě týká všech OpenArena serverů verze 0.8.5 a nižší.)

Již tomu bude rok, co provozuji své dva OpenArena servery – DM (deadmatch) a CTF (capture the flag). Za celou dobu provozu jsem se nesetkal s žádným větším problémem. Až nedávno se podle statistik začal výrazně zvedat traffic, z běžných 500 MB/den na 5 GB/den. Zpočátku jsem tomu nevěnoval moc pozornosti, ale postupem času se začal přenos dat zvyšovat až k hranici 40 GB/den. To mě donutilo se o problém začít více zajímat.

Ze záznamu z tcpdumpu byl znát nadměrný počet požadavků na server z nejrůznějších IP adres, na které server odesílal nadměrně velké odpovědi. Zkoušel jsem různá jednoduchá řešení, jako OpenArena servery na chvíli odstavit, nastavit jednoduchá pravidla v iptables na maximální počty požadavků z jednotlivých IP adres, ale nic z toho nebylo moc efektivní. Nakonec se mi podařilo najít následující řešení:

1. řešení – upgrade na verzi 0.8.8

Nejsnáze problém vyřešíte, když upgradujete na verzi 0.8.8, která je již proti tomuto typu útoku odolná.

2. řešení – nastavení firewallu

Uvádím zde řešení pouze pro linuxový server s paketovým filtrem iptables (převzaté ze serveru altFIRE).

iptables -N quake3_ddos
iptables -A quake3_ddos -m u32 ! --u32 "0x1c=0xffffffff" -j ACCEPT
iptables -A quake3_ddos -m u32 --u32 "0x20=0x67657473&&0x24=0x74617475&&0x25&0xff=0x73" -m recent --name getstatus --set
iptables -A quake3_ddos -m recent --update --name getstatus --hitcount 10 --seconds 2 -j DROP
iptables -A quake3_ddos -j ACCEPT

# nastavení pro jeden openarena server běžící na portu 27960
iptables -I INPUT 1 -p udp --dport 27960 -j quake3_ddos
# nastavení pro více serverů (porty 27960 a 27961)
#iptables -I INPUT 1 -p udp -m multiport --dports 27960,27961 -j quake3_ddos

Závěrem

Sám jsem nakonec problém vyřešil použitím obou řešení. Upgrade pomohl rapidně snížit odchozí síťový provoz a aplikování pravidel firewallu vyřešilo nadměrné zatěžování OpenArena serverů zbytečnými požadavky.

Pro zajímavost

Na oba OpenArena servery se můžete připojit i přes IPv6 (samozřejmě jen pokud máte IPv6 konektivitu). Stačí zadat jednoduchý přikaz z konzole:

connect [2a01:430:d:0:2cc:a3ff:feb2:6992]:27960

k DM serveru, nebo

connect [2a01:430:d:0:2cc:a3ff:feb2:6992]:27961

k CTF serveru.

13. května 2012 v 20.52 – Bezpečnost – zobrazeno: 24149x – komentáře: 5

Komentáře

#1 Oman 13. května 2012 v 21:51:52 řekl(a):

A co ony nadměrně velké odpovědi způsobovalo? To se začaly objevovat jen tak z ničeho nic?

PS: Zrovna včera jsem uvažoval, jestli neodebrat trivialitty z greaderu. Nakonec se to mělo smysl ponechat.

#3 Oman 13. května 2012 v 22:38:24 řekl(a):

A po odeslání formuláře prosím provést přesměrování, aby se to po obnovení stránky znovu neodeslalo.

#4 ondrg 13. května 2012 v 23:55:29 řekl(a):

Oman: Přesně tak. Prostě z ničeho nic začal narůstat především odchozí traffic na serveru. Co jsem koukal do odchycených paketů, tak bylo z některých IP adres (bylo jich několik desítek) zasíláno asi 300 požadavků do sekundy, což je na 20, které odesílá počítač běžného hráče, přece jen trochu moc.

Dokonce mi přišla informace o tom, že z mého serveru byl veden asi hodinu DOS útok na nějaký jiný server, k čemuž byla velmi pravděpodobně využita chyba v aplikaci.

Podrobněji je problém popsán tady: http://www.altfire.com/…ws/index.php?… (ovšem v angličtině)

Na to znovuodeslaní komentáře při obnovení stránky se podívám.

ondra.gersl@seznam.czhttp://itty.cz

#5 ondrg 16. prosince 2012 v 0:08:38 řekl(a):

Aktualizace: Provoz obou OpenArena serverů jsem k dnešnímu dni z důvodu malého využití zrušil. Statistiky služby GameTracker jsou též odstraněny.

ondra.gersl@gmail.comhttp://itty.cz

Co Vy na to?






(CC) 2008-2017 Ondra „ondrg“ Geršl (v. 0.2.3 – changelog) [poděkování] [licence]

Vypnout CSS — Validovat HTML (W3C) — Validovat CSS

Jste připojeni přes IPv4 :-( Vaše IP adresa je: 54.163.210.170
IP adresa serveru je: 77.93.223.210