You did not understand.  I only wanted to limit the packets that match the
DOS attack.  Only the DOS attacks that match the Query string and length
would be rate limited.  I think.  But maybe you are saying the server
browser uses the same string and length?  At least the server will not lag
for the players that find the server.

} -----Original Message-----
} From: [email protected] [mailto:hlds_linux-
} [email protected]] On Behalf Of Kaspars
} Sent: Sunday, September 06, 2009 11:58 AM
} To: Half-Life dedicated Linux server mailing list
} Subject: Re: [hlds_linux] A2S_INFO DDOS fix
} 
} As I said before, you could just set sv_max_queries_sec to very small
} number, but that would lead to server not showing up in the server browser
} list. The same goes for the limiting - it will just drop out of the list
} and
} thats why there is a proxy which takes off the load from gameserver.
} 
} I can confirm what Ronny Schedel said that iptables does sometime redirect
} wrong packets to the proxy, I'm investigating this now...
} 
} 2009/9/6 Guy Watkins <[email protected]>
} 
} > Could you use the firewall to rate limit using "-m limit --limit 1/s
} > --limit-burst 10" or similar?
} >
} > Maybe something like this?
} > iptables -t nat -A PREROUTING -p udp -d SERVER_IP --dport SERVER_PORT -m
} >  string --algo kmp --string 'TSource Engine Query' -m length --length 53
} -m
} > limit --limit 1/s --limit-burst 10 -j REDIRECT --to-port 21015
} >
} > Maybe won't even need the proxy if the firewall is limiting the DOS
} > packets?
} >
} > I have not tried the above.
} >
} > } -----Original Message-----
} > } From: [email protected] [mailto:hlds_linux-
} > } [email protected]] On Behalf Of Kaspars
} > } Sent: Sunday, September 06, 2009 9:43 AM
} > } To: Half-Life dedicated Linux server mailing list
} > } Subject: Re: [hlds_linux] A2S_INFO DDOS fix
} > }
} > } firewall rule could be adjusted to this:
} > } iptables -t nat -A PREROUTING -p udp -d SERVER_IP --dport SERVER_PORT
} -m
} > } string --algo kmp --string 'TSource Engine Query' -m length --length
} 53
} > -j
} > } REDIRECT --to-port 21015
} > }
} > } As for the rate limit... I don't think this is a good idea, because
} > } setting
} > } such a limit will make the server disappear from the browser list for
} > } legit
} > } clients. And if you have a good connection, you probably will not
} notice
} > } the
} > } traffic increase anyway.
} > }
} > }
} > } 2009/9/6 Ronny Schedel <[email protected]>
} > }
} > } >
} > } > I forgot an important part, your query proxy has still no rate
} limit.
} > It
} > } > can
} > } > be used to flood spoofed IP's.
} > } >
} > } >
} > } > > Hi,
} > } > >
} > } > > If you are on the hlds windows mailing list, then you probably
} > already
} > } > > know
} > } > > about A2S_INFO DDOS attacks. I have mistakenly posted a *fix* on
} the
} > } list
} > } > > for *nix servers which I should have posted here.
} > } > >
} > } > > In short:
} > } > > If your server gets ddosed with A2S_INFO packets, it will get
} really
} > } > > laggy.
} > } > > Setting sv_max_queries_sec to a low value will make the server
} > } disappear
} > } > > from the server browser list. I'm providing you with a UDP Caching
} > } Proxy
} > } > > which will query the server with A2S_INFO requests not more than
} once
} > } in
} > } > a
} > } > > five seconds and respond to the client with the cached data.
} > } > >
} > } > > Setup:
} > } > > 1. Get the source from http://www.gign.lv/tmp/querycache.c
} > } > > 2. Compile with gcc querycache.c -o querycache
} > } > > 3. Open an UDP port in firewall for the proxy server, lets say
} 21015
} > } > > 4. Make sure you have iptables NAT, REDIRECT and string match
} support
} > } > > compiled into kernel or as modules
} > } > > 5. execute: iptables -t nat -A PREROUTING -p udp -d
} > } > > YOUR_EXTERNAL_TF2_SERVER_IP --dport YOUR_SERVER_PORT -m string --
} algo
} > } kmp
} > } > > --string 'TSource Engine Query' -j REDIRECT --to-port 21015
} > } > > 6. Run querycache (probably under screen, so you can detach from
} it)
} > } > >
} > } > > I've been ddosed with about 300req/sec and it works good, however
} I
} > } don't
} > } > > give any warranty that it will work for you.
} > } > > _______________________________________________
} > } > > To unsubscribe, edit your list preferences, or view the list
} > archives,
} > } > > please visit:
} > } > > http://list.valvesoftware.com/mailman/listinfo/hlds_linux
} > } > >
} > } >
} > } >
} > } > _______________________________________________
} > } > To unsubscribe, edit your list preferences, or view the list
} archives,
} > } > please visit:
} > } > http://list.valvesoftware.com/mailman/listinfo/hlds_linux
} > } >
} > } _______________________________________________
} > } To unsubscribe, edit your list preferences, or view the list archives,
} > } please visit:
} > } http://list.valvesoftware.com/mailman/listinfo/hlds_linux
} >
} >
} > _______________________________________________
} > To unsubscribe, edit your list preferences, or view the list archives,
} > please visit:
} > http://list.valvesoftware.com/mailman/listinfo/hlds_linux
} >
} _______________________________________________
} To unsubscribe, edit your list preferences, or view the list archives,
} please visit:
} http://list.valvesoftware.com/mailman/listinfo/hlds_linux


_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlds_linux

Reply via email to