# OPNsense URL Filtering: Web-Content Kontrolle & Proxy-Management
TL;DR / Management Summary Ein offener Internetzugang ohne Inhaltsfilter ist ein Produktivitäts- und Sicherheitsrisiko. Wir nutzen das Squid Proxy Plugin in OPNsense für klassisches URL-Filtering und Caching. Für moderne, kategoriebasierte Blockierungen (z.B. “Social Media”, “Malware”) ist das Plugin Zenarmor (Artikel 582) die leistungsstärkere Alternative. Ein Senior Admin kombiniert beide Welten, um rechtliche Vorgaben (Jugendschutz) zu erfüllen und das Firmennetzwerk vor bösartigen Webseiten zu schützen.
# 1. Einführung & Proxy-Architektur
Der Vermittler im Datenstrom.
Ein Web-Proxy (Squid) fängt HTTP/S-Anfragen der Clients ab.
- Transparent Proxy: Der Client weiß nichts vom Proxy. Die Firewall leitet Traffic auf Port 80/443 automatisch um. (Erfordert SSL-Interception für HTTPS).
- Explicit Proxy: Der Proxy-Server wird manuell im Browser oder via WPAD (Artikel 577) eingetragen.
# 2. Einrichtung mit Squid
Der klassische Weg.
# Schritt 1: Plugin installieren
Installieren Sie os-squid.
# Schritt 2: Grundkonfiguration
Services -> Web Proxy -> Administration.
- Enable Proxy: Aktivieren.
- Interfaces:
LAN(oder alle internen Netze). - Transparent HTTP Proxy: Aktivieren (nur für Port 80 einfach).
# Schritt 3: URL-Filterung (Blacklists)
Services -> Web Proxy -> Administration -> Remote ACLs.
Hier können Sie externe Listen abonnieren (z.B. Shallalist oder UT1).
- Aktion: Wählen Sie Kategorien wie
adv(Werbung),spywareoderporn.
# 3. Deep Dive: HTTPS-Filtering (SSL Bump)
In die Verschlüsselung schauen.
Da heute 99% des Traffics HTTPS ist, kann der Proxy ohne SSL-Interception nur die Domain sehen, nicht den exakten Pfad.
- Technik: OPNsense generiert “on-the-fly” ein gefälschtes Zertifikat für jede aufgerufene Webseite.
- Voraussetzung: Die Clients müssen dem Root-Zertifikat der OPNsense (Artikel 520) vertrauen.
- Warnung: Dies bricht die Ende-zu-Ende Verschlüsselung. Nutzen Sie dies nur in Hochsicherheitsbereichen und beachten Sie die Privatsphäre der User (Banken/Gesundheit whitelisten!).
# 4. Day-2 Operations: Authentifizierung
Wer darf surfen?
In einer Enterprise-Umgebung wollen Sie wissen, welcher User eine Seite aufgerufen hat.
- Integration: Binden Sie Squid an Ihr Active Directory (via LDAP Plugin) an.
- Vorteil: Sie können Gruppen-basierte Regeln erstellen (z.B. “Marketing darf Facebook, Produktion nicht”).
# 5. Troubleshooting & “War Stories”
Wenn der Proxy den Zugriff blockt.
# Top 3 Fehlerbilder
-
Symptom: “SSL_ERROR_BAD_CERT_DOMAIN” im Browser.
- Ursache: SSL-Interception ist aktiv, aber das OPNsense-Zertifikat wurde nicht auf den Clients installiert.
- Lösung: Zertifikat via GPO verteilen (Artikel 490).
-
Symptom: Webseiten laden nicht, im Log steht “TCP_DENIED/403”.
- Ursache: Die ACL (Access Control List) blockiert den Zugriff oder der User ist nicht authentifiziert.
- Lösung:
Services -> Web Proxy -> Log Fileprüfen.
-
Symptom: Apps (Teams, Spotify) funktionieren nicht mehr.
- Ursache: Viele Apps nutzen Certificate Pinning und verweigern den Dienst, wenn der Proxy das Zertifikat tauscht.
- Lösung: Whitelist für diese Apps/Domains erstellen (Bypass Proxy).
# “War Story”: Der “Auto-Update” Fail
Ein Admin aktivierte SSL-Interception für das gesamte LAN. Das Ergebnis: Sämtliche Windows-Server konnten keine Updates mehr ziehen, da der Update-Client von Microsoft keine Interception-Zertifikate akzeptiert. Lösung: Wir mussten alle Microsoft-Update-URLs (via Alias) vom Proxy-Dienst ausnehmen (No-Proxy List). Lehre: Testen Sie Web-Filtering niemals zuerst an Servern oder kritischen Applikations-Clients. Fangen Sie in einem Test-VLAN an.
# 6. Monitoring & Reporting
Surf-Statistiken.
# Lightsquid
Installieren Sie das Plugin os-lightsquid, um grafische Berichte über das Surfverhalten zu erhalten.
- KPI: Top 10 Domains.
- KPI: Bandbreitenverbrauch pro User.
# 7. Fazit & Empfehlung
URL-Filtering ist ein Drahtseilakt zwischen Sicherheit und User-Freiheit.
- Empfehlung: Nutzen Sie Zenarmor für modernes Content-Blocking ohne SSL-Interception-Schmerzen.
- Wahl: Nutzen Sie Squid nur dann, wenn Sie echtes Caching (für langsame Leitungen) oder eine explizite Authentifizierung benötigen.
# Anhang: Cheatsheet
| Aufgabe | Pfad |
|---|---|
| Proxy Log | Services -> Web Proxy -> Log File |
| Blacklists laden | Services -> Web Proxy -> Remote ACLs |
| Cache leeren | Services -> Web Proxy -> Administration -> Cache Settings -> Clear |
| SSL Cert Export | System -> Trust -> Authorities |