Installation
- Installiert den Squid Proxy inkl. HTTPS-Unterstützung.
- Ohne SSL-Unterstützung funktioniert SSL-BUMP nicht.
- apt install squid-openssl
Erste Schritte
Configdir
- Hier liegt die zentrale Konfigurationsdatei squid.conf.
- Alle Anpassungen erfolgen in diesem Verzeichnis.
Default Konfiguration sichern
- Sichert die Originalkonfiguration.
- Ermöglicht schnelles Zurücksetzen bei Fehlern.
- cp squid.conf squid.conf.org
Kommentare entfernen
- Entfernt Kommentare für bessere Übersicht.
- Zeigt nur aktive Konfiguration.
- grep "^[^#]" squid.conf.org > squid.conf
Bereinigte squid.conf
- Erlaubt allen internen Netzen Zugriff auf den Proxy.
- Am Ende blockiert "deny all" alles nicht explizit Erlaubte.
acl localnet src 10.0.0.0/8
acl localnet src 172.16.0.0/12
acl localnet src 192.168.0.0/16
acl localnet src fc00::/7
acl localnet src fe80::/10
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all
http_port 3128
coredump_dir /var/cache/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
Grundlegende Schlüsselwörter
acl
- Definiert eine Access Control List (ACL), also einen Filter.
- ACLs beschreiben Bedingungen (z. B. Netz, Port, Methode), die später ausgewertet werden.
http_access
- Legt fest, ob eine Anfrage erlaubt oder blockiert wird.
- Die Regeln werden von oben nach unten geprüft – die erste passende Regel gewinnt.
http_port
- Definiert den Port, auf dem Squid auf eingehende Verbindungen wartet.
- Clients verbinden sich zu diesem Port, um den Proxy zu nutzen.
coredump_dir
- Verzeichnis, in dem Speicherabbilder bei Abstürzen abgelegt werden.
- Wird hauptsächlich für Debugging und Fehleranalyse verwendet.
refresh_pattern
- Steuert, wie lange Inhalte im Cache als gültig gelten.
- Ist heute meist weniger relevant, da viele Inhalte dynamisch oder verschlüsselt sind.
Prinzip der ACL
- Squid arbeitet von oben nach unten – erste passende Regel gewinnt.
- Falsche Reihenfolge führt häufig zu unerwartetem Verhalten.
- Squid arbeitet von oben nach unten – die erste passende Regel gewinnt.
Konfiguration anpassen (eigene Netze)
- Ziel ist es, Zugriff gezielt zu steuern.
- Die Default-Konfiguration ist zu offen.
Neue squid.conf
- RFC1918 wurde entfernt, damit nicht jeder Zugriff bekommt.
- Nur definierte Netze dürfen den Proxy nutzen.
# acl localnet src 10.0.0.0/8
# acl localnet src 172.16.0.0/12
# acl localnet src 192.168.0.0/16
acl localnet src fc00::/7
acl localnet src fe80::/10
acl it-dmz src 10.88.213.0/24
acl it-lan src 172.26.213.0/24
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
# http_access allow localnet
http_access allow it-dmz
http_access allow it-lan
http_access allow localhost
http_access deny all
http_port 3128
coredump_dir /var/cache/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
First run
läuft squid?
- Zeigt ob Squid auf Port 3128 lauscht.
- Kein Output bedeutet, der Dienst läuft nicht.
starten
- Startet den Proxy-Dienst.
- Fehler können im Journal eingesehen werden.
Kontrolle
- Zeigt Live-Traffic durch den Proxy.
- Wichtig zum Debuggen und Verständnis.
- tail -f /var/log/squid/access.log
- TCP_MISS bedeutet kein Cache wurde genutzt.
- CONNECT zeigt HTTPS-Tunnelverkehr.
Hinweis
- HTTPS wird nur getunnelt und nicht analysiert.
- Caching spielt heute kaum noch eine Rolle.
- HTTPS wird nur getunnelt (CONNECT)
- Caching ist heute meist irrelevant