Zum Inhalt springen

IPTables, nftables, ipchains, firewalld

SYN ACK

IPTables ist ein Tool, das unter Linux verwendet wird, um die Netzwerksicherheit zu verbessern, indem es den Datenverkehr auf einem Rechner kontrolliert und filtert. Es ist ein Teil des Linux-Kernels und bietet eine Firewall-Funktionalität, um den eingehenden und ausgehenden Datenverkehr auf einem Computer zu überwachen und zu steuern. IPTables kann verwendet werden, um Regeln für den Datenverkehr zu erstellen, um den Zugriff auf bestimmte Netzwerkressourcen zu beschränken oder zu erlauben.

Typischerweise wird IPTables von Netzwerkadministratoren eingesetzt, um die Sicherheit von Servern zu erhöhen oder um den Netzwerkzugriff von Benutzern zu beschränken. Die Verwendung von IPTables kann dabei helfen, unerlaubte Zugriffe auf Netzwerkressourcen zu verhindern, indem es den Datenverkehr blockiert, der nicht den vorgegebenen Regeln entspricht.

Um IPTables zu nutzen, müssen Sie eine Konfigurationsdatei erstellen, in der Sie die Regeln für den Datenverkehr definieren. Sie können die Konfiguration über die Befehlszeile oder eine grafische Benutzeroberfläche bearbeiten und die Regeln anpassen, um den Netzwerkzugriff zu steuern. Wenn Sie die Regeln erfolgreich konfiguriert haben, werden sie vom IPTables-Service angewendet, um den Datenverkehr auf Ihrem Computer zu filtern.

Es gibt auch andere Tools und Alternativen zu IPTables, wie z.B. nftables, eine Weiterentwicklung von IPTables, oder firewalld, eine Firewall-Management-Software für Linux-Systeme. Welches Tool für Sie am besten geeignet ist, hängt von Ihren spezifischen Anforderungen und der Komplexität Ihres Netzwerks ab.

Wie unterscheiden sich IPTables und NFTables ?

IPTables und Nftables sind beides Firewall-Technologien für Linux-Systeme. IPTables ist seit vielen Jahren die Standard-Firewall-Technologie für Linux, während Nftables eine neuere Technologie ist, die seit Kernel-Version 3.13 verfügbar ist und IPTables in Zukunft ersetzen wird.

Hier sind einige Unterschiede zwischen IPTables und Nftables:

  1. Syntax: Die Syntax von Nftables ist einfacher und leichter zu verstehen als die Syntax von IPTables. Die Regeldefinitionen in Nftables sind flexibler und bieten eine bessere Unterstützung für Netzwerkprotokolle.
  2. Performance: Nftables bietet eine höhere Performance als IPTables, insbesondere bei großen Netzwerken. Nftables ist effizienter bei der Verarbeitung von Firewall-Regeln und benötigt weniger Systemressourcen.
  3. Skalierbarkeit: Nftables ist aufgrund seiner höheren Performance und Flexibilität besser für große Netzwerke geeignet als IPTables. Nftables kann eine große Anzahl von Firewall-Regeln verwalten und bietet eine bessere Skalierbarkeit als IPTables.
  4. Integration: Nftables ist enger in das Netfilter-Subsystem des Linux-Kernels integriert als IPTables. Nftables bietet eine bessere Unterstützung für neue Netzwerkprotokolle und ist besser geeignet für die Integration mit anderen Linux-Subsystemen.

Insgesamt bietet Nftables eine modernere und effizientere Methode, um den Datenverkehr auf einer Linux-Maschine zu kontrollieren und zu filtern. Es bietet eine höhere Performance, Flexibilität und Skalierbarkeit als IPTables und wird in Zukunft voraussichtlich die Standard-Firewall-Technologie für Linux-Systeme sein

IPTables / Firewall

Firewall im insbesonderen iptables

1.Sinn und Zweck einer Firewall
2.Kurzerklärung ipfwadm & ipchains & iptables +
Kernelcompilern
3.Save und Restore IPTables/IPChains
4.Unterschied zwischen iptables und ipchains
5.Der Befehl ipchains
6.Der Befehl iptables
7.IPtable-save & IPtable-restore (inkl. chains)
8.Filtermöglichkeiten des Paketfilters in der Theorie

1.Sinn und Zweck einer Firewall
Eine Firewall ist ein sicheres System zwischen einem
Internen und Externen (Internet) Netzwerksystem.
Nach diversen Regeln wird bestimmt ob und wohin der
Datenverkehr fließen darf, oder ob er gänzlich
gesperrt werden soll.
Blocken von Böswilligen und unabsichtlich schädlichen
Daten, überprüfen von Daten, die rein und herausgehen ist
die Hauptaufgabe einer FW.
Doch auch das Masquerading ist ein interessanter
Punkt. Mehrere IPs werden zu einer (meist)
öffentlichen IP zusammengefasst.
Größtenteils aus Kostengründen, aber auch ein gewisser Schutz
besteht nun, da unser Netzwerk leicht versteckt ist.
Da alles über die FW geht, ist eine leichte und gute
Verteidigungslinie ausbaubar.
Um virtuelle Server zu erstellen ist Port-forwarding
ein guter Ansatzpunkt.

