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? 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
Installation der Bridge (I) 2 Netzwerkkarten notwendig Bridging-Code muss im Kernel aktiviert sein (bei Suse Standard) Bridge-Utils (Einfache Konfiguration der Bridge) IPtables ARPtablesPakete zum Filtern EBtables TCPdump - Paketanalyse
Installation der Bridge (II) echo 1 > /proc/sys/net/ipv4/ip_forward brctl addbr br0 brctl addif br0 eth0 brctl addif br0 eth1 brtcl stp br0 off ifconfig eth up ifconfig eth up ifconfig br0 up Überprüfung der Verbindungen mit tcpdump Mit brctl showmacs br0 kann man sich die gesammelten MAC-Adressen auflisten lassen
IPtables – der Paketfilter unter Linux (I) IPtables dient zum Filtern von Netzwerk-Paketen im Kernel Kernelunterstützung seit Kernel eingebaute Tables (INPUT, OUTPUT, FORWARD) Überprüfung der Verbindungsstatus (NEW, ESTABLISHED, RELATED, INVALID) Allgemeine Policies für Tables
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
DNAT, SNAT und Masquerading
Funktionsweise von IPtables (I)
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): iptables -A FORWARD -p tcp -s eth0 -d eth1 --dport 80 -m state --state NEW, ESTABLISHED, RELATED -j ACCEPT
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
Vielen Dank für Ihre Aufmerksamkeit! Danke!
EBtables und ARPtables EBtables: NAT über die MAC-Adressen Brouting – Router und Bridge in einem VLAN-Filterung und Routing Blocken von bestimmten Protokoll-Headern Ändern der MAC-Adressen im Ethernet-Frame Logging möglich Filterung fast nur auf Layer-2
Spanning Tree Protocol (I) Möglichkeit der Hochverfügbarkeit von Bridges Ein Root-Switch übernimmt die Kontrolle über alle beteiligten Switches Gegenseitige Überwachung der Funktionstüchtigkeit Bei Ausfall wird der defekte Switch umgangen Festlegung der Root-Bridge durch Priorität Auf Bridgefirewall sollte STP deaktiviert sein, da die Firewall sonst eher angreifbar
Spanning Tree Protocol (II)
Funktionsweise von IPtables (II) Eingehende Pakete Ausgehende Pakete Weg beim Einsatz einer Bridgefirewall