Squid-Kit-Basis
Erweiterte theoretische Grundlagen zu Squid
Squid dient als hochgradig konfigurierbarer Vermittler (Proxy), der den Datenfluss zwischen dem internen Netzwerk und dem World Wide Web kontrolliert. Neben der reinen Performance-Steigerung durch Caching liegt der Fokus in modernen Umgebungen auf der Durchsetzung von Sicherheitsrichtlinien (Compliance) und dem Schutz vor Schadsoftware.
Detaillierte Zugriffssteuerung (ACLs)
Die Access Control Lists definieren Kriterien, nach denen Squid den Traffic bewertet. Erst durch die Verknüpfung einer ACL mit einer Direktive (z. B. http_access) wird eine Aktion ausgelöst.
- Quell-basierte Filterung (src): Erlaubt die Segmentierung des Netzwerks. So können beispielsweise Server-Netzwerke restriktiver behandelt werden als Client-Netzwerke.
- Ziel-basierte Filterung (dstdomain): Hier wird nicht nur auf IP-Basis, sondern auf vollqualifizierte Domainnamen (FQDN) geprüft. Dies verhindert den Zugriff auf unerwünschte Webangebote (Blacklisting) oder beschränkt den Zugriff auf eine Whitelist.
- Zeitliche Steuerung (time): Ermöglicht die Definition von Zeitfenstern (Wochentage und Uhrzeiten). Dies ist nützlich für Wartungsfenster oder zur Durchsetzung von Nutzungsrichtlinien während der Arbeitszeit.
- Benutzer-Authentifizierung (auth): Squid kann die Identität des Nutzers über verschiedene Hilfsprogramme (Helpers) verifizieren. In professionellen Umgebungen erfolgt dies meist transparent via Kerberos/NTLM gegen ein Active Directory oder klassisch per LDAP.
Deep Packet Inspection mit SSL-Bump
Da heutzutage fast der gesamte Web-Traffic verschlüsselt ist, bleibt ein einfacher Proxy für den Inhalt "blind".
- SSL-Bump Mechanismus: Squid fungiert hierbei als "Man-in-the-Middle". Er terminiert die verschlüsselte Verbindung des Clients und baut eine eigene verschlüsselte Verbindung zum Zielserver auf.
- Zertifikatsbehandlung: Damit der Client keine Sicherheitswarnung erhält, muss Squid on-the-fly Zertifikate generieren, die von einer internen, vertrauenswürdigen Zertifizierungsstelle (CA) signiert sind.
Content Adaptation über ICAP
Das Internet Content Adaptation Protocol (ICAP) ist ein schlankes Protokoll, um HTTP-Objekte an externe Server zur Bearbeitung auszulagern.
- C-ICAP: Dies ist die Server-Implementierung, die als Schnittstelle zwischen Squid und Analyse-Modulen dient.
- ClamAV Integration: Über das Modul 'squidclamav' wird der von Squid via ICAP weitergereichte Datenstrom (Requests und Responses) an den ClamAV-Daemon (clamd) übergeben.
- Schutzwirkung: Downloads und sogar Browser-Inhalte werden in Echtzeit auf Signaturen von Viren, Trojanern und anderer Malware geprüft. Wird ein Fund gemeldet, unterbricht Squid die Übertragung und liefert dem Benutzer stattdessen eine konfigurierbare Fehlerseite aus.