IPCHAINS

back

Ipchains

Befehl zur Systemverwaltung, Editiren von IP-Firewall Regeln in 2.2 Linux kerneln. Ein 2.2
Kernel mit Firewall- Unterstüzung untersucht die Heade aller Netzwerkpakete und
vergeleicht diese mit Musterregeln, um zu sehen was er mit dem Paket tun soll. Eine Firewall-
Regel besteht aus einem Suchkriterium und einem Ziel(Target) , einem Resultat, das
verwendet werden soll, wenn das Suchkriterium auf das Paket zutriff. Diese Regeln sind in
Ketten organisiert. Sie können damit eine Firewall aufbauen oder einfach bestimmte
Netzwerkverbbindungen ablehnen.

Firewall Regeln sind in Ketten organisiert, einer geordneten Checkliste, die der Kernel
abarbeitet um nach Treffern zu suchen. Es gibt drei eingebaute Ketten namens INPUT,
OUTPUT und FORWARD. Pakete, die in das System kommen, werden mit der input-Kette
getest et, Pakete die das System verlassen, gegen die output-Kette und eingehende Pakete, die
für ein anderes System gedacht sind , gegen die forward-Kette. Jede dieser Ketten hat ein
Default-Ziel, das verwendet wird, wenn kein Treffer gefunden wurde. Es können auch
benutzerdefinierte Ketten erzeut und áls Ziel für Pakete verwendet werden, diese haben aber
keine Default-Ziele. Wenn ine einer benutzerdefinierten Kette kein Treffer gefunden wurde,
wird das Paket an die Kette zurückgegeben, aus der die benutzerdefinierte Kette aufgerufen
wurde, und mit der nächsten Regel in der Kette verglichen.

IPCHAINS ändert nur die Regenl im laufenden Kernel. Wenn das Systemabeschaltet oder
neu gestartet wird, gehen diese Änderungen verloren. Sie können den Befehl ipchains-save
verwenden, um ein Skript zu erzeugen, mit demSie später mit ipchains-restore Ihre Firewall
Einstellungen restaurieren können. Solchen Skripten werden oft beim Systemstart aufgerufen;
viele Distributionen haben ein Initialiesierungsskript für ipchains, das die Ausgaben von
ipchains-save verwendet.

Befehle:

Ipchains wird immer mit der der folgenden Befehle aufgerufen:

-A Kette Regeln, --append Kette Regeln
Die Regeln an die Kette anhängen.

-I Kette Zahl Regeln, --insert Kette Zahl Regeln
Die Regeln an der durch Zahl angegebenen Positionen in die Kette einfügen

-D Kette Regeln, --delete Kette Regeln
Regeln aus der Kette löschen. Die Regeln können durch ihre Positionsnummer in der
Kette und durch eine allgemeine Regelbeschreibung angegeben werden.

-R Kette Zahl Regel, --replace Kette Zahl Regel
Eine Regel in der Kette ersetzen. Die zu ersetzende Regel wird durch ihre Position mit
Der Zahl angegeben.

-C Kette Regel, --check Kette Regel
Ein Netzwerkpaket erzeugen, das auf die angegebene Regel passt, und überprüfen,
was die die Kette damit macht. Die Regel muß die Quelle, das Ziel, das Protokoll und
die Schnittstelle des zu konstruierenden Paketes angeben.

-L Kette, --list Kette
alle Regeln in Kette ausgeben. Wenn keine Kette angegeben wird, alle Regeln in allen
Ke tten ausgeben

-ML, --masquerading –list
Maquerading- Verbindungen ausgeben.

-MS tcp tcpin udp, --masquerading –set tcp tcpfin udp
Timeout-Werte in Sekunden für Masquerading-Verbindungen festlegen.
-MS erwartet immer drei Parameter, die die Timeout-Werte für TCP-Sitzungen,
TCP-Sitzungen, die ein FIN-Paket empfangen haben, und UDP-Pakete angeben.

-F Kette, --flush Kette
Alle Regeln aus Kette entfernen.

-Z Kette, --zero Kette
Die Zähler für Pakete und Bytes in Kette zurücksetzen, Wenn keine Kette angegeben
wird, werden die Zähler in allen Kettenzurückgesetzt. Wenn keine Kette angegeben
wird, dafür aber auch der Befehl –L, dann werden die aktuellen Zählerwerte vor dem
Zurücksetzen ausgegeben.

-N Kette, --new-chain Kette
Eine neue Kette erzeugen. Der Namer der Kette muß eindeutig sein.

