PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : iptables - wie lang darf die "Blocklist" sein???



zucker4
11.06.03, 17:18
Servus Leute!

Folgende Frage:

wieviele Einträge eherrscht denn iptables?

Damit meine ich folgendes:

z.B. ich habe in meinem firewall-startscript folgende Einträge

---------------------schnipp----------------
...
# Nun kommen viele viele Einträge mit IP's / IP-Adressensabschnitten
# böser Leute / Organisationen
iptables -A INPUT -s 123.123.123.123 -j DROP
iptables -A INPUT -s 123.123.123.124 -j DROP
iptables -A INPUT -s 123.123.123.125 -j DROP
iptables -A INPUT -s 123.123.123.126 -j DROP
... etc ... etc ...etc ...
-----------------------------------------------

So.

Nun wiederhole ich die Frage -
wie viele solcher Einträge kann denn iptables verdauen,
ohne das das Systems stark beeinträchtigt wird / zu viel CPU-Zeit verbrauch wird?


Momenan habe ich eine Liste mit knapp 7000 Einträgen; mein System - ein Athlon mit 1600 Mhz & 256 DDR-RAM läuft wie früher, d.h. keinerlei "freeze" o.ä.

Das laden dieser liste dauert zwar fast 5 Minuten, aber danach, wie gesagt, keine Probleme....

Nun eben, wie lang darf denn eine solche Liste werden??
Hat schon jemand Erfahrungen?



Grüße und Danke


Zucker4

Bauchi
11.06.03, 18:49
schon mal die andere philosophie versucht ?? alles grundsätzlich zu sperren und nur die wirklich benötigten sachen freizuschalten ???

ansonsten ist das alles eine frage von arbeitsspeicher und parametrisierung des kernels :-/

zucker4
11.06.03, 18:59
Hi!

Ok, mein Fehler, ich sollte offenbar etwas ausführlicher in meiner Beschreibung sein..

Zu deiner Frage: als default für INPUT habe ich sicherlich DROP.

Es geht mir darum, Verbindungen zu Diensten die öffentlich sind - in meinem Fall ist es eMule, für bestimme IPs / IP-Adressräume zu sperren. Das sind z.B. Adressräume der BSA, Musikproduzenten, etc. etc.. etc.

Idee verstanden, Basti? ;)

-----------------------------------------------
Nur ein einziges mal
Die Uhren rückwärts drehen
Denn wie viel von dem
was ich heute weiß
hätte ich lieber nie gesehen

Dein Leben dreht sich nur im Kreis
So voll von weggeworfener Zeit
Deine Träume schiebst du endlos vor dir her
Du willst noch leben irgendwann
Doch wenn nicht heute wann denn dann
Denn irgendwann ist auch ein Traum zu lange her

Immer vorwärts Schritt um Schritt
es geht kein Weg zurück
und was jetzt ist wird nie mehr Ungeschehn
Die Zeit läuft uns davon
Was getan ist, ist getan
Und was jetzt ist wird nie mehr so geschehn
----------------------
:D

[Der Pinguin im "Cordanzug" ist klasse :-) ]

Grüsse von


Zucker

Jinto
11.06.03, 20:08
Trotzdem ist es (hmm wie umschreibe ich das jetzt nett? :p) unnötige arbeit einzelne IPs zu sperren, es gibt auch z. B. Netzmasken.

Bauchi
12.06.03, 01:06
also wenn du nur die blocklists fürn muli mit iptables umsetzen willst ist das glaub ich kein problem ... wie sinnvoll das ganze letztendlich ist kann ich aber nicht beurteilen .. da es immer noch genügend adressen von den ifpi/riaa/bsa leuten gibt die nicht öffentlich sind :-/

bye ...

btw.. kennen wir uns ??

Zucker
12.06.03, 16:21
Hi!

@Jinto: klar nutze ich netzmasken, aber es sind auch von denen ziemlich viele...
Die einzelnen hosts sind vielleicht 300-400, nicht mehr, der Rest (~6500) sind netzmasken...


@Bauchi:
> ..da es immer noch genügend adressen von den ifpi/riaa/bsa leuten gibt die
> nicht öffentlich sind :-/
ist mir schon klar, aber man updated die lists ja auch regelmässig, und die ip-ranges der firmen ändern sich ja net allzu oft. :-)

zu deiner Frage: nein, wir kennen uns nicht; aber -> SS1500-RIPE
;)


-------------
Also weiss keiner / kann keiner beurteilen wie sich so eine Menge an Einträgen auf die Performance auswirkt; da weerd' ich wohl das Testkaninchen sein....


Grüsse von


Zucker

HirschHeisseIch
12.06.03, 18:40
Generell wirst du so viele Einträge rein machen können, wie du Platz auf der Platte für das Script bzw. Zeit zu warten hast ;) Weiss net, obs da sonst noch Einschränkungen gibt. Kannst ja mal bei den Entwicklern anfragen.

Jinto
12.06.03, 18:50
@Zucker oder zucker4?
IIRC war in der Network-World mal einige Test (VPN), dabei wurden die Fähigkeiten von iptables unter Last gemessen. Die Zahlen kenn ich aber nichtmehr.

Wie stark sich die Regeln auswirken, hängt von deren Anordnung ab (man kann durch sinnvolle Anordnung, da schon einiges optimieren), oder aber man schaut sich mal www.hipac.org an.

6500 Netzmasken, kann man davon gar nix mehr zusammenfassen? Wer macht sich denn die Mühe alle diese IPs zu sammeln und zu kategorisieren?

