Firewall 1
Du kannst gerne unter meinem GitHub mithelfen.
Dieses Projekt zeigt, wie man moderne Firewall 1-Systeme aufsetzt.
Du lernst die drei Firewall-Generationen, praktischen Aufbau mit Proxmox und OpenSense, VPN-Lösungen, IDS/IPS, und Spam-Schutz.
I. Was ist eine Firewall 1?
Eine Firewall 1 ist ein Sicherheitssystem, das zwischen zwei Netzwerken steht.
Sie filtert Datenpakete und lässt nur bestimmte Verbindungen durch oder blockiert sie.
Internet (Gefahr!)
│
▼
┌───────┐
│FIREWALL│ ← Wie ein Türsteher
└───────┘
│
▼
Dein Netzwerk
Grundkonzept
Hauptaufgaben:
- Unerwünschten Traffic blockieren
- Erlaubten Traffic durchlassen
- Netzwerk-Zugriffe kontrollieren
- Angriffe erkennen und abwehren
Firewall 1 vs. Router
Router Firewall
│ │
▼ ▼
"Wohin geht "Darf das
das Paket?" durch?"
│ │
▼ ▼
┌─────────┐ ┌──────────┐
│Postbote │ │Türsteher │
│Leitet │ │Prüft │
│weiter │ │Regeln │
└─────────┘ └──────────┘
| Eigenschaft | Router | Firewall 1 |
|---|---|---|
| Hauptaufgabe | Pakete weiterleiten | Pakete filtern |
| Entscheidung | Wohin soll das Paket? | Darf das Paket durch? |
| Sicherheit | Grundlegend | Erweitert |
| Regeln | Routing-Tabellen | Firewall-Regeln |
- Router = Postbote (bringt Pakete ans Ziel)
- Firewall 1 = Türsteher (kontrolliert, wer rein darf)
II. Firewall-Arten
Nach Einsatzort
Personal Firewall (Host-based)
Läuft direkt auf einem Computer und schützt nur diesen Computer.
Internet
│
▼
┌────────────┐
│ Computer │
│ mit │ ← Firewall läuft hier
│ Firewall │
└────────────┘
✓ Schützt nur diesen PC
Beispiele:
- Windows Defender Firewall
- iptables (Linux)
- pfSense auf einem einzelnen Server
Vorteile: Einfach, kostenlos, gut für einzelne Geräte
Nachteile: Schützt nur ein Gerät, nutzt PC-Ressourcen
Network Firewall (Netzwerk-Firewall)
Steht zwischen zwei Netzwerken und schützt alle Geräte dahinter.
Internet
│
▼
┌─────────┐
│ Firewall│ ← Zentral für alle
└─────────┘
│
├──► PC 1 ✓
├──► PC 2 ✓
├──► Server ✓
└──► Handy ✓
Schützt ganzes Netzwerk
Beispiele:
- Hardware-Firewalls (z.B. Cisco ASA)
- OpenSense, pfSense
- Unternehmens-Firewalls
Vorteile: Schützt ganzes Netzwerk, zentrale Verwaltung
Nachteile: Teurer, komplexere Konfiguration
Nach Funktionsweise (OSI-Modell)
1. Packet Filter Firewall (Generation 1)
Filtert nach Quell-IP, Ziel-IP, Port und Protokoll.
Arbeitet auf OSI-Schicht 3 und 4.
Paket kommt an
│
▼
┌──────────┐
│ Firewall │ Prüft:
│ prüft │ ✓ IP erlaubt?
└──────────┘ ✓ Port erlaubt?
│
┌──┴──┐
▼ ▼
Pass Block
Vorteile: Schnell, einfach, geringer Ressourcen-Bedarf
Nachteile: Kein Zustandswissen, anfällig für bestimmte Angriffe
Beispiele: Alte Router-Firewalls, einfache iptables-Regeln, ACLs
2. Stateful Inspection Firewall (Generation 2)
Erkennt den Zustand von Verbindungen (z.B. ob die Verbindung aktiv ist).
Mehr Sicherheit als Packet Filter Firewall, da Verbindungsstatus geprüft wird.
Paket kommt an
│
▼
┌──────────────┐
│ Firewall │ Prüft:
│ merkt │ ✓ IP + Port
│ Verbindungen │ ✓ Zustand (NEW/ESTABLISHED)
└──────────────┘ ✓ Verbindung gültig?
│
┌──┴────────┐
▼ ▼
NEW ESTABLISHED
(Prüfen) (Durchlassen)
Zustände einer TCP-Verbindung:
- NEW: Neue Verbindung
- ESTABLISHED: Aktive Verbindung
- RELATED: Zugehörige Verbindung (z.B. FTP-Daten)
- INVALID: Ungültige Verbindung
Vorteile: Versteht Verbindungs-Kontext, kann SYN-Flood-Angriffe erkennen
Nachteile: Höherer Ressourcen-Bedarf, kann Anwendungs-Layer-Angriffe nicht erkennen
3. Next Generation Firewall (NGFW, Generation 3)
Prüft auch den Anwendungsdatenverkehr (z.B. HTTP, FTP) und blockiert verdächtige Inhalte.
Arbeitet auf OSI-Schicht 7 (Anwendungsschicht).
Paket kommt an
│
▼
┌─────────────────┐
│ Next-Gen FW │ Prüft ALLES:
│ │ ✓ IP + Port
│ Deep Packet │ ✓ Zustand
│ Inspection │ ✓ Inhalt
│ │ ✓ Malware
│ IDS/IPS │ ✓ Anwendung
│ SSL Inspect │ ✓ User
└─────────────────┘
│
┌──┴──┐
▼ ▼
Safe Threat
(Pass) (Block)
Funktionen:
- Deep Packet Inspection (DPI)
- Application Awareness
- IDS/IPS
- Malware-Erkennung
- SSL-Inspection
- User-basierte Regeln
Vorteile: Höchste Sicherheit, erkennt moderne Angriffe
Nachteile: Teuer, hoher Ressourcen-Bedarf, komplexe Konfiguration
Beispiele: Palo Alto Networks, Fortinet FortiGate, OpenSense mit Suricata
4. WAF (Web Application Firewall)
Spezielle Firewall 1 für Webanwendungen.
Schützt vor SQL-Injection, XSS, CSRF, etc.
Beispiele: ModSecurity, Cloudflare WAF, AWS WAF
III. Die drei Firewall-Generationen
Entwicklung von einfacher Port-Filterung zu intelligenter Anwendungs-Analyse.
Generation 1 Generation 2 Generation 3
│ │ │
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Packet │──► │Stateful │──► │ Next │
│Filtering│ │Inspection│ │ Gen │
└─────────┘ └─────────┘ └─────────┘
1990s 2000s 2010s+
IP+Port +Verbindung +DPI+IDS/IPS
| Generation | Technologie | Zeitraum | Hauptmerkmal |
|---|---|---|---|
| Generation 1 | Packet Filter Firewall | 1990er | IP/Port-Filterung |
| Generation 2 | Stateful Inspection Firewall | 2000er | Connection Tracking |
| Generation 3 | Next Generation Firewall | 2010+ | Deep Packet Inspection, IDS/IPS |
IV. firewalld (Linux Firewall)
firewalld ist eine moderne Firewall-Lösung für Linux-Systeme.
Einfacher als iptables durch Zonen-Konzept und dynamische Konfiguration.
Zonen-Konzept
Interfaces
│
┌─────┼─────┐
│ │ │
▼ ▼ ▼
┌──────┬─────┬───────┐
│ drop │block│public │
├──────┼─────┼───────┤
│ home │work │trusted│
└──────┴─────┴───────┘
↓ ↓ ↓
Streng Mittel Offen
Standard-Zonen:
- drop: Alles verwerfen, keine Antworten
- block: Alles ablehnen, mit Fehlermeldung
- public: Öffentliche Netzwerke (z.B. Café, Flughafen)
- home: Heimnetzwerk
- trusted: Alle Verbindungen erlaubt
Dienste und Ports erlauben
# Dienst dauerhaft erlauben
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
# Port öffnen
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
# Konfiguration neu laden
sudo firewall-cmd --reload
V. Praktischer Aufbau mit Proxmox und OpenSense
Proxmox ist eine Virtualisierungs-Plattform für VMs und Container.
OpenSense ist eine Open-Source-Firewall mit professionellen Funktionen.
Proxmox VE
Hauptfunktionen:
- Virtuelle Maschinen (KVM)
- Linux Container (LXC)
- Web-basierte Verwaltung
- Backup und Restore
- Storage Management
OpenSense Firewall
Features:
Netzwerk-Topologie
Internet
│
▼
Proxmox Host
│
├─► OpenSense VM (Firewall)
│ ├─► WAN Interface
│ ├─► LAN Interface
│ └─► VLANs (10, 20, 30, 111)
│
├─► Server VMs
└─► Container (Docker)
VLANs in OpenSense
VLAN = Virtual LAN. Teilt ein physisches Netzwerk in mehrere logische Netzwerke auf.
Vorteile:
- Netzwerk-Segmentierung
- Bessere Sicherheit
- Traffic-Isolation
Beispiel-Setup:
- VLAN 10: Server (192.168.10.0/24)
- VLAN 20: Workstations (192.168.20.0/24)
- VLAN 30: Gäste (192.168.30.0/24)
- VLAN 111: Private Services (10.10.111.0/24)
VI. IPv6 Grundlagen
IPv6 ist die neueste Version des Internet Protocols.
340 Sextillionen Adressen statt nur 4 Milliarden bei IPv4.
IPv4 IPv6
│ │
▼ ▼
192.168.1.1 2001:db8::1
│ │
32 Bit 128 Bit
│ │
4 Milliarden 340 Sextillionen
│ │
Braucht NAT Kein NAT
Vergleich:
| Eigenschaft | IPv4 | IPv6 |
|---|---|---|
| Adress-Länge | 32 Bit | 128 Bit |
| Schreibweise | 192.168.1.1 | 2001:db8::1 |
| NAT notwendig | Ja | Nein |
IPv6 Adress-Typen
- Global Unicast: Öffentliche IPv6-Adressen /3
- Link-Local: Nur im lokalen Netzwerk /10
- Unique Local: Private IPv6-Adressen /8
- Multicast: Gruppe von Empfängern /8
VII. SSL/TLS-Zertifikate mit Let's Encrypt
SSL/TLS-Zertifikate verschlüsseln die Verbindung zwischen Client und Server.
Let's Encrypt stellt kostenlose Zertifikate automatisiert aus.
ACME-Protokoll
ACME (Automatic Certificate Management Environment) ist das Protokoll von Let's Encrypt.
Server Let's Encrypt
│ │
├─► Zertifikat? │
│ anfordern │
│ │
│ Challenge ◄───┤
│ (HTTP/DNS) │
│ │
├─► Beweis ─────────►│
│ bereitstellen │
│ │
│ Zertifikat ◄────┤
│ ✓ │
└──────────────────────
Auto-Renewal
alle 60 Tage
Challenge-Methoden:
- HTTP-01: Datei auf Webserver bereitstellen
- DNS-01: TXT-Record im DNS erstellen
In OpenSense:
- ACME Plugin installieren (os-acme-client)
- Account erstellen
- Challenge konfigurieren
- Zertifikat erstellen
- Automatische Erneuerung (alle 60 Tage)
VIII. VPN-Lösungen
VPN = Virtual Private Network. Erstellt einen verschlüsselten Tunnel über ein unsicheres Netzwerk.
Client Internet Server
│ │ │
│ [Verschlüsselter Tunnel] │
├═════════════════════════════════════►│
│ Niemand kann mitlesen! ✓ │
│◄═════════════════════════════════════┤
│ │
VPN-Protokolle im Vergleich
| Protokoll | Geschwindigkeit | Sicherheit | Komplexität | Port |
|---|---|---|---|---|
| WireGuard | Sehr schnell | Sehr hoch | Einfach | UDP 51820 |
| OpenVPN | Mittel | Sehr hoch | Mittel | UDP 1194 / TCP 443 |
| IPsec | Schnell | Sehr hoch | Komplex | UDP 500, 4500 |
PPTP ist unsicher und sollte NICHT mehr verwendet werden.
A. WireGuard VPN
WireGuard ist ein modernes VPN-Protokoll.
Vorteile:
- Moderne Kryptographie
- Weniger Code (4.000 Zeilen vs. 100.000+ bei OpenVPN)
- Bessere Performance
- Einfachere Konfiguration
- Bessere mobile Unterstützung (Roaming)
Split Tunneling vs. Full Tunnel
Split Tunneling: Full Tunnel:
Client Client
│ │
├─► Work ──► VPN ──► Server └─► Alles ──► VPN ──► Server
└─► Privat ──► Internet direkt └─► Internet
Schneller Sicherer
Split Tunneling: Nur bestimmter Traffic über VPN, Rest direkt ins Internet
Full Tunnel: Gesamter Traffic über VPN
B. OpenVPN
OpenVPN ist ein etabliertes VPN-Protokoll.
Sehr flexibel und läuft auf fast allen Plattformen.
Vorteile:
- Sehr etabliert (seit 2001)
- Kann TCP oder UDP verwenden
- Gut für restriktive Firewalls (Port 443/TCP)
Nachteile:
- Komplexere Konfiguration
- Langsamere Performance als WireGuard
IX. Firewall-Regeln und Best Practices
Gute Firewall-Regeln folgen klaren Prinzipien.
Grundprinzipien
1. Default Deny
Alles blockieren, was nicht explizit erlaubt ist.
Alle Pakete
│
▼
┌──────────┐
│ Default: │
│ DENY ❌ │ ← Alles blockiert
└──────────┘
│
│ Nur explizit erlaubte Dienste
▼
HTTP ✓
HTTPS ✓
SSH ✓
Warum wichtig:
- Minimiert Angriffsfläche
- Schutz vor unbekannten Bedrohungen
- Prinzip der geringsten Privilegien
2. Stateful Firewall
Firewall 1 merkt sich Verbindungszustände.
Vorteil: Antworten auf ausgehende Anfragen werden automatisch erlaubt.
3. Least Privilege
Nur die notwendigsten Zugriffe erlauben.
4. Segmentierung
Netzwerk in Zonen aufteilen (z.B. DMZ, Server-VLAN, Client-VLAN).
NAT (Network Address Translation)
Source NAT (Masquerading)
Interne IPs werden beim Verlassen des Netzwerks in öffentliche IP übersetzt.
Internes Netzwerk Firewall Internet
192.168.1.10 ────► (NAT) ────► 203.0.113.50
192.168.1.11 ────► übersetzt ──► 203.0.113.50
192.168.1.12 ────► zu Public IP 203.0.113.50
Alle sehen gleiche öffentliche IP
Destination NAT (Port Forwarding)
Eingehende Verbindungen zu öffentlicher IP werden an interne IP weitergeleitet.
Internet Firewall Internes Netzwerk
│ │ │
Port 80 ──────────► (Destination ─────► 192.168.1.10:80
Port 443 ──────────► NAT leitet ─────► 192.168.1.10:443
Port 22 ───────────► weiter) ─────► 192.168.1.20:22
Port Forwarding öffnet den Server nach außen! Immer mit Firewall-Regeln absichern.
Top 9 Best Practices
- Dokumentation: Jede Regel beschreiben
- Regelmäßige Reviews: Monatlich Logs prüfen
- Least Privilege: Nur notwendige Zugriffe
- Segmentierung: VLANs verwenden
- Default Deny: Alles blockieren außer Erlaubtem
- Logging: Wichtige Aktionen loggen
- Rate Limiting: Brute-Force-Schutz
- Updates: Firewall-Software aktuell halten
- Backups: Regelmäßig Konfiguration sichern
X. Intrusion Detection mit Suricata
Suricata ist eine Open-Source IDS/IPS-Engine.
Analysiert Traffic auf Angriffsmuster und blockiert Bedrohungen.
IDS vs. IPS
IDS IPS
│ │
▼ ▼
┌─────────┐ ┌─────────┐
│Monitoring│ │ Active │
│ Passiv │ │Blocking │
└─────────┘ └─────────┘
│ │
Nur Alert Blockiert
▼ ▼
"Gefahr!" Traffic ❌
Admin stoppen
IDS (Intrusion Detection System)
Überwacht Traffic und alarmiert bei Bedrohungen. Passiv – greift nicht ein.
Eigenschaften:
- Out-of-Band Monitoring
- Kann Traffic nicht stoppen
- Nur Logging/Alerting
IPS (Intrusion Prevention System)
Überwacht UND blockiert bösartigen Traffic. Aktiv – greift direkt ein.
Eigenschaften:
- Benötigt spezielle NIC (Netmap-Support)
- In-Band Blocking
- Kann Traffic droppen
Firewall 1 vs. IDS/IPS
Traditional Firewall:
- Prüft: Source IP, Destination IP, Port, Protocol
- Entscheidung: Allow/Deny
IDS/IPS (Deep Packet Inspection):
- Prüft: Packet-Inhalt, Traffic-Patterns, Signatures, Anomalien
- Entscheidung: Alert/Drop
Suricata in OpenSense
Installation:
- Services → Intrusion Detection → Administration
- Enable IDS: ✓
- Pattern Matcher: ac-ks (empfohlen) oder Hyperscan
- Interfaces: WAN
Rule Sets
Verfügbare Quellen:
- Emerging Threats (ET): ~35.000 Regeln (kostenlos)
- abuse.ch: SSL Blacklist, URLhaus, Feodo Tracker (~1.000+ Regeln)
Download-Prozess:
- Rulesets aktivieren (ET Open, abuse.ch)
- "Download and Update Rules"
- Automatische Updates einrichten (täglich)
Alert Monitoring
Services → Intrusion Detection → Alerts
Zeigt:
- Timestamp
- SID (Signature ID)
- Message (Angriffs-Typ)
XI. Threat Intelligence mit abuse.ch
abuse.ch ist eine kostenlose Threat Intelligence Plattform.
Stellt Datenbanken von bekannten Bedrohungen bereit.
Services
abuse.ch Platform
│
┌────────┼────────┐
│ │ │
▼ ▼ ▼
┌────────┬────────┬────────┐
│Malware │URLhaus │Feodo │
│ Bazaar │ │Tracker │
├────────┼────────┼────────┤
│SSL │ │ │
│Blacklist│ │ │
└────────┴────────┴────────┘
│ │ │
└────────┼────────┘
▼
Suricata Rules
▼
Blockieren
1. MalwareBazaar
Datenbank von Malware-Samples.
Verwendung:
- Download von Malware-Samples (für Forschung)
- Hash-Abgleich (ist Datei Malware?)
- API-Zugriff (Python)
2. URLhaus
Datenbank von Malware-URLs.
Verwendung in Firewall 1:
- Blockiert automatisch Zugriff auf bekannte Malware-URLs
3. Feodo Tracker
Datenbank von Banking-Trojanern (Emotet, TrickBot, etc.).
Verwendung:
- Blockiert automatisch Verbindungen zu C&C-Servern
4. SSL Blacklist
Datenbank von bösartigen SSL-Zertifikaten.
Verwendung:
- Erkennt Malware-Traffic anhand SSL-Fingerprint
Integration mit Suricata
Suricata + abuse.ch:
Traffic wird gegen ALLE Rulesets geprüft
├─► ET Open Rules (Exploits, Malware)
└─► abuse.ch Rules (URLhaus, Feodo, SSL Blacklist)
→ Bei Match: Alert oder Block (IPS)
XII. Spam-Schutz (Multi-Layer Defense)
Defense in Depth = Mehrere Sicherheitsschichten hintereinander.
Multi-Layer Spam Protection
Layer 1: DNS Blacklist (RBL)
│ ← Blockiert bekannte Spam-IPs
▼
Layer 2: SPF/DKIM/DMARC
│ ← Prüft E-Mail-Authentizität
▼
Layer 3: Greylisting
│ ← Verzögert unbekannte Absender
▼
Layer 4: Content Filter (SpamAssassin)
│ ← Analysiert E-Mail-Inhalt
▼
Layer 5: Attachment Filter
│ ← Blockiert gefährliche Anhänge
▼
User Mailbox ✓
Warum mehrere Schichten:
- Keine einzelne Lösung ist perfekt
- Wenn eine Schicht versagt, fangen andere es auf
- Reduziert False Positives/Negatives
Layer 1: RBL (DNS Blacklists)
Liste von IPs, die für Spam bekannt sind.
Beliebte RBLs:
- Spamhaus ZEN
- Barracuda
- SORBS
- SpamCop
Layer 2: SPF, DKIM, DMARC
SPF (Sender Policy Framework)
Definiert, welche Server E-Mails für eine Domain senden dürfen.
DKIM (DomainKeys Identified Mail)
Digitale Signatur für E-Mails.
DMARC (Domain-based Message Authentication)
Policy, was mit E-Mails passieren soll, die SPF/DKIM nicht bestehen.
Layer 3: Greylisting
Temporäres Ablehnen von E-Mails unbekannter Absender.
Funktionsweise:
- E-Mail von unbekanntem Server → Ablehnen (temporär)
- Legitimer Mailserver versucht später nochmal → Durchlassen ✓
- Spam-Bot versucht es NICHT nochmal → Wird nie zugestellt ✗
Layer 4: SpamAssassin
Content-basierter Filter mit Scoring-System.
Analysiert: E-Mail-Header, Body, Links, Anhänge, Spam-Charakteristiken
Layer 5: Attachment-Filter
Blockiert gefährliche Dateitypen (.exe, .bat, .js, .vbs, etc.).
DNS-basierte Werbeblocker: Pi-hole
Blockiert Werbung und Tracking auf DNS-Ebene.
Funktionsweise:
- Gerät fragt: "Was ist die IP von ads.example.com?"
- Pi-hole prüft Blacklist → Ja, auf Liste!
- Pi-hole antwortet: "0.0.0.0"
- Werbung wird nicht geladen ✓
Vorteile:
- Blockiert Werbung im gesamten Netzwerk
- Funktioniert für alle Geräte (Smart-TVs, Handys, PCs)
- Kein Browser-Plugin notwendig
XIII. Zusammenfassung
Hauptprinzipien
- Default Deny: Alles blockieren, was nicht erlaubt ist
- Stateful Inspection: Verbindungsstatus verstehen
- Least Privilege: Nur notwendige Zugriffe
- Defense in Depth: Mehrere Sicherheitsschichten
Typische Infrastruktur
Internet
│
▼
Proxmox Host (Virtualisierung)
│
├─► OpenSense VM (Firewall)
│ ├─► WAN Interface
│ ├─► LAN Interface
│ ├─► VLANs (10, 20, 30, 111)
│ ├─► VPN (WireGuard, OpenVPN)
│ ├─► IDS (Suricata)
│ └─► Threat Intel (abuse.ch)
│
├─► Server VMs
├─► Workstation VMs
└─► Container (Docker)
Sicherheitsfunktionen
- Firewall-Regeln: Stateful Packet Filtering
- VPN: WireGuard (modern) oder OpenVPN (etabliert)
- SSL/TLS: Let's Encrypt Zertifikate (ACME)
- IDS/IPS: Suricata mit ET Open und abuse.ch Regeln
- Threat Intelligence: MalwareBazaar, URLhaus, Feodo Tracker
- Spam-Schutz: Multi-Layer (RBL, SPF/DKIM/DMARC, Greylisting, SpamAssassin)
- DNS-Filtering: Pi-hole für Werbung und Tracking
Weiterführende Themen
- High Availability mit CARP
- Traffic Shaping (QoS)
- Captive Portal
- Multi-WAN (Load Balancing)
- Site-to-Site VPN
- SIEM Integration