Iptables Allgemein: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „ ==Die Verwendung von Firewalls mit iptables== Der Linux-Kernel enthält fortgeschrittene Tools für Packet-Filtering, der Prozess für die Kontrolle von Net…“)
 
 
(20 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
+
*[[Die Verwendung von Firewalls mit iptables]]
 
+
*[[Iptables Tabellen]]
==Die Verwendung von Firewalls mit iptables==
+
*[[Iptables Ketten]]
 
+
*[[Iptables Regeln]]
Der Linux-Kernel enthält fortgeschrittene Tools für Packet-Filtering, der Prozess für die Kontrolle von Netzwerkpaketen bei ihrem Versuch einzudringen, durch und aus dem System hinaus zu dringen. Kernels vor der 2.4 Version konnten Pakete mit ipchains manipulieren, die Listen von Regeln verwendeten, die für Pakete in jeder Phase des Filterungsprozesses angewandt werden. Die Einführung des 2.4-Kernels hat iptables mit sich gebracht, die den ipchains gleichen, aber deren Wirkungsbereich und Kontrollmöglichkeiten bei der Filterung von Paketen erweitern.
+
*[[Iptables Funktion]]
 
 
 
 
Iptables beinhaltet das englische Wort tables, was für Tabellen steht, und genauso kann man es sich auch vorstellen, denn in seinen  3 Tabellen sammeln sich die Ketten in denen Regeln zum Kontrollieren, Manipulieren oder Extrahieren von Paketen angegeben werden.
 
 
 
===Tabellen===
 
Wie Pakete verarbeitet werden wird schon in den Tabellen vorgegeben. iptables besitzt standardmäßig drei Tabellen: '''mangle''', '''nat''' und '''filter'''.
 
 
 
Die Tabelle '''mangle''' (übersetzt: zerhauen) ermöglicht es dem Kernel, Daten im Paket-Header zu verändern.
 
 
 
'''NAT''' wird benutzt um interne und externe IP-Adressen zu übersetzen (= '''N'''etwork '''A'''dress '''T'''ranslation). Regeln in dieser Tabelle ändern die IP und/oder den Port des Ziels oder Quelle.
 
 
 
Die Tabelle '''filter''' prüft alle für die Firewall ankommenden Pakete und entscheidet ob sie durchgelassen oder geblockt werden.
 
 
Jede dieser Tabellen besitzt nun mehrere Ketten:
 
:'''mangle''' (Paketmanipulationen): enthält alle Ketten
 
:'''nat''' (Network Adress Translation): enthält die Ketten PREROUTING, OUTPUT und POSTROUTING
 
:'''filter''' (Paketfilter): enthält die Ketten FORWARD, INPUT und OUTPUT
 
 
 
===Ketten===
 
Die Ketten sind eine Sammlung von Regeln. D.h. das jede Kette mehrere Regeln besitzen kann um ein Paket durchzulassen oder zu blockieren. Es sind fünf Typen von Standardketten vorhanden. Manche dieser Ketten werden von allen Paketen und einige nur, je nachdem welches Ziel sie haben, durchlaufen. Man könnte auch sagen die Ketten unterscheiden '''wo''' welche Regeln angewendet werden. Die Regeln einer Kette werden nacheinander abgearbeitet und wenn eine zutrifft, ist die Bearbeitung in dieser Kette beendet (es gibt Ausnahmen):
 
 
 
*'''PREROUTING''': alle Pakete kommen hier durch bevor eine Routing-Entscheidung getroffen wird
 
*'''FORWARD''': für alle Pakete, die von der einen zu einer anderen Netzwerkschnittstelle weitergeleitet werden - also keine Pakete die an einen lokalen Dienst gerichtet sind
 
*'''INPUT''': für Pakete die über eine Schnittstelle hereinkommen und einen Dienst auf dem Rechner ansprechen
 
*'''OUTPUT''': für die über eine Schnittstelle herausgehenden Pakete, die von einem lokalen Dienst kommen
 
*'''POSTROUTING''': alle Pakete kommen am Ende der Verarbeitung hier durch
 
 
 
===Regeln===
 
 
 
Mit einer Regel wird entschieden was mit einem Paket passieren soll. Jede besitzt bestimmte Parameter nach denen sie überprüft ob die Informationen eines Paketes auf sie zutreffen. Wenn die Parameter zutreffend sind, wird das Paket meist an ein neues Ziel verwiesen oder es wird eine Methode angewandt. Für die Bearbeitung der Pakete gibt es mehrere Ziele und Methoden. Häufig benutzte sind:
 
 
 
*'''ACCEPT''': das Paket kann passieren
 
*'''REJECT''': das Paket wird zurückgewiesen und ein Fehlerpaket wird gesendet
 
*'''LOG''': schreibt einen Eintrag in die syslog
 
*'''DROP''': das Paket wird ignoriert und keine Antwort gesendet
 
*'''REDIRECT''': die Ziel-Adresse des Paketes wird hiermit so verändert, dass es zum lokalen Rechner gesendet wird
 
*'''MASQUERADE''': die Quell-Adresse des Paketes wird durch die IP-Adresse der Schnittstelle ersetzt, auf dem es den Rechner verlässt
 
*'''SNAT'''
 
*'''DNAT'''
 
 
 
----
 
 
 
Somit funktioniert iptables wie eine Art Sammlung von Schablonen die nacheinander auf ein Paket abgebildet werden und bei einem Treffer eine bestimmte Aktion auf das Paket ausführen. Falls keine der Schablonen passen sollte wird eine Standard Aktion ausgeführt die für alle Pakete gilt die nicht auf eine Schablone passen.
 
 
 
Konzept-Bild
 
 
 
[[file:iptables-konzept.jpeg|750px]]
 

Aktuelle Version vom 8. September 2022, 20:08 Uhr