Eine Firewall ist eine Sicherheitsvorrichtung aus Hard- und Software, die den Datenverkehr überwacht und unerwünschte oder gefährliche Verbindungen blockiert.
In diesem Artikel lernst Du die Grundprinzipien der Paketverarbeitung, Firewalltechnologien, Firewallregeln und Policies und die Netzwerkarchitekturen mit Firewall kennen.
| OSI Layer | Paketname, Aufgabe, Hardware, Protokoll |
|---|---|
| 7 Application (Anwendung) | Data Benutzerschnittstelle Protokolle: HTTP, HTTPS, FTP, SSH, SMTP, IMAP, DNS, DHCP |
| 6 Presentation (Darstellung) | Dateiformate, Kompression, Verschlüsselung |
| 5 Session (Sitzung) | Login, Passwörter, Auf- und Abbau von Sitzungen |
| 4 Transport (Transport) | Segment Segmentierung, Zuverlässigkeit, Flußkontrolle, Portzuweisung des Datenstroms zur jeweiligen Anwendung Protokolle: TCP, UDP |
| 3 Network (Vermittlung) | Packet logische Adressierung mit IP-Adresse, routing Hardware: Router Protokolle: IPv4, ICMPv4, IPv6, ICMPv6 |
| 2 Data Link (Sicherung) | Frame physikalische Adressierung mit MAC-Adresse Hardware: NIC, Switch Protokolle: ARP, Ethernet/ WLAN |
| 1 Physical (Bitübertragung) | Bits physikalische Übertragung von Bits Hardware: Kabel, Stecker, Antennen, Hub |
Analyse von Datenpaketen
Firewalls analysieren Datenpakete und entscheiden, ob diese weitergeleitet oder blockiert werden. Ein Paket (engl. packet) besteht aus dem Header mit der Quell- und Ziel-IP-Adresse und der Payload. In diesem Fall besteht die Payload aus den Portnummern und einzelnen Segmenten mit den eigentlichen Daten.
Eine Firewall kann nun im Bezug auf das OSI-Modell (s. Tab. 1) auf verschiedenen Ebenen kontrollieren:
Verkehrsrichtlinien
Firewalls entscheiden was mit den Paketen passiert (s. Abb. 1):
Whitelist- und Blacklistkonzept
Bei einer Whitelist werden nur explizit erlaubte Verbindungen zugelassen und alles andere blockiert. Der hohe Verwaltungsaufwand wird durch eine sehr hohe Sicherheit kompensiert.
Bei einer Blacklist ist alles erlaubt, bis auf explizit verbotene Verbindungen. Eine Blacklist ist viel einfacher zu verwalten, aber weniger sicher, da neue Bedrohungen nicht automatisch erkannt werden.
1. Stateless packet inspection
2. Stateful packet inspection
3. Deep packet inspection - Erweiterung von Stateful
| Firewall-Typ | prüft | Layer | Sicherheit | Performanz |
|---|---|---|---|---|
| stateless | IP-Adressen, Ports, Protokolltyp, Flags | 3, 4 | + | +++ |
| stateful | IP-Adressen, Ports, Protokolltyp, Flags und Verbindungsstatus | 3, 4 | ++ | ++ |
| deep packet inspection | IP-Adressen, Ports, Protokolltyp, Flags, Verbindungsstatus und Inhaltsanalyse | 3, 4, 7 | +++ | + |
Neben den drei erwähnten Technologien gibt es noch weitere:
Eine Firewall-Regel legt fest, welche Pakete erlaubt oder blockiert werden. Typische Bestandteile sind: Quelle (IP-Adressbereich), Ziel (IP-Adressebereich), Protokoll (TCP, UDP, ICMP), Port / Dienst (z. B. 80 für HTTP), Aktion (Allow, Deny, Drop, Reject) und optional: Zeitpläne, Benutzer oder Anwendung.
Firewallregeln werden sequentiell (hintereinander von oben nach unten) abgearbeitet. Greift eine Regel, entfallen alle weiteren Regeln. Am Ende steht immer eine sogenannte default policy (deny any).
Stateless-Firewall:
Erlaubt TCP-Port 80/443 von allen externen IPs → Webzugriff und blockiert alle anderen Ports.
Stateful-Firewall:
Erlaubt nur Antworten auf ausgehende Verbindungen und blockiert unaufgeforderte eingehende Pakete.
DPI-Firewall:
Erlaubt HTTP/HTTPS, blockiert Downloads bestimmter Dateitypen, filtert nach Anwendungen (z. B. Social Media blockieren) und protokolliert verdächtige Aktivitäten
Access Control Listen
Cisco unterscheidet zwischen Standard Access Control Listen und Extended Access Control Listen. Diese werden auf Cisco-Routern erstellt. Jede Liste enthält eine Reihe von Einträgen (Access Control Entries) zum Filtern der Pakete. Jede Liste kann mit dem Eingang eines Interfaces (inbound) oder dem Ausgang eines Interfaces (outbound) verknüpft werden (s. Abb. 1). Dabei gilt: Pro Interface können pro Richtung (inbound, outbound) und Protokoll (standard, extended) zwei ACLs eingebunden werden.
Standard Access Control Listen filtern Layer-3-Pakete ausschließlich auf Basis von IP-Quelladressen. Das bedeutet, dass lediglich geprüft wird woher die Pakete kommen.
Extended Access Control Listen könnnen Quell- und Zieladressen von Layer-3-Paketen filtern. Darüber hinaus ist es möglich auch auf Layer-4-Informationen zu filtern: TCP-,UDP-Ports und optionale Protokolltyp Informationen.
Die Adressbereich werden mit Hilfe von Wildcards anstelle von Subnetzmasken festgelegt. Der Vorteil: Es lassen sich nicht nur ganze Subnetze filtern sondern auch beliebige Adressbereiche. Dabei bedeutet eine 0, dass das Bit übereinstimmen muss und eine 1, dass das Bit beliebig sein darf.
Während 0.0.0.255 das gesamte /24-Subnetz matcht und 0.0.0.63 das gesamte /26-Subnetz, würde 0.0.0.252 mit 255 = 0b11111100 ein Matching der letzten beiden Bits verlangen. Somit können Wildcards exaktere Bereiche prüfen.
| Wildcard | Beschreibung |
|---|---|
0.0.0.255 |
255 = 0b11111111entspricht dem gesamten /24-Subnetz |
0.0.0.63 |
63 = 0b00111111 entspricht dem gesamten /26-Subnetz |
0.0.0.252 |
252 = 0b11111100 verlangt das die letzten beiden Bits in der Adresse übereinstimmen |
Standard ACL konfigurieren
R1(config)# access-list 2 deny host 192.168.10.1
R1(config)# access-list 2 permit 192.168.10.0 0.0.0.255
R1(config)# access-list 2 deny 192.168.0.0 0.0.255.255
R1(config)# access-list 2 permit any
Jeder Eintrag auf dem Router (s. Abb. 2) startet mit einer Listennummer gefolgt von der Aktion und der Quelladresse mit Angabe der Wildcard für den IP-Adressbereich. Die Einträge haben folgende Bedeutung:
deny host 192.168.10.1 → Ein einzelner Host, Wildcard automatisch 0.0.0.0permit 192.168.10.0 0.0.0.255 → Erlaubt ganzes Subnetz /24deny 192.168.0.0 0.0.255.255 → Blockiert gesamtes 192.168.x.x Netzpermit any → Rest wird erlaubtACL mit Interface verknüpfen
R1(config-if)# ip access group 2 out
Um eine ACL mit einem Interface zu verknüpfen, geht man auf das Interface und gibt die Listennummer sowie die Richtung an.
Single Firewall Setup
DMZ Firewall Setup
Wähle die korrekten Aussagen aus.
Nenne den Fehler welcher häufig dazu führt, dass eine ACL nicht wie erwartet funktioniert. Wähle eine Antwort.
Nenne den typischen Fehler, der dazu führt, dass eine ACL zu viel oder zu wenig Traffic blockiert. Wähle eine Antwort.
Welche Wildcard würde das gesamte Subnetz 192.168.30.0/24 abdecken?
Wähle eine Antwort.
0.255.255.2550.0.0.150.0.0.255255.255.0.0Nenne eine IP-Adresse, welche von der Wildcard 0.0.0.10 abgedeckt wird.
Wähle eine Antwort.
192.168.1.10192.168.1.1192.168.1.5192.168.1.15Welche Regel blockiert alle Verbindungen aus dem Netz 192.168.4.0/24? Wähle eine Antwort.
deny 192.168.4.0 0.0.0.255 deny 192.168.4.0 255.255.255.0deny 192.168.4.0 0.0.255.255permit anyWelche Wildcard würde ein /26 Subnetz abdecken? Wähle eine Antwort.
0.0.0.610.0.0.620.0.0.630.0.0.64DEFCON 18: Pwned By The Owner: What Happens When You Steal a Hackers Computer
Dann aber, eines Tages taucht eine Spur auf ...
Extended ACL konfigurieren
R1(config)# access-list 100 deny tcp 192.168.10.0 0.0.0.255 any eq 80
R1(config)# access-list 100 permit tcp any any eq 443
R1(config)# access-list 100 deny icmp any any
R1(config)# access-list 100 permit ip any any
Jeder Eintrag in auf dem Router (s. Abb. 4) startet mit einer Listennummer gefolgt von der Aktion und der Quelladresse mit Angabe der Wildcard für den IP-Adressbereich. Danach folgt der Zieladressbereich und die Angabe der Portnummer.
Die Einträge haben folgende Bedeutung:
deny tcp 192.168.10.0 0.0.0.255 any eq 80 → Blockiert HTTP-Verkehr vom Subnetz 192.168.10.0/24 zu beliebigen Zielen.permit tcp any any eq 443 → Erlaubt HTTPS-Verkehr von allen Quellen zu allen Zielen.deny icmp any any → Blockiert alle ICMP-Pakete (z. B. Ping) zwischen beliebigen Hosts.permit ip any any → Erlaubt den Rest des IP-Verkehrs, der nicht zuvor blockiert wurde.ACL mit Interface verknüpfen
R1(config-if)# ip access group 100 out
Um eine ACL mit einem Interface zu verknüpfen, geht man wie bereits gezeigt auf das Interface und gibt die Listennummer sowie die Richtung an.
Du arbeitest als Netzwerkadministrator in einem mittelgroßen Unternehmen.Das Netzwerk besteht aus drei Routern (R1 und R3 sind über R2 miteinander verbunden).Folgende vier Teilnetze sind angebunden: (s. Abb. 4):
Deine Aufgabe ist es, den Datenverkehr zwischen diesen Netzen zielgerichtet zu kontrollieren, unter Verwendung von:
Du sollst so konfigurieren, dass bestimmte Netze miteinander kommunizieren dürfen oder blockiert werden – je nach Sicherheitsrichtlinie.
Folgender Beispiel-ACL ist bereits vorhanden:
access-list 42 deny 192.168.11.0 0.0.0.255
access-list 42 permit 192.168.10.0 0.0.0.255
access-list 42 permit any
2.1 Du möchtest die Besipiel-ACL deinem Mitarbeiter erklären.
2.1.1 Wähle die Aussage, welche die Funktion der Standard-ACL 42 korrekt beschreibt. Wähle eine Antwort.
192.168.10.0/24 auf alle anderen Netze.192.168.11.0/24 und lässt alle anderen Netze zu.192.168.11.0/24 zum Router.2.1.2 Eine Anfrage kommt vom Host 192.168.11.23. Wähle die Regel aus, welche für diesen Traffic gilt.
2.1.3 Wähle die korrekte Aussage, die auf die Eigenschaft einer Standard ACL typischerweise zutrifft. Wähle eine Antwort.
2.1.4 Nenne die Regel, die am Ende einer jeden ACL standardmäßig steht. Wähle eine Antwort.
deny anydeny nothingpermit anypermit everything2.2 Bevor du dich an die Erstellung eigener ACLs machst, möchtest den Umgang mit Extended ACLs trainieren.
Bestimme die ACL-Regel welche HTTP-Traffic (Port 80) vom Netz 192.168.10.0/24 zum Netz 192.168.31.0/24 erlaubt. Wähle eine Antwort.
permit ip any anydeny tcp any any eq 80permit tcp 192.168.10.0 0.0.0.255 any eq 80permit udp 192.168.10.0 0.0.0.255 192.168.31.0 eq 802.3 Erstelle eine Standard ACL, die folgenden Anforderungen entspricht:
192.168.10.0/24 darf auf alle anderen Netze zugreifen.192.168.11.0/24 soll komplett blockiert werden.Wende die ACL auf der passenden Schnittstelle eines R1-Interfaces an (du bestimmst, welche).
Die Lösung sollte folgendermaßen aussehen:
R1(config)# access-list 15 deny 192.168.11.0 0.0.0.255
R1(config)# access-list 15 permit 192.168.10.0 0.0.0.255
R1(config)# access-list 15 permit any
#R1 Interface Richtung zu R2
R1(config-if)# ip access group 15 out
2.4 Erstelle eine Extended ACL, die folgenden Sicherheitsrichtlinie erfüllt:
192.168.30.0/24 soll nur HTTPS-Traffic (TCP 443) zum Netz 192.168.31.0/24 senden dürfen.Erstelle die vollständige extended ACL. Wähle das Interface und die Richtung zum platzieren der Liste und begründe deine Entscheidung.
Die Lösung sollte folgendermaßen aussehen:
R3(config)# access-list 110 permit tcp 192.168.30.0 0.0.0.255 192.168.31.0 0.0.0.255 eq 443
R3(config)# access-list 110 deny ip 192.168.30.0 0.0.0.255 192.168.31.0 0.0.0.255
R3(config)# access-list 110 permit ip any any
#R3 LAN-Interface Richtung R2
R3(config-if)# ip access-group 110 in
| stateless packet inspection | jedes Paket wird isoliert kontrolliert |
| stateful packet inspection | jedes Paket wird auf Grundlage des Verbindungszustandes kontrolliert |
| Deep packet inspection | wie stateful, nur zusätzlich wird der Inhalt untersucht |
| DMZ | demilitaisierte Zone: isolierter Netzwerkbereich mit öffentlichen und privaten Zugang |
| ACL | access control list |
| ACE | access control entry |
| Wildcard | das Gegenstück zur Subnetzmaske mit erweitertem Adressbereich |
| Standard ACL | Filterung nach Quell-IP-Adressbereich | Extended ACL | Filterung nach Quell-IP-Adressbereich, Ziel-IP-Adressbereich, Protokoll und Portnummer |