Firewall im insbesonderen iptables

poiin2000

Member of Honour
#1
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 Packetfilters in der Theorie



1. Sinn und Zweck einer Firewall
Eine Firewall ist ein Sicheres System zwischen einem Internen und Externen (Internet) Netzwerk System.
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 rausgehen ist die Hauptaufgabe einer FW.
Doch auch das Masquerading ist ein interessanter Punkt. Mehrere Ips werden zu einer (meist) öffentlichen IP zusammengefasst.
Meist 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 Portforwarding 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 eincompilert 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
SYN, ACK, RST, FIN usw. sind FLAGS
SYN = Verbindungsaufbau
ACK = Bestätigung
RST = Reset (Verbindungsabbruch)


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

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

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


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 grossen 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 Packetfilterfirewall für ein IP Packet 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 Packeten

- 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@yahoo.de
WebSeite: http://linux.regionnet.de
 
Oben