Benutzer-Werkzeuge

Webseiten-Werkzeuge


proxy_squid

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

proxy_squid [2016-04-12 22:50:00] – Externe Bearbeitung 127.0.0.1proxy_squid [2020-12-29 21:26:06] (aktuell) – [Proxy squid] manfred
Zeile 1: Zeile 1:
 +====== Proxy squid ======
 +
 +[[http://whatismyip.network/detect-isp-proxy-tool/]]
 +
 +Eine Beispielhafte Minimal-Konfiguration, für einen komplett offenen Proxy, finden Sie hier: [[squid.conf]]
 +
 +Unter Ubuntu liegt die Konfigurationsdatei hier: "/etc/squid/squid.conf"
 +
 +
 +===== Beschreibung =====
 +
 +
 +==== Proxy steht hinter Proxy ====
 +
 +Wenn unser Proxy hinter einem oder mehreren anderen Proxy's steht,
 +dann muss der oder die Proxy's in dieser Form eingetragen werden.
 +Jeder nutzbare Proxy bekommt eine eigene Zeile:
 +  ### dieser Proxy steht auch nur hinter Proxy's (192.168.1.1, 192.168.1.2, 192.168.1.3)
 +  cache_peer 192.168.1.1 parent 3128 3130
 +  cache_peer 192.168.1.2 parent 3128 3130
 +  cache_peer 192.168.1.3 parent 3128 3130
 +
 +
 +==== Zugriffsrechte ====
 +
 +Die Zugriffsrechte werden als ''ACL'''s bezeichnet.
 +Den einzelnen ''ACL'''s wird hier ein Name gegeben.
 +
 +
 +=== allgemeine ACLs ===
 +
 +Diese braucht man praktisch immer.
 +
 +  acl all src all
 +  acl manager proto cache_object
 +  acl localhost src 127.0.0.1/32
 +  acl to_localhost dst 127.0.0.0/8
 +  acl SSL_ports port 443          # https
 +  acl SSL_ports port 873          # rsync
 +  acl Safe_ports port 21          # ftp
 +  acl Safe_ports port 80          # http
 +  acl Safe_ports port 443         # https
 +  acl Safe_ports port 873         # rsync
 +  acl purge method PURGE
 +  acl CONNECT method CONNECT
 +
 +
 +=== Definitionen ===
 +
 +Auf diese Weise kann man recht komplexe Konfigurationen sehr übersichtlich halten.
 +
 +
 +== Quellen werden definiert ==
 +
 +  acl hosts.allow src "/etc/squid/acls/hosts.allow"
 +  acl hosts.deny src "/etc/squid/acls/hosts.deny"
 +  acl hosts.admin src "/etc/squid/acls/hosts.admin"
 +  acl localnet src "/etc/squid/acls/localnet"
 +  acl kinder.allow src "/etc/squid/acls/kinder.allow"
 +
 +
 +== Ziele werden definiert ==
 +
 +  acl whitelist.ip dst "/etc/squid/acls/whitelist.ip"
 +  acl whitelist.url url_regex "/etc/squid/acls/whitelist.url"
 +  acl blacklist.ip dst "/etc/squid/acls/blacklist.ip"
 +  acl blacklist.url url_regex "/etc/squid/acls/blacklist.url"
 +  acl kinder.url url_regex "/etc/squid/acls/kinder.url"
 +
 +
 +==== Zugriffsregeln ====
 +
 +Hier werden entsprechend, die oben definierten Quellen bzw. Ziele,
 +erlaubt oder verboten.
 +
 +Die Regel-Zeilen werden von oben nach unten abgearbeitet und mit einem
 +logischen ''ODER'' verknüpft.
 +Regeln in einer Zeile dagegen werden mit einem logischen ''UND'' verknüpft.
 +
 +
 +=== allgemeine Regeln ===
 +
 +Diese braucht man praktisch immer.
 +
 +  http_access allow manager localhost
 +  http_access deny manager
 +  http_access allow purge localhost
 +  http_access deny purge
 +  http_access deny !Safe_ports
 +  http_access deny CONNECT !SSL_ports
 +  http_access allow localhost
 +
 +
 +=== spezielle Regeln ===
 +
 +  http_access deny hosts.deny
 +  http_access allow hosts.admin
 +  http_access deny blacklist.ip
 +  http_access deny blacklist.url
 +  http_access deny hosts.allow !whitelist.ip
 +  http_access allow hosts.allow
 +  http_access allow kinder.allow kinder.url
 +  http_access deny all
 +
 +
 +==== allgemeiner Block ====
 +
 +Dieses braucht man praktisch immer.
 +
 +  icp_access allow localnet
 +  icp_access deny all
 +  http_port 3128
 +  hierarchy_stoplist cgi-bin ?
 +  access_log /var/log/squid/access.log squid
 +  refresh_pattern ^ftp:           1440    20%     10080
 +  refresh_pattern ^gopher:        1440    0%      1440
 +  refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
 +  refresh_pattern (Release|Package(.gz)*)$        0       20%     2880
 +  refresh_pattern .                     20%     4320
 +  acl shoutcast rep_header X-HTTP09-First-Line ^ICY\s[0-9]
 +  upgrade_http0.9 deny shoutcast
 +  acl apache rep_header Server ^Apache
 +  broken_vary_encoding allow apache
 +  coredump_dir /var/spool/squid
 +
 +
 +==== Speichernutzung ====
 +
 +
 +=== für den Squid nutzbarer Arbeitsspeicher ====
 +
 +  ### soviel RAM darf der Proxy nutzen
 +  cache_mem 256 MB
 +
 +
 +=== für den Squid nutzbarer Plattenplatz ====
 +
 +  ### soviel Speicherplatz darf der Proxy auf der Platte nutzen
 +  # 512: gesammter Plattenplatz in MB für den Cache
 +  #  64: Anzahl der Verzeichnisse, die in erster Ebene
 +  # 256: Anzahl der Verzeichnisse, die in zweiter Ebene
 +  cache_dir ufs /var/spool/squid 512 64 256
 +
 +
 +=== der Squid nutzt keinen Plattenplatz ====
 +
 +  # ohne Cache, er darf keinen Speicherplatz auf der Platte nutzen
 +  cache_dir null /var/spool/squid
 +
 +
 +===== Dateien des Regelwerkes =====
 +
 +Als erstes müssen wir das Verzeichnis anlegen, in dem die Dateien des Regelwerkes abgelegt werden können:
 +  # mkdir -p /etc/squid/acls/
 +
 +
 +==== /etc/squid/acls/hosts.allow ====
 +
 +  192.168.1.0/24
 +
 +
 +==== /etc/squid/acls/hosts.deny ====
 +
 +  192.168.1.13
 +
 +
 +==== /etc/squid/acls/localnet ====
 +
 +  10.0.0.0/8
 +  192.168.0.0/16
 +
 +
 +==== /etc/squid/acls/whitelist.ip ====
 +
 +  192.168.1.100
 +  
 +
 +==== /etc/squid/acls/whitelist.url ====
 +
 +  http://www.google.de
 +  http://de.finance.yahoo.com/
 +  http://de.wetter.yahoo.com/
 +  http://www.daswetter.net/
 +
 +
 +==== /etc/squid/acls/blacklist.ip ====
 +
 +  192.168.1.200
 +
 +==== /etc/squid/acls/blacklist.url ====
 +
 +  http://de.yahoo.com/
 +
 +
 +==== /etc/squid/acls/hosts.admin ====
 +
 +Diese Rechner dürfen über all hin:
 +
 +  192.168.25.8 # Laptop
 +  192.168.25.18 # Workstation
 +
 +
 +==== /etc/squid/acls/kinder.allow ====
 +
 +Diese Rechner werden von Kindern verwendet.
 +
 +  192.168.30.100 # Laptop
 +  192.168.30.101 # Workstation
 +
 +
 +==== /etc/squid/acls/kinder.url ====
 +
 +Auf diese Web-Seiten dürfen die Kinder zugreifen.
 +
 +http://www.toggolino.de/
 +http://www.spielen.com/
 +http://www.fragfinn.de/
 +http://www.blinde-kuh.de/
 +