Obrana proti floodu

Milan Keršláger milan.kerslager na pslib.cz
Úterý Leden 25 21:58:25 CET 2005


On Tue, Jan 25, 2005 at 06:16:24PM +0100, Damir Špoljarič wrote:
> Mel jsem na mysli klasicky flood ping - icmp.

echo 10 > /proc/sys/net/ipv4/icmp_ratelimit
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

Lepe ovsem zapsat do /etc/sysctl.conf, aby se to pomoci 'sysctl -p'
zapsalo do jadra automaticky pri startu.

Jde to ale resit i pomoci iptables selektivne (viz zminena volba --limit
a --limit-burst).

V kazdem pripade byste mel branit vstupu podezdrelych datagramu (zpetna
adresa z privatniho rozsahu), broadcasty (mimo nutnych napr. pro Sambu)
atd.

Nicmene pokud nekdo zacne delat DDoS (distribuovany utok), tak vam
samotne jadro moc nepomuze. Dneska jsem treba resil pripad, kdy nejaky
chytrak nasmeroval na jeden WWW server bittorenty a ty ubijely Apache
(vycerpani demonu). Bez analyzy vnitrku datagramu je to prakticky
neresitelne (a ta ve standardnich jadrech neni).

> Jirka Kosina napsal(a):
> 
> >On Tue, 25 Jan 2005, Damir Špoljarič wrote:
> >
> >>Zdravim. Existuje v linuxu (GNU/Linux Debian Sarge) nejaky program ci 
> >>neco primo v jadre, co pri floodu zahazuje vetsinu techto paketu ktere 
> >>prijme? vim, ze to ma bsd implicitne v sobe, ale nevim jak na to v 
> >>linuxu. dik
> >
> >Zalezi o jaky flood se jedna. Muzete v iptables pouzit --limit, ale  na 
> >nem je neprakticke, ze se vam velmi pravdepodobne stane, ze zahodite i 
> >legitimni packety.
> >
> >Proti tcp-syn floodu muzete pouzit syncookies, kterezto jsou soucasti 
> >standardniho kernelu. Viz /proc/sys/net/ipv4/tcp_syncookies

A take pomoci modulu connlimit muzete limitovat maximalni pocet
soubeznych spojeni z IP adresy (rozsahu). K nalezeni v patch-o-matic.

-- 
                        Milan Kerslager
                        E-mail: milan.kerslager na pslib.cz
                        WWW:    http://www.pslib.cz/ke/


Další informace o konferenci Linux