Squid-Kit-1: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 23: | Zeile 23: | ||
;Erlaubt allen internen Netzen Zugriff auf den Proxy. | ;Erlaubt allen internen Netzen Zugriff auf den Proxy. | ||
;Am Ende blockiert "deny all" alles nicht explizit Erlaubte. | ;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 | |
==Prinzip der ACL== | ==Prinzip der ACL== | ||
| Zeile 77: | Zeile 77: | ||
;RFC1918 wurde entfernt, damit nicht jeder Zugriff bekommt. | ;RFC1918 wurde entfernt, damit nicht jeder Zugriff bekommt. | ||
;Nur definierte Netze dürfen den Proxy nutzen. | ;Nur definierte Netze dürfen den Proxy nutzen. | ||
| − | + | <span style="color:blue"># acl localnet src 10.0.0.0/8</span> | |
| − | + | <span style="color:blue"># acl localnet src 172.16.0.0/12</span> | |
| − | + | <span style="color:blue"># acl localnet src 192.168.0.0/16</span> | |
| − | + | ||
| − | + | acl localnet src fc00::/7 | |
| − | + | acl localnet src fe80::/10 | |
| − | + | ||
| − | + | <span style="color:red">acl it-dmz src 10.88.213.0/24</span> | |
| − | + | <span style="color:red">acl it-lan src 172.26.213.0/24</span> | |
| − | + | ||
| − | + | 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 | |
| − | + | ||
| − | + | <span style="color:blue"># http_access allow localnet</span> | |
| − | + | ||
| − | + | <span style="color:red">http_access allow it-dmz</span> | |
| − | + | <span style="color:red">http_access allow it-lan</span> | |
| − | + | ||
| − | + | 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 ^gopher: 1440 0% 1440 |
| − | + | refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 | |
| − | + | refresh_pattern . 0 20% 4320 | |
| + | |||
| + | ==Refresh Pattern== | ||
| + | ;Steuert, wie lange Objekte ohne Ablaufdatum im Cache als gültig gelten. | ||
| + | ;In modernen Setups oft irrelevant, da HTTPS und dynamische Inhalte dominieren. | ||
| + | |||
| + | :Schlüsselwort Pattern Min Prozent Max | ||
| + | refresh_pattern ^gopher: 1440 0% 1440 | ||
| + | refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 | ||
| + | refresh_pattern . 0 20% 4320 | ||
| + | |||
| + | *MIN ist die Zeit in Minuten, die ein Objekt mindestens als aktuell gilt. | ||
| + | *PROZENT ist der Anteil des Alters seit letzter Änderung, der als gültig angenommen wird. | ||
| + | *MAX ist die maximale Zeit, die ein Objekt ohne Ablaufdatum gültig bleibt. | ||
==First run== | ==First run== | ||
Version vom 2. April 2026, 12:55 Uhr
Installation
- Installiert den Squid Proxy inkl. HTTPS-Unterstützung.
- Ohne SSL-Unterstützung funktioniert CONNECT nicht korrekt.
- apt install squid-openssl
Erste Schritte
Configdir
- Hier liegt die zentrale Konfigurationsdatei squid.conf.
- Alle Anpassungen erfolgen in diesem Verzeichnis.
- cd /etc/squid
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
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
Refresh Pattern
- Steuert, wie lange Objekte ohne Ablaufdatum im Cache als gültig gelten.
- In modernen Setups oft irrelevant, da HTTPS und dynamische Inhalte dominieren.
- Schlüsselwort Pattern Min Prozent Max
refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320
- MIN ist die Zeit in Minuten, die ein Objekt mindestens als aktuell gilt.
- PROZENT ist der Anteil des Alters seit letzter Änderung, der als gültig angenommen wird.
- MAX ist die maximale Zeit, die ein Objekt ohne Ablaufdatum gültig bleibt.
First run
läuft squid?
- Zeigt ob Squid auf Port 3128 lauscht.
- Kein Output bedeutet, der Dienst läuft nicht.
- ss -lntp | grep 3128
starten
- Startet den Proxy-Dienst.
- Fehler können im Journal eingesehen werden.
- systemctl start squid
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