-X [Kette], --delete-chain Kette
Kette löschen. Nur benutzerdefinierte ketten können gelöscht werden, und es darf auch
Keine Referenzen auf die zu löschende Kette mehr geben. Wenn kein Argument
Angegeben wird, weden alle benutzerdefinierten Ketten gelöscht.

-P Kette Ziel. –policy Kette Ziel
Das Defaul-Ziel für einen eingebaute Kette angegeben, das Ziel darf nicht selbst
Wieder eine Kette sein.

-h [icmp]
Einen kurzen Hilfetext ausgeben. Wenn die Option icmp angegeben wird, wird eine
Liste der zulässigen ICMP-Typen ausgegeben.

Ziele
Ein Ziel kann der Name einer Kette oder einer der folgenden Werte sein:

ACCEPT
Das Paket durchlassen

DENY
Das Paket verwerfen.

MASQ
Das Paket maskieren, so das es aussieht, als käme es vom aktuellen System.
Entegegengesetzete Pakete aus maskierten Verbindungen werden automatisch
Demaskiert. Dieses Ziel ist nur für die Kette forward oder benutzerdefinierten Ketteen,
die zumWeiterleiten von Paketen verwendet werden, zulässig. Um dieses Ziel
verwenden zu können, muß IP-Maquerading in den Kernel einkompiliert sein.

REDIRECT [PORT]
Eingehende Pakete auf einen lokalen Port umleiten, auf dem ein transparenter Proxy
Läuft. Wenn der angegebene Port 0 ist oder keiner angegeben ist, wird der Ziel-Port
Des Paketes als Port für die Umleitung verwendet. REDIRECT ist nur in der
input-Kette oder in bentzerdefinierdeten Ketten, die für eingehende Pakete verwendet
werden zulässig. Unterstützung für transparente Proxies muß in den Kernel
einkompiliert sein.

REJECT
Das Paket verwerfen und eine ICMP-Nachricht an den Abseder schicken, die mitteilt,
dass das Paket verworfen wurde.

RETURN
In die Kette zurückkehren, aus der diese Kette aufgerufen wurde, du die nächste
Regel überprüfen. Wenn RETURN das Ziel einer eingebauten Kettee ist, wird das
Default-Ziel der eingebauten Kette verwedet.

Parameter für Regelspezifikationen

Diese Optionen werden dazu benutzt, Regeln zur Verwendung mit den vorstehenden Befehlen
zu erzeugen. Regeln bestehen aus einem Suchkriterium und üblicherweise einem Ziel, zu dem
gesprungen werden soll (-j), wenn das Suchkriterium erfüllt wurde. Viele der Parameter für
diese Suchkriterien können durch Voranstellen eines Ausrufungszeichens (!) auch in ihrer
logischen Bedeutung umgedreht werden. Diese Regeln passen dann auf alles außer den
angegebenen Parameter.

-p [!] Name, --protocol [!]Name
Die Regelö paßt auf Pakete des Protokols Name. Der Wert von Name kann als Name
Oder in der Dateien /etc/protocols vorhandene Zahl angegeben werden. Die
Gängigsten Werte sind tcp, udp, icmp und der spezielle Wert all; dies ist auch der
Defaultwert, wenn diese Option nicht verwedet wird.

-s [!] Adresse[/Maske] [!] [Port], --source [!] Adresse[/Maske] [!] [Port]
Gibt die Quell-Adresse und den Port an, auf die diese Regel passt. Die Adresse kann
In Form eines Hostnamens, eines Netzwerknamens oder einer IP-Adresse angegeben
Werden. Die optionale Maske ist die zu verwendende Netzmaske, die entweder in
Traditioneller Form (also z.B. /255.255.255.0) oder in der modernen Form (z.B. 24)
Angegeben werden. Der optionale Port gibt den TCP-, UDP- oder ICMP Typ an, der
Paßt. Si e können nurdann eine Portspezifikati on angeben , wenn Sie den Parameter –p
Mit einem der Protokolle tcp, udp oder icmp angegeben haben. Ein Doppelpunkt kann
Verwendet werden, um Bereiche von Ports oder ICMP-Werten anzugeben
(beispielsweise 20:25 für die Ports 20-25). Wenn der erste Port-Parameter fehlt, ist der
Defaultwert 0, wenn der zweite fehlt, ist der Defaultwert 65535.

-d [!] Adresse[/Maske] [!] [Port], --destination [!] Adresse[/Maske] [Port]
Die Regel paßt auf Pakete mir der Ziel-Adresse, Die Syntax dieses Befehlsparameters
Ist die gleiche wie bei der Option –s.

