Techniken der Netzwerk-Firewalls (als Software-Feature, Standalone-Software oder Hardware-Appliance):
- Netzwerk-Ebene (Layer 1-4): ACL, Paketfilter, Stateful Inspection
- Applikations-Ebene (Layer 5-7): Deep Inspection, Proxy, Content-Filter, Application Layer Gateway
- im Vergleich zu Personal-Firewalls können Netzwerk-Firewalls die Kommunikation von oder zu bestimmten Prozessen nicht filtern; Prozesse laufen auf dem jeweiligen Endgerät!
Paketfilter-Firewalls und ACLs (Access Control Lists):
- basieren auf der einfachsten Firewall-Technologie
- Filterung bis Layer 4 (Transport-Layer, IP tcp und IP udp)
- ACLs implementieren die Regeln zur Paketfilterung und werden angewiesen auf:
– ein Interface
– „eingehend“ (INPUT), „durchleitend“ (FORWARD) oder „ausgehend“ (OUTPUT)
– Quell- und Zieladresse
– Ports („indirekte Filterung“ auf die Anwendungen, Layer 5-7)
– spezielle Kriterien (z.B. ICMP-Typ, z.B.: ECHO-REPLY, ECHO-REQUEST … oder gesetzte Flags bei TCP, z.B.: SYN, ACK, PUSH, RESET …) - die Policy (Grundregel) einer Firewall legt fest, wie mit einem Paket verfahren wird, auf das keine Regel zutrifft (z.B. DEFAULT DROP)
- ACLs können daneben auch „Interesting Traffic“ ausfiltern und z.B. VPN oder NAT zuweisen. Das sind keine „Firewall-Funktionen“, sondern „Weichen“ in der Firewall (z.B. welche Pakete sollen in einen VPN-Tunnel geroutet werden oder welche Pakete geNATed werden sollen)
- jedes Paket wird einzeln (auch Hin- und Rückweg!) auf das Regelwerk TOP-DOWN geprüft: Ausnahme-Regeln und Spezialfälle müssen deswegen über die Standard-Regeln gestellt werden (z.B. Ausnahmen für eine oder wenige IP-Adressen im Kontext der Regeln für das gesamte Subnetz)
Stateful Firewalls:
- Stateful Inspection benutzt eine Stateful Table
- wie bei Paketfiltern wird ein Regelwerk bis Layer 4 erstellt
- nur eingehende Verbindungsaufforderungen (initial packages) werden geprüft
- alle weiteren zu einer Kommunikation gehörigen Pakete (Antwort-Pakete, Erweiterungen der Kommunikation, z.B. ftp-Sessions uva.) werden mit den Einträgen der Stateful-Table verglichen:
– packet tracking bei UDP, ICMP und anderen verbindungslosen (stateless) Protokollen mithilfe temporärer Einträge
– bei TCP (stateful: „in einer Verbindung“, mit Informationen zu dieser Verbindung) neben Quell- und Ziel-Adresse und Port zuätzlich über SYN– und ACK-Nummern
– Bsp.:iptables -A FORWARD -s 10.1.1.0/24 -d 192.168.1.100 -m state --state NEW, ESTABLISHED, RELATED -j ACCEPT
Application-Layer Gateways und Proxies (z.B. squid uva.):
- firewall-artige Filtertechnologien auf der Anwendungsebene
- die Filtersysteme müssen das Anwendungsprotokoll (vollumfänglich) verstehen, z.B.:
– Web-Gateway: HTTP, FTP, HTTPS (Ende-zu-Ende-Verbindung, d.h. das Gateway spielt „Man in the Middle“ und täuscht sowohl den Client als auch den Server)
– Mail-Gateway: SMTP, POP3, IMAP4 - ein Proxy („Stellvertreter“) nimmt Verbindungsanforderungen entgegen und baut eine eigene Verbindung zum Ziel auf (kein echter Unterschied zum Application-Layer Gateway)
- transparent proxy: der Client weiß in diesem Fall nicht, dass ein Proxy zwischen ihm und dem Server steht
- Web-Proxies cachen Inhalt und optimieren den Zugriff auf Webinhalte und die Bandbreiten-Nutzung
- Content-Filter überprüfen den Inhalt der Kommunikation, mit
– regelbasierten URL- oder Extension-Filtern (*.exe, *.bat, *.com usw.)
– Virenscanner (Bit-Signaturen-Erkennung)