2. Kurzerklärung ipfwadm & ipchains & iptables +
Kernelcompilern
Ip-FW’s und Masquerade gab es schon lange. Bei Linux
sind diese Programme Kernelabhängig.
Linux baut auf einem Kernel auf. Das Herz. Ohne ihn
würde nichts laufen.
Jeder Kernel hat eine Nummer.
2.0.x hatte denn Befehl ipfwadm.
2.2.x Ipchains
2.4.x Iptables
Sollte die Firewallunterstützung nicht im Kernel
vorhanden sein, so kommt der Befehl „make config“ ins
spiel.
Folgendes sollte dann ein’compilert werden.
Auf 2.0 gehe ich nicht ein, da es dem Stande der
Technik nicht mehr entspricht.

2.2
„Network Firewall“
„TCP/IP Networking“
„IP:firewalling“
„IP:transparant proxy support“
„IP:masquerading“
„ICMP masquerading“

2.4
„Network packet filtering (replaces ipchains)“
„IPtables support (required for filtering/masq/NAT)“
„Packet filtering“

Es gibt mehrere erweiterte Target- und
Muster-Regel-Module, die auch eincompilern werden
können.

3. Save und Restore iptables/ipchains
Wenn die Regeln für ipchains fertig sind, können sie
diese mit ipchains-save speichern.
Der Befehl ipchains-restore restauriert die Regeln
nach einem Neustart.
Das gleiche gilt für die iptables.
iptables-save && iptables-restore.

4. Unterschied zwischen iptables und ipchains
iptables sind abwärtskompatible zu ipchains.
Einstellbar über netfilter.
iptables sind denn ipchains ähnlich, aber stark
erweitert.

8.Filtermöglichkeiten des Packetfilters in der Theorie

Empfohlene Filtermöglichkeiten

– Gefälschte Adressen erkennen

— Externes Interface

— LAN-Adressen
Private Klasse A 10.0.0.0-10.255.255.255
Private Klasse B 172.16.0.0-172.31.255.255
Private Klasse C 192.168.0.0-192.168.255.255

— Broadcast
0.0.0.0
255.255.255.255

— Externes wie Internes Interface

— Klasse A (Null-Netzwerk)
0.0.0.0-0.255.255.255

— Local-Link
169.254.0.0-169.254.255.255

— Testnet (Für Testzwecke)
192.0.2.0-192.0.2.255 (Nicht mit Priv. Klass C zu
verwechseln)

— Klasse D (Multicast-Adressen)
224.0.0.0-239.255.255.255

— Klasse E
240.0.0.0-247.255.255.255

— Loopback
127.0.0.0-127.255.255.255 (besser als
localhost=127.0.0.1 bekannt)

— Die eigene Adresse
Die Adresse des Internen Interfaces sollte nicht auf
dem Externen erscheinen und umgekehrt

– Geheimer Scan (Stealth Scan)

— TCP 3 Wege Handshake
Ein Normaler TCP Handshake würde aber so aussehen
CLIENT: SYN
SERVER: SYN,ACK
CLIENT: SYN

SYN ACK

Täter: SYN
Opfer: SYN,ACK
Täter: RST

SYN, ACK, RST, FIN usw. sind FLAGS
SYN = Verbindungsaufbau
ACK = Bestätigung
RST = Reset (Verbindungsabbruch)

SYN ACK iptables

Durch den Frühzeitigen RST kommt keine vollständige
TCP Verbindung zu Stande.
Nun könnten alle Fälle ‚SYN SYN,ACK RST‘ z.B. eine
Sperrung der IP hervorrufen welches das weitere
Portscanning verhindern würde.
Denkbar wäre auch das sperren einzelner riskanter
Dienste (Ports) für diese IP (BIND, FTP …)

— Weitere Stealth Scans

— SYN FIN gleichzeitig
‚SYN,FIN SYN,FIN‘

— Keine FLAGS

— FIN RST gleichzeitig
‚FIN,RST FIN,RST‘

— FIN ohne ACK
‚ACK,FIN FIN‘

Weitere Infos : http://www.ietf.org/rfc/rfc793.txt

– ICMP UNREACHABLE
ICMP ist ein Ping
Diese können gesperrt werden.
Der Vorteil liegt darin das bei schnellen und großen
Scans der HOST als Down registriert wird und somit ein
klein wenig Unsichtbarer ist.
Trotz allem ist es möglich diese Filtervariante mit
speziellen Scanmethoden zu erkennen.

– Policy
Verhalten einer Paketfilterfirewall für ein IP Paket
welches in keine der Regeln passt.

— Policy Externes Interfaces
Alle Packete sollten verworfen werden, welche nicht
explizit erlaubt sind.
Als Auswahl gibt es ‚DROP‘ welches alles einfach
ignoriert und ‚REJECT‘ wo eine Fehlermeldung
zurückschickt.
Im Allgemeinen wird empfohlen DROP zu verwenden da so
der Traffic geringer gehalten wird und die Antworten
nicht für nicht legitime Zwecke verwendet werden
können.

— Policy Internes Interface
Für Anfänger ist es einfacher alles auf ‚ACCEPT‘ zu
setzen.
Einen gesteigerten Sicherheitsstandard erreichen wir
aber mit ‚REJECT‘ (zurückweißen) und ‚DROP‘
ignorieren.

– Sperren von sources routed Paketen

– Protokollierung
Logs können für alle gefährlichen Packete geschrieben
werden (Stealth Scan, Source Routing, gefälschte
Adressen)

– Limit
Erstellen von LIMITS welches die Anzahl von z.B. 5
Pings die Minute haben nie geschadet.

Autor : poiin2000 at yahoo.de

Weiterführende internen Links
Firewall

Weitereführende externen Links

http://www.pl-forum.de/t_netzwerk/iptables.html
http://iptables-tutorial.frozentux.net/iptables-tutorial.html (engl)