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.