Login
Newsletter
Werbung

Mo, 4. Dezember 2000, 00:00

Firewall - Teil 2

Regeln aufstellen mit ipchains

Ipchains dient zur Formulierung der Regeln für die Firewall. Mit jedem Aufruf von ipchains wird eine Regel erstellt.

Eigenschaften der Pakete

Die Regel enthält die Eigenschaften eines IP-Pakets und die Aktion, die ausgeführt wird, wenn das Paket die angegebenen Eigenschaften erfüllt.

Eigenschaften der IP-Pakete:

  • Quelladresse
  • Quellport
  • Zieladresse
  • Zielport
  • Protokoll
  • Netzwerkinterface
  • ICMP-Nachrichtentyp
  • TCP-Flags
  • Richtung des Datenverkehrs: eingehend (incoming) oder ausgehend (outgoing)

Aktionen des Paketfilters30

Die einzelnen Eigenschaften lassen sich beliebig kombinieren. So ist es möglich, allgemeinere Regeln aufzustellen oder durch Zugabe weiterer Eigenschaften die Regel zu verfeinern. Eine Negation einzelner Eigenschaften innerhalb einer Regel ist ebenfalls möglich.31

Die möglichen Aktionen der Regeln:

  • Accept

Das Paket wird angenommen und normal weiterverarbeitet.

  • Deny

Das Paket wird abgelehnt und verworfen.

  • Reject

Das Paket wird abgelehnt und zusätzlich wird ein ICMP-Paket des Typs 3 (destination unreachable) an den Absender gesendet.

  • Redirect

Das Paket wird auf einen beliebigen Computer auf einen anderen Port umgeleitet, um dort verarbeitet zu werden. Beispielsweise lassen sich alle eingehenden Pakete auf Port 80 aus dem Internet an einen beliebigen Port weiterleiten, auf dem ein Webserver läuft.

  • Masq

Die IP-Adresse des Pakets wird mit der IP-Adresse des Firewallrechners ersetzt. Das Paket scheint nun von der Firewall selber zu kommen. Diese Aktion wird für ausgehende Pakete des lokalen Netzes genutzt, um deren private IP-Adressen in eine gültige IP-Adresse umzuwandeln.32

Regellisten33

Eine Regel wird durch Eigenschaften und Aktion definiert. Die aufgestellten Regeln werden in Regellisten zusammengefaßt. Standardmäßig gibt es drei dieser Regellisten (chains):

  • Input

Die Inputliste gilt für eingehende Pakete.

  • Output

Die Outputliste ist für ausgehende Pakete.

  • Forward

Die Forwardliste ist für Pakete, die von einem Netzwerkinterface zu einem anderen weitergeleitet werden. Pakete des lokalen Netzes, die in das Internet wollen, passieren diese Liste.

Die Regeln einer Liste werden der Reihe nach von oben nach unten abgearbeitet. Die erste Regel, die eine Übereinstimmung liefert, wird ausgeführt. Spezielle Regeln müssen deshalb unbedingt vor allgemeineren stehen.

Zusätzlich zu diesen drei Standardregellisten besteht die Möglichkeit, eigene, benutzerdefinierte Regellisten zu erstellen. Beispielsweise können alle eingehenden Pakete des Typs TCP an die Regelliste "tcp" gehen, in der alle Regeln für TCP-Pakete definiert sind. In der input-Regelliste steht dann nur eine Regel, die TCP-Pakete an die speziell eingerichtete tcp-Liste weiterleitet. Dadurch läßt sich das Firewallskript besser gliedern und übersichtlicher gestalten.34

Ipchains-Befehle35

Die wichtigsten Befehle von ipchains:

Befehl Kurzbezeichnung Parameter Beschreibung
--add -A =name der regelliste> Hängt die Regel an die Regelliste an
--delete -D =n d r> =position/regel> Löscht die Regel aus der Regelliste. Es muß entweder die Position der Regel oder die Regel selber angegeben werden
--insert -I =n d r> =position> =regel> Fügt die Regel an der angegebenen Position an
--replace -R =n d r> =position> =regel> Ersetzt die Regel an der angegebenen Position durch die neue Regel
--list -L [ =n d r> ] Zeigt alle Regellisten oder die Regelliste mit all ihren Regeln an
--flush -F [ =n d r> ] Löscht alle Regellisten oder alle Regeln in der angegebenen Liste
--check -C =n d r> Testet die Reaktion der Regellsite auf dieses Paket
--new -N =n d r> Legt eine neue nicht-Standard-Regelliste an
--delete -X =n d r> Löscht eine leere(!) nicht-Standard-Regelliste.
--policy -P =n d r> =accept/ reject/ deny> Legt die Default Policy für die angegebene Regelliste fest.
-masquerade -M -L Gibt die Liste aktuell maskierter Verbindungen aus

Ipchains-Optionen36

Die wichtigsten Optionen von ipchains:

Option Kurzbezeichnung Parameter Beschreibung
--bidirectional -b Erstellt automatisch eine Regel für die entgegengesetzte Richtung, bei der die Quell- und Zieladresse vertauscht sind, um den Pakettransfer in beide Richtungen zu erlauben
--proto -p [!] =protokoll> Protokolltyp des Pakets, wie tcp,udp, icmp
--source -s [!] =address>[/=mask>] [!] [=port>[:=port>]] Spezifiziert die Quelladresse und optional den Quellport des Pakets
--source-port [!][=port>[:=port>]] Spezifiziert den Quellport des Pakets, sollte die Angabe -s in der Regel fehlen
--destination -d [!] =address>[/=mask>] [!] [=port>[:=port>]] Spezifiziert die Zieladresse und optional den Zielport
--destination-port [!][=port>[:=port>]] Spezifiziert den Zielport, sollte die Angabe -d in der Regel fehlen
--icmp-type [!] =typ> Festlegung des ICMP Typs. Entweder als Nummer oder Bezeichnung

--interface -i [!] =Netzwerkschnittstelle> [+] Legt die Netzwerkschnitt-stelle fest. Ein "+" steht für alle Schnittstellen des Typs
--numeric -n Gibt die Nummern von IP-Adressen und Ports aus
--log -l Das Paket wird in /var/log/messages mitprotokolliert
--verbose -v Erzeugt eine detailliertere Ausgabe
--exact -x Anzeige der Paket und Bytezähler
[!] -syn [!] -y Bezeichnet Pakete, bei denen das SYN-Flag gesetzt ist, also Pakete, die einen Verbindungsaufbau einleiten wollen

Hinweise zu den Tabellen:

Durch "!" wird die jeweilige Option negiert. Beispielsweise steht ! -d 134.127.13.3 für alle Zieladressen außer 134.127.13.3.

IP-Adressen und Subnetze lassen sich entweder in der Form 192.168.0.0/255.255.255.0 oder in der Form 192.168.0.0/24 angeben.

Durch ":" können nicht nur einzelne Ports, sondern ganze Bereiche angegeben werden. 0:443 z.B. steht für alle Ports von 0 bis 443.

Paketlauf

Die folgende Abbildung zeigt den Weg, den ein Paket durch den Kernel gehen muß.37

Abb. 5: Paketdurchlauf durch den Kernel

Felix Mack

Abb. 5: Paketdurchlauf durch den Kernel

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung