iptables und die limit-funktion

Rund um die Sicherheit des Systems und die Applikationen
pseudo
Posts: 54
Joined: 2003-08-08 10:08

iptables und die limit-funktion

Post by pseudo » 2004-03-16 14:33

hi,

mein ziel ist es echo-flooding zu unterbinden

ping xxx.xxx.xxx.xxx ja
ping -f xxx.xxx.xxx.xxx nein

ich hab folgende regel erstellt:

Code: Select all

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
allerding geht das aus irgendeinem mir absolut nicht nachvollziehbarem grund nicht. :D

die policy hab ich auf "drop" stehen, also sollte die regel ja maximal einmal pro sekunde zutreffen und einen ping durchlassen,
aber nicht mehr als den einen.

mein problem ist nun aber, dass ich alle ping's gedroppt bekomme.
sieht jemand meinen fehler?
bin leider auch nach vielem lesen von ettlichen iptables-howto's bei der limit-funktion nicht ganz durchgestiegen...

wäre nett, wenn jemand ne gute erklärung dazu hätte;
zu der "limit"-funktion, zu iptables allgemein hab ich schon genug :D

danke im vorraus, pseudo

dea
Posts: 532
Joined: 2002-08-13 12:05

Re: iptables und die limit-funktion

Post by dea » 2004-03-16 14:39

Mach' das doch über sysctl (sys.ip_v4 oder so und untergeordnete). Das funktioniert zuverlässig, allerdings für die gesamte Maschine.

dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: iptables und die limit-funktion

Post by dodolin » 2004-03-16 14:44

die policy hab ich auf "drop" stehen, also sollte die regel ja maximal einmal pro sekunde zutreffen und einen ping durchlassen,
aber nicht mehr als den einen.
Falsch. Es gibt da noch sowas wie -limit-burst, welches einen Default >1 hat, wenn man es nicht selbst setzt.
mein problem ist nun aber, dass ich alle ping's gedroppt bekomme.
sieht jemand meinen fehler?
Nein, natürlich nicht. Das wird dann ja wohl mit deinen anderen (hier nicht genannten) Regeln zu tun haben.

pseudo
Posts: 54
Joined: 2003-08-08 10:08

Re: iptables und die limit-funktion

Post by pseudo » 2004-03-16 14:46

hm, das dachte ich mir auch, aber hab alle anderen rausgeschmissen.

wenn ich da den gelesenen howtos und den manpages glaube, steht limit-burst default ja auch auf 3/h, oder?

pseudo
Posts: 54
Joined: 2003-08-08 10:08

Re: iptables und die limit-funktion

Post by pseudo » 2004-03-16 14:47

@dodolin haste da irgendwo n guten link mit ner erklärung zu den limit-optionen? wenn möglich in deutsch, mein englisch iss nur log-file-tauglich :D

dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: iptables und die limit-funktion

Post by dodolin » 2004-03-16 14:58

@dodolin haste da irgendwo n guten link mit ner erklärung zu den limit-optionen?
http://www.netfilter.org/documentation/
Packet Filtering Howto sowie das erstgenannte Tutorial kann ich empfehlen. Oder die manpage.

pseudo
Posts: 54
Joined: 2003-08-08 10:08

Re: iptables und die limit-funktion

Post by pseudo » 2004-03-16 15:17

Code: Select all

limit

    Dieses Modul muss explizit mit der '-m limit ' oder '--match-limit' Option bestimmt werden. Es wird verwendet, um die Rate der Treffer einzuschraenken, sowie das Unterdruecken von Log-Meldungen. Es wird nur auf eine vorgegebene Anzahl von Malen pro Sekunde zutreffen (Standardmaessig 3 Treffer pro Stunde, mit einer Grenze von 5). Es hat zwei optionale Argumente:

    --limit

        Gefolgt von einer Zahl. Dies bestimmt die maximale Anzahl von erlaubten Treffern pro Zeiteinheit (Standard: pro Sekunde). Die Nummer kann explizit Einheiten bestimmen, indem '/second/', '/minute/', '/hour/' oder '/day/' oder Teile davon benutzt werden (so ist '5/second' dasselbe wie '5/s').
    --limit-burst

        Gefolgt von einer Zahl, die die maximale Grenze angibt, bevor das obere Limit erreicht wird.

    Dieses Argument kann oft mit dem LOG Ziel verwendet werden, um begrenzt zu loggen. Um zu verstehen, wie das funktioniert, lass uns einen Blick auf die folgende Regel werfen, welche Pakete mit den standardmaessigen Limit-Parametern loggt:

# iptables -A FORWARD -m limit -j LOG

    Das erste Mal, wenn diese Regel erreicht wird, wird das Paket geloggt; tatsaechlich werden, da die Standardgrenze 5 ist, die ersten 5 Pakete geloggt. Danach wird es zwanzig Minuten dauern, ehe ein Paket wieder von dieser Regel geloggt wird, ungeachtet dessen, wieviele Pakete wirklich ankommen. Ausserdem, wenn zwanzig Minuten vergehen, ohne dass ein treffendes Paket ankommt, wird die Grenze um eins zurueckgeschraubt: Wenn 100 Minuten lang kein Paket auf die Regel trifft, steht der Zaehler wieder auf Null, da, wo wir angefangen haben.
das iss genau das howto, das ich auch genutzt habe, aber das mit limit durchschaue ich trotzdem nicht.
laut der erklärung ist alles klar, aber nich in der praxis. weiter steht da nämlich:

Code: Select all

Ping of death:

# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

und genau das tut nunmal nicht bei mir :-(

noch ne idee?

mein script sieht momentan so aus *g

Code: Select all

iptables -F
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -L -v -n
gruss, pseudo

pseudo
Posts: 54
Joined: 2003-08-08 10:08

Re: iptables und die limit-funktion

Post by pseudo » 2004-03-16 15:34

Code: Select all

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp -j DROP

Code: Select all

p15106017:~# iptables -L -v
Chain INPUT (policy ACCEPT 114K packets, 9507K bytes)
 pkts bytes target     prot opt in     out     source               destination
    7   536 ACCEPT     icmp --  any    any     anywhere             anywhere            icmp echo-request limit: avg 1/sec burst 5
  125 10563 DROP       icmp --  any    any     anywhere             anywhere

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 114K packets, 9580K bytes)
 pkts bytes target     prot opt in     out     source               destination
so tut es *g
versteh nur nich, warum das immer bei forward auftaucht... *wunder*

dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: iptables und die limit-funktion

Post by dodolin » 2004-03-16 15:35

mein script sieht momentan so aus *g
Soll das alles sein? So ganz ohne Policy und Co.?!

pseudo
Posts: 54
Joined: 2003-08-08 10:08

Re: iptables und die limit-funktion

Post by pseudo » 2004-03-16 15:59

lol

neee, aber wenn ich gucken will, ob was geht oder nicht,
dann test ich nich 2000 regeln mit, sondern untersuche erst mal die, mit der ich nicht zurechtkomme, anstatt da 20 regeln zu erstellen, und dann den fehler evtl. in einer dieser regeln suchen zu müssen... :D
wollte ja nur die limit-funktion zum laufen bringen, ich teste da eher aus, was geht und was nicht, bevor ich sowas weiterempfehle *g