110 likes | 227 Views
Bridgefirewall – eine transparente Lösung. Thomas Röhl 08. April 2005. Inhalt. Warum eine Bridgefirewall? Installation der Bridge IPtables – der Paketfilter unter Linux Funktionsweise von IPtables Firewallregeln Spanning Tree Protocol. Warum Bridgefirewalls?.
E N D
Bridgefirewall – eine transparente Lösung Thomas Röhl 08. April 2005
Inhalt • Warum eine Bridgefirewall? • Installation der Bridge • IPtables – der Paketfilter unter Linux • Funktionsweise von IPtables • Firewallregeln • Spanning Tree Protocol Thomas.Roehl@rrze.uni-erlangen.de
Warum Bridgefirewalls? • Linux ist ein etabliertes Firewall-Betriebssystem • Ab Kernel 2.2 Bridging-Code fester Bestandteil • Arbeitet auf OSI-Layer 2 • Protokollunabhängig • Keine eigene IP-Adresse, daher schwer angreifbar • Einfache Installation Einfache Integration in ein bestehendes Netzwerk Thomas.Roehl@rrze.uni-erlangen.de
Installation der Bridge (I) • 2 Netzwerkkarten notwendig • Bridging-Code muss im Kernel aktiviert sein (bei Suse Standard) • Bridge-Utils (Einfache Konfiguration der Bridge) • IPtables • ARPtables Pakete zum Filtern • EBtables • TCPdump - Paketanalyse Thomas.Roehl@rrze.uni-erlangen.de
Installation der Bridge (II) root@bridge:# echo 1 > /proc/sys/net/ipv4/ip_forward root@bridge:#brctl addbr br0 root@bridge:#brctl addif br0 eth0 root@bridge:#brctl addif br0 eth1 root@bridge:# brtcl stp br0 off root@bridge:#ifconfig eth0 0.0.0.0 up root@bridge:#ifconfig eth1 0.0.0.0 up root@bridge:#ifconfig br0 up • Überprüfung der Verbindungen mit tcpdump • Mit „brctl showmacs br0“ kann man sich die gesammelten MAC-Adressen auflisten lassen Thomas.Roehl@rrze.uni-erlangen.de
IPtables – der Paketfilter unter Linux (I) • IPtables dient zum Filtern von Netzwerk-Paketen im Kernel • Kernelunterstützung seit Kernel 2.4 • 3 eingebaute Tables (INPUT, OUTPUT, FORWARD) • Überprüfung der Verbindungsstatus (NEW, ESTABLISHED, RELATED, INVALID) • Allgemeine Policies für Tables Thomas.Roehl@rrze.uni-erlangen.de
IPtables – der Paketfilter unter Linux (II) • Connection Tracking (Filtern nach TCP, UDP, ICMP, andere Protokolle verfügbar) • Logging einzelner Verbindungen • Verhindern von Denial-of-Service-Attacken • Erkennen der ICMP-Typen • Rejects mit einstellbarem Verhalten • Möglichkeit des SNAT, DNAT und Masquerading Thomas.Roehl@rrze.uni-erlangen.de
DNAT, SNAT und Masquerading Thomas.Roehl@rrze.uni-erlangen.de
Funktionsweise von IPtables (I) Thomas.Roehl@rrze.uni-erlangen.de
Firewallregeln • Filterregeln in ein Bash-Skript schreiben • Überlegen, welche Dienste gesperrt bzw. erlaubt sein sollen • Alle Table-Policies auf DROP setzen und dann einzelne Ports öffnen • Regeln an Netzwerk-Interfaces binden, da Bridges symmetrisch aufgebaut Beispiel (WWW-Zugang mit HTTP): root@bridge:# iptables -A FORWARD -p tcp -s eth0 -d eth1 --dport 80 -m state --state NEW, ESTABLISHED, RELATED -j ACCEPT Thomas.Roehl@rrze.uni-erlangen.de
Stateful Regeln • Hierbei wird der Status der Verbindung geprüft • Besonderen Augenmerk auf den NEW-Status legen • Alle ESTABLISHED- und RELATED-Pakete können durchgelassen werden Thomas.Roehl@rrze.uni-erlangen.de