-j Ziel, --jump Ziel

-j Ziel, --jump Ziel
Zu einem bestimmten Ziel oder einer benutzerdefinierten Kette springen. Wenn diese
Option für eine Regel nicht angegeben wird, dann führen Treffer bei dieser Regel nur
Zum Erhöhen der Zähler der Regel, und das Paket wird mit der nächsten Regel
Verglichen.

-i [!] Name, --interface Name
Die Regel paßt auf Pakete von der Schnittstelle Name[+]. Name ist die von Ihrem
System verwendete Netzwerk-Schnittstelle (also z.b. eth0 od. ppp0). Ein + kann
Als Jokerzeichen verwendet werden, ppp+ würde also beispielsweise auf jede Schnitt-
Stelle passen, deren Name mit ppp beginnt.

[!] –f, [!] –Fragment
Diese Regel passt auf alles außer dem ersten Fragment eines fragmentierten Paketes.

--source-port[!] Port
Die Regel passt auf Pakete mit dem Quellport Port. Die Syntax zum Angeben von
Ports finden Sie bei der Beschreibung der Option –s.

--destination-port [!] Port
Die Regel passt auf Pakete mit dem Zielport Port. Die Syntax zum Angeben von
Ports finden Sie bei der Beschreibung der Option –s.

--icmp-type [!] Typ
Die Regel passt auf Pakete mit dem ICMP-Typ (Name oder Nummer).

Optionen

-b, --bidirectional
Stellt eine Regel sowohl in die Eingangs- als auch die Ausgangs-Kette, damit Pakete
In beiden Richtungen geprüft werden.

-v, --verbose
Verbose-Modus

-n, --numeric
Die IP-Adresse und Port-Nummern in numerischer Form ausgeben. Defaultmäßig
Werden, wo möglich, Namen angezeigt.

-l, --log
Informationen über passende Pakete in das Systemprotokoll schreiben.

-t Undmaske Xormaske, ---TOS Undmske Xormaske
Ändert das Type of Service-Feld im Header der Paketes. Das TOS-Feld wird zunächst
Mit der 8 Bit breiten hexadezimalen Maske Undmaske durch ein logisches UND
Verknüpft, dann mit der 8 Bit breiten hexadezimalen Maske Xormaske dur XOR
Verknüpft. Regeln, die das minderwertigste Bit (LSB) des TOS-Feldes betreffen
Würden, werden zurückgewiesen.

-x, --exact
-x, --exact
Alle Zahlen in einer Liste (-L) expandieren. Den exakten Wert der Paket- und
Byte-Zähler anstellen vn gerundeten Werten anzeigen.

[!] –y, --syn
Nur diejenigen TCP-Verbindungsanfragen passen, die denen das SYN-Bit gesetzt
Und die ACK- und FIN-Bits gelöscht sind. Damit werden eingehende
TCP-Verbindungen blockiert, ausgehende bleiben unbeinträchtigt.

--line-numbers
Wird zusammen mit dem Befehl –L verwendet. Fügt jeder Regel im Listing die
Zeilennummer hinzu, die die Position in der Kette angibt.

--no-warnings
Alle Warnungen abschalten.
Ipchains-restore [Optionen]

Befehl zur Systemverwaltung. Stellt Firewall-Regeln wieder her. ipchains-restore arbeitet
mit Befehlen, die von ipchains-save generiert wurden und vwerwendet diese, um die Fire-
Regeln für alle Ketten wieder herzustellen. Wird oft von Inititialisierungsskripten verwendet,
um die Firewall-Einstellungen beim Booten festzulegen.

ipchains-restore
Opttonen

-f Erzwingt Aktualisierungen der existierenden Ketten ohne Rückfrage
-v Regeln ausgeben, die wiederhergestellt werden.
-p Wenn eine nicht-existierende Kette Ziel einer Regel ist, diese Kette
erzeugen.
ipchains-save
Ipchains-save [Kette] [Optionen]

Befehl zur Systemverwaltung. Gibt die IP-Firewall-Regeln, die derzeit im
Kernel gespeichert sind, auf stout aus. Wenn keine Kette angegeben wird,
werden alle Ketten ausgebeben. Die Ausgabe wird normalerweise in eine
Datei umgleitet, die dann später von ipchains-restore zum
Wiederherstellen der Firewall verwendet werden kann.

Optionen

-v Dir Regeln sowohl auf stderr als auch auf stdout ausgeben, was sie
beim Umleiten der Ausgabe besser sichtbar macht.