Call Of Duty 4 , 2 , 1 DDOS Problematik

  • Hallo Freunde des leichten Spiels,


    aktuell stehen viele seit August vor immer wieder kommenden DDOS Attacken auf Call of Duty Server


    Hier ein Auszug aus der Mailingliste von Ryan C. Gordon:
    http://icculus.org/pipermail/cod/2011-August/015397.html


    Es gibt einen Patch für das Problem für Call of Duty 4 Gameserver, allerdings ist nicht gesagt das dieser zu jeden Mod kombatibel ist. Weiter besteht die Problematik das der Nutzer darauf achten muss das die nötigen Befehle dazu (siehe unten) auch mit jeder Config wieder gestartet werden. Hier der Downloadlink zu dem Patch welcher aber nur für Call of Duty 4 Linuxserver ist:
    http://treefort.icculus.org/co…-query-limit-test.tar.bz2


    Hier eine Kurze Anleitung:
    Achtung: In dem Zipfile heißt die Datei cod4_lnxded sie sollte aber cod4_lnxded-bin heißen.
    Einfach umbennenen!

    Code
    1. wget http://treefort.icculus.org/cod/cod4-lnxsrv-query-limit-test.tar.bz2
    2. bunzip2 cod4-lnxsrv-query-limit-test.tar.bz2
    3. tar -xvf cod4-lnxsrv-query-limit-test.tar
    4. cd cod4-linux-server
    5. mv cod4_lnxded cod4_lnxded-bin
    6. cp cod4_lnxded-bin /woimmer/deine/CoD4installation


    Dabei muss der Nutzer des call Of Duty 4 Patches folgende Cvars in seine Config mit aufnehmen:

    Code
    1. set sv_queryIgnoreDebug 1 // Schreib Aktionen in das Logfile (kann dann sehr groß werden!)
    2. set sv_queryIgnoreMegs 1 //Platz in MB für Memory-File für bekannte Adressen. (1=65000 Adressen 12=1 Mio ;) )
    3. set sv_queryIgnoreTime 2 // Zeit in Miilisekunden innerhalb der Server keine neue Anfragen von der selben IP-Adresse beantwortet.
    4. set sv_queryBounceIgnoreTime 1200 // Wenn die Reverse "bist du da" Anfrage des Servers an den Absender abgewiesen wird - wie lange soll keine neue Anfrage von dieser IP-Adresse zugelassen werden in Millisekunden


    Weiter kann man versuchen diese als Startparameter mit zu nutzen, dabei muss er folgendes an die bestehenden Startparameter anhängen:

    Code
    1. +set sv_queryIgnoreDebug 1 +set sv_queryIgnoreMegs 1 +set sv_queryIgnoreTime 2 +set sv_queryBounceIgnoreTime 1200



    Für Windows Call Of Duty Server gibt es einen Patch welcher einfach in das Gameserver Hauptverzeichnis eingefügt werden muss, anbei der Link:
    ftp://download:maps@cartmandsl.de/CoD_Getstatus_UDP_Flood_Solution.zip



    Parallel dazu gibt es die noch bessere Möglichkeit die via IPtables zu regeln.


    Code
    1. iptables -A OUTPUT -p UDP -m length --length 1162:1168 -j DROP
    2. iptables -A FORWARD -p UDP -m length --length 1162:1168 -j DROP
    3. iptables -A INPUT -p UDP -m length --length 1162:1168 -j DROP
    4. iptables -A INPUT -p UDP -m length --length 42 -m recent --set --name getstatus_cod
    5. iptables -A INPUT -p UDP -m string --algo bm --string "getstatus" -m recent --update --seconds 1 --hitcount 20 --name getstatus_cod -j DROP


    Kommt beim Starten der IPtables Config eine Fehlermeldung so wie diese hier:

    Code
    1. iptables: No chain/target/match by that name


    dann bitte Überprüfen ob der Kernel alle Module hat.