PS: kannst du mir das Script mal zuschicken, ich würde es mir gerne mal ansehen.

EDIT:
paar Buchstaben drechsler angepasst

Belkira
12.06.03, 19:10
Und selbst wenn die Anzahl Einträge sich performancemäßig auswirkte, dann könntest Du alle Adressen immernoch baumartig sortieren/eintragen.

Zucker
14.06.03, 00:08
@Jinto: Zucker. :-)
Habe den Zuganz zum account wieder gefunden. :_)))

Von der sinnvollen Anordnung habe ich gehört, das stimmt.

Von wegen Anordnung: nun ja, das problem ist bei iptables das ich keinen Subnet-Range direkt eingeben kann; also in der form:

135.149.123.0/24-135.149.127.0/24
oder
135.149.123.0/24:135.149.127.0/24

Ich muss dann schon alle - in diesem Fall nur 5 Subnets explizit ausschreiben:
135.149.123.0/24
135.149.124.0/24
135.149.125.0/24
135.149.126.0/24
135.149.127.0/24

Dementsprechend wenn das ein Range von z.B.

135.149.1.0/24-135.149.240.0/24

ist, dann sind es ja auch 240 Eintragungen.

Und bei 15-20 Größeren Firmen wird es deswegen richtig viel...
Und dann kommen noch die kleineren dazu...

---

Diese Blocklists liegen in der Originalform im Textformat für die Benutzung mit Sygate's Personal Firewall unter Windows.
Zu bekommen sind die unter

http://brytechsolutions.com/~zeroxdata

Heute, den ganzen Freitag, ist aber die HP nicht erreichbar...


Was das script angeht - morgen im Laufe des Tages werde ich hier die URL mittelen.

Grüsse von


Zucker

Zucker
14.06.03, 00:55
hier ist es:


http://netzgamer.dyndns.org/lipz



Grüsse von


Zucker

Jinto
14.06.03, 12:40
Da könntest aber statt:
135.149.123.0/24 135.149.124.0/24 135.149.125.0/24 135.149.126.0/24 135.149.127.0/24

folgendes schreiben (hoffe mich nicht verrechnet zu haben):
135.149.123.0/24 135.149.124.0/22

Sinnvolle Anordnung:
Mit sinnvoller Anordnung meinte ich einerseits auch die wichtigen Regeln am Anfang zu platzieren und andererseits die von Belkira vorgeschlagene Baumartige Struktur.

Mal ein kleines Beispiel in Pseudocode
Standard-Filter-Kette
out dport 80 OK
in dport 4662 Springe zu DonkeyKette

Donkeykette
in source 217.0.0.0/8 Springe zu Telekomkette

Telekomkette
in source 217.x.y.0/24 Schmeissweg


NACHTRAG:
Tipfehler korrigiert und vergssene Netzmaske nachgetragen

Zucker
14.06.03, 16:24
@Jinto:

jaa!

Also die Schreibweisen

123.123.123.0/8
123.123.123.0/16
123.123.123.0/24

und was damit gemeint wird kenne ich. Wie kommt man denn zu

135.149.124.0/22 ?

Ich habe schon versucht zur solchen Beschreibung eines bestimmten IP-ranges gesucht - aber offenbar nicht gut & lange genug.

Könntest Du kurz erklären, wie man dies berechnet / definiert?

Denn dann könnte ich auch wirklich die Baumstruktur für die Regeln verwenden!

Danke und

Grüsse von


Zucker

Jinto
14.06.03, 17:18
Die Netzadresse ergibt sich aus der logischen UND-Verknüpfung zwischen Adresse und Netzmaske.
/24= 11111111.11111111.11111111.00000000
Die 1 der Netzmaske muss links starten und darf nicht unterbrochen werden (an die MCSE's: kann man in der RFC nachlesen *SCNR*)

Anders ausgedrückt: Es ist egal, welche Konstellation die letzen 8-Bit einer Adresse habe, für die Netzbetrachtung sind nur die ersten 24-Bit ausschlaggebend.

zurück zum Beispiel:
135.149.123.0/24 135.149.124.0/24 135.149.125.0/24 135.149.126.0/24 135.149.127.0/24
haben alle die Netzmaske /24, aus diesem Grund ergibt sich aus der Verküpfung für das letzte Byte immer 0 => man kann das letzte Byte ignorieren. Aufgrund oben genannter Regel der blende ich zur Vereinfachung auch noch den linken Teil aus und betrachte nur noch die 123:

123= 0111 1011
124= 0111 1100
125= 0111 1101
126= 0111 1110
127= 0111 1111

Bei den Zahlen zwischen 124-127 verändern sich nur die letzten zwei Bits und nehmen dabei alle möglichen Kombinationen an. Aus diesem Grund wird mit der UND-Verknüpfung (1111 1100) immer die gleiche Zahl erzeugt: 124
Die 123 fällt aus diesem Schema heraus, da das dritte Bit einen anderen Wert hat und das Löschen von Bit 3 die Zahlen zwischen 120-127 verändern würde.

Die Netzmaske sieht jetzt also so aus: 11111111.11111111.11111100.00000000 => /22 (22 Einser von links)

Falls du mit der Erklärung nichts anfangen kannst bzw. es genau nachlesen willst, such einfach nach CIDR (besonders im RFC-editor (http://www.rfc-editor.org) solltest du unter CIDR fündig werden).

PS: Man kann es auch mit Dezimalzahlen rechnen, das liegt mir jedoch nicht. Ich bevorzuge Binär- oder Hexdarstellung.