[linux] Re: (weer eens) iptables

Rob Sterenborg rob op sterenborg.info
Wo Feb 22 14:12:03 CET 2006


On Fri, February 17, 2006 09:11, Gijs Hillenius wrote:
> Als ik, op mijn firewall (annex mailserver/webserver & intern ook
> nog fileserver en printerserver) doe:
>
> iptables -L | more
>
> dan is de eerste melding deze:
>
> Chain BLACKLIST (1 references)
> target     prot opt source               destination
>
> (met daarin dan bijvoorbeeld:)
>
> REJECT all  --  host165-230.koszalin.pl anywhere reject-with..(knip)
>
> (en dan volgt de rest van de tabel, met bijvoorbeeld)
>
> Chain INPUT (policy DROP)
> target     prot opt source               destination
> ACCEPT     all  --  anywhere             anywhere
> ACCEPT     all  --  anywhere             anywhere
> ACCEPT     all  --  anywhere             anywhere
>
....
>
> Op een eerdere doos (recent vervangen) stond met hetzelfde
> iptables-script die Chain BLACKLIST helemaal onderaan. Nu staat ie
> helemaal bovenaan.
>
> Maakt dat iets uit?

Nope. Dit is gewoon een listing van iptables chains in een bepaalde volgorde.

Wat *wel* uit zou maken, is *waar* de chain wordt aangeroepen in de INPUT
chain. Als dat te laat is, dan zouden packets wel eens geaccepteerd kunnen
worden voordat de blacklist zijn werk kan doen.
Maar dat kunnen we niet zien in jouw bijgevoegde listing.

> Stukje uit de log van het script dat staart naar apache2/error.log
>
> Watching 62.108.165.230 on Fri Feb 17 05:21:56 2006
> Watching 62.108.165.230 on Fri Feb 17 05:22:00 2006
> 62.108.165.230 being blocked because of File does not exist,
>      Blacklisted Fri Feb 17 05:22:00 2006
> -------------------------------------------
> Watching 62.108.165.230 on Fri Feb 17 05:22:05 2006
> Watching 62.108.165.230 on Fri Feb 17 05:22:06 2006
> Watching 62.108.165.230 on Fri Feb 17 05:22:07 2006
>
>
> Ik lees het zo: hij blokkeert hem, en vervolgens ziet ie hetzelfde
> adres nog een paar maal langs komen. Dat zou toch niet moeten?

Ik ken het logformaat dat ik nu zie niet, maar het zou zomaar kunnen dat je
gelijk hebt.
In dat geval zou ik zeggen dat de BLACKLIST chain pas te laat wordt
aangeroepen en moet de jump naar die chain eerder in de INPUT chain worden
gezet..

Als je een "iptables -nvL" uitvoerd, geeft die bewuste rule dan packet-count >
0 ?  (Controleer eventueel ook even de rule die de BLACLIST chain aanroept, of
die packet-count > 0 heeft.)
Zo niet, dan wordt deze chain/rule niet uitgevoerd en was het packet al
geaccepteerd.

iptables rules worden regel voor regel geevalueerd.
Wat ik nu zeg is een wat eenvoudige voorstelling van zaken, maar : als een
rule een match geeft met een ACCEPT, DROP of REJECT (dus, een definitief
target) tot gevolg, dan worden de opvolgende rules niet meer geevalueerd.
Als je dus eerst een ACCEPT hebt voor poort 22/tcp en pas daarna een rule voor
een BLACKLIST die dit packet zou blokkeren, dan zal een ssh packet gewoon
geaccepteerd worden omdat de BLACLIST chain niet doorlopen wordt.


Gr,
Rob


PS. Heb je de tijd op je PC wel goed staan ?
Email header:
Date: Fri, 17 Feb 2006 09:11:46 +0100





More information about the Linux mailing list