Iptables Zielvorgaben unter Linux

Für die Filter-Tabelle, sind die am häufigsten verwendeten Ziele für die Firewall-Regeln DROP und ACCEPT. Wenn eine Regel die Filterung Spezifikationen entspricht und ein Drop-Ziel, wird das Paket einfach verworfen werden. Wenn ein Paket in der Regel mit ein Drop-Ziel entspricht, wird der Linux-Kernel das Paket verworfen wird ohne Rücksprache mit anderen Regeln in der Firewall. Wenn das Ziel ist ACCEPT, dann wird das Paket ohne weitere Konsultation der anderen Firewall-Regeln akzeptiert.
Eine Alternative zu DROP ist die REJECT-Ziel, welches das Paket Tropfen, sondern sendet ein ICMP-Paket an die Quell-IP des Pakets. Standardmäßig wird die Ziel-Port ein REJECT ICMP "nicht erreichbar" an den Absender schicken, aber die überschrieben werden können mit dem "- reject-with"-Schalter.
Das Ziel in eine iptables-Regel kann auch verwendet werden, um ein Paket an eine benutzerdefinierte Kette weiterzugeben. Zum Beispiel, wenn wir eine neue Kette wie "iptables-N SSH", müssen wir den Kernel anweisen, für diese Kette für alle eingehenden TCP-Verbindungen auf Port 22 wie folgt aussehen:

  

iptables-A INPUT-p tcp - dport 22-j SSH

Eine weitere nützliche LOG Ziel ist, die verwendet werden, um Pakete, ein Filter-Spezifikation in der Kernel-Log, das mit dmesg syslogd oder gelesen werden kann, anmelden können. LOG-Target Optionen sind verfügbar:

 

  • - log-level-Ebene: Die Höhe der Protokollierung kann einen Namen oder eine Nummer. Die gültigen Namen sind debug, info, Hinweis-, Warn-, err, crit, alert und Schwellenländern mit den entsprechenden Zahlen von 7 bis 0.
  • - log-prefix: Melden Sie sich Präfix wird von einer Reihe von bis zu 29 Zeichen folgen, die zu Beginn des Log-Nachricht gesetzt.
  • - log-tcp-sequence: Protokolliert TCP-Sequenznummern.
  • - log-tcp-options: Protokolliert die Option Bereich der TCP-Paket-Header.
  • - log-ip-options: Protokolliert die Option Bereich der IP-Paket-Header.
  • - log-uid: Protokolliert die Benutzer-ID des Prozesses, der das Paket generiert.

 

Das LOG Ziel ist nicht ein abschließendes Ziel wie ACCEPT, DROP und REJECT. Dies bedeutet, dass wenn ein Paket in der Regel, dass der LOG-Target hat übereinstimmt, sieht der Kernel die Regeln, die auch dieses Paket zutrifft folgen. Eine Mindestgröße für Regeln mit LOG Ziele wäre eine gute Idee, um Überschwemmungen zu verhindern die Log-Dateien.

Als ein Beispiel, früher haben wir die SSH-Kette und weitergegeben Pakete kommen in den Port 22/tcp. Jetzt wollen wir auf eingehende SSH-Verbindungen von 192.168.0.0/27 und 10.10.15.0/24, zum Beispiel zu akzeptieren, und melden Sie alle anderen Versuche, aber wir beschränken Protokollierung auf 5 / s, weil im Fall eines SYN-Flut auf Port 22/tcp, würde die Protokolle schnell füllen.

Zunächst werden wir die Regeln, den SSH-Kette anhängen, um Verbindungen von vertrauenswürdigen Hosts zu ermöglichen:

iptables-A SSH-s 192.168.0.0/27-j ACCEPT
iptables-A SSH-s 10.10.15.0/24-j ACCEPT

Als nächstes fügen wir die Logging-Regel:

iptables-A SSH-m limit - limit 5 / s-j LOG

Und dann alle anderen Verbindungen:

iptables-A SSH-j DROP

Wir müssen die Konfiguration zu überprüfen, und wir werden iptables-L-n für diese Verwendung. Wir werden sehen, in der INPUT-Kette:


root @ Router: ~ / lucix # iptables-L-n

Und wir werden sehen, den SSH-Kette:

Chain SSH (1 Verweise)
target prot opt source destination
ACCEPT all - 192.168.0.0/27 0.0.0.0 / 0
ACCEPT all - 10.10.15.0/24 0.0.0.0 / 0
LOG all - 0.0.0.0 / 0 0.0.0.0 / 0 limit: avg 5/sec burst 5 LOG flags 0 level 4
DROP all - 0.0.0.0 / 0 0.0.0.0 / 0

So testen Sie die SSH-Kette wir werden versuchen, Port 22 von einem nicht autorisierten Host telnet. Mit iptables-L-n-v, wir werden sehen, dass das Paket die LOG-und DROP Regel zutrifft:


Chain SSH (1 Verweise)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all - * * 192.168.0.0/27 0.0.0.0 / 0
0 0 ACCEPT all - * * 10.10.15.0/24 0.0.0.0 / 0
1 48 LOG all - * * 0.0.0.0 / 0 0.0.0.0 / 0
limit: avg 5/sec burst 5 LOG flags 0 level 4
1 48 DROP all - * * 0.0.0.0 / 0 0.0.0.0 / 0

Nun, wenn man sich die Protokolle mit dmesg, werden Sie sehen:

IN = eth0 OUT = MAC = 00: d0: b7: a7: 6f: 74:00:04:23: CF: 14: e6: 08:00 SRC = 192.168.168.168 DST = 192.168.0.1 LEN = 48 TOS = 0x00 PREC = 0x00 TTL = 109 ID = 54250 DF PROTO = TCP SPT = 27276 DPT = 22 WINDOW = 16384 RES = 0x00 SYN URGP = 0

die uns sagt, dass 192.168.168.168 versucht, eine Verbindung über Port 22 TCP.

Ein Artikel eingereicht von Philip A Clare


Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle.
Wichtig: Dieser Artikel "Iptables Zielvorgaben unter Linux" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.


Online: 299 users browsing the articles directory