Hi.
(erstmal: bittet haltet mich nicht für verrückt)
Ich möchte mit IPtables große Adressebereich aussperren.
Ich rede von einer IP-Bereichs-Tabelle, die ca. 80kb groß ist.
Es sind 3647 Zeilen von IP-Bereichen, die mittels BASH Script an IPtables übergeben möchte.
Allerdings mach ich mir da sorgen, dass der Kernel, in dem ja meines wissen der Paketfilter abläuft, damit seine stabilität und performance enorm einbüßt?
Ist dem so, oder schafft der das ohne Mühe?
Gruß
Hat der Kernel-Paketfilter Grenzen?
diese iptables-Regeln werden linear abgearbeitet, daher sind sie auch nicht dafür gedacht größere Mengen von IP Bereichen zu definieren. Als größere Mengen würde ich die 3647 Zeilen allerdings gerade noch nicht bezeichnen. Kommt natürlich auch darauf an, wie oft diese Regeln durchlaufen werden.
Schau dir einmal das "recent" Modul an, dieses arbeitet mit Hasttabellen und ist daher für größere Datenmengen geeigneter. Einzelne IP's kannst du über einfache Kommandos in deine Tabelle hinzufügen:
zur Abfrage ob eine IP in dieser Liste vorhanden ist, genügt dann eine iptables-Regel, z.B:
allerdings gibt es hier leider keine Möglichkeit ganze IP Bereiche zu definieren.
Wenn du dieses Feature umbedingt benötigst. dann würde ich doch erst einmal testen, wie der Kernel mit deinen Regeln zurechtkommt und wenn die Performance nicht akzeptabel ist, auf das NFQUEUE Target umsteigen.
Gruß
gms
edit: Ich habe hier noch einen Link herausgesucht. Ein interessantes Dokument zu diesem Thema:
http://www.ee.calpoly.edu/3comproject/P ... curity.pdf
Wenn die Performancetests am Ende noch zutreffen, würde ich doch lieber auf das RECENT Modul, NFQUEUE oder eine auf NFQUEUE basierende Firewall wie http://www.hipac.org/ zurückgreifen.
Schau dir einmal das "recent" Modul an, dieses arbeitet mit Hasttabellen und ist daher für größere Datenmengen geeigneter. Einzelne IP's kannst du über einfache Kommandos in deine Tabelle hinzufügen:
Code: Alles auswählen
echo xx.xx.xx.xx > /proc/net/ipt_recent/DEINELISTE
Code: Alles auswählen
iptables -A CHAIN -m recent --name DEINELISTE --rcheck -j DROP
Wenn du dieses Feature umbedingt benötigst. dann würde ich doch erst einmal testen, wie der Kernel mit deinen Regeln zurechtkommt und wenn die Performance nicht akzeptabel ist, auf das NFQUEUE Target umsteigen.
Gruß
gms
edit: Ich habe hier noch einen Link herausgesucht. Ein interessantes Dokument zu diesem Thema:
http://www.ee.calpoly.edu/3comproject/P ... curity.pdf
Wenn die Performancetests am Ende noch zutreffen, würde ich doch lieber auf das RECENT Modul, NFQUEUE oder eine auf NFQUEUE basierende Firewall wie http://www.hipac.org/ zurückgreifen.
Re: Hat der Kernel-Paketfilter Grenzen?
Da eignet sich ipset oder wie gesagt das NFQUEUE target in Kombination mit z.B. iplist.tjhooker hat geschrieben:Ich möchte mit IPtables große Adressebereich aussperren.
Ich rede von einer IP-Bereichs-Tabelle, die ca. 80kb groß ist.
Es sind 3647 Zeilen von IP-Bereichen, die mittels BASH Script an IPtables übergeben möchte.