Proxy einrichten: Difference between revisions
(Die Seite wurde neu angelegt: „Ein Proxy bringt im Netzwerk beispielsweise den Vorteil, dass Anfragen von verschiedenen Hosts zu einer bestimmten URL gebündelt werden können. Außerdem lassen…“) |
|||
Line 62: | Line 62: | ||
==weitere Tipps== |
==weitere Tipps== |
||
In der /etc/squid |
In der /etc/squid/squid.conf kann man verschiedene Zugangsregeln einstellen. |
||
Beispiele: |
Beispiele: |
Latest revision as of 22:19, 13 March 2012
Ein Proxy bringt im Netzwerk beispielsweise den Vorteil, dass Anfragen von verschiedenen Hosts zu einer bestimmten URL gebündelt werden können. Außerdem lassen sich Netzwerkaktivitäten besser mitloggen (es lebe der Überwachungsstaat!). Wir richten hier einen Squid als Proxy ein.
Zunächst muss das Paket „squid“ installiert werden (z.B. unter Debian mit 'aptitude install squid3'). Die zentrale Konfigurationsdatei ist die Datei /etc/squid/squid.conf. Diese dient auch gleich als Dokumentation, daher die vielen auskommentierten(#) Zeichen.
Konfigurationsbeispiele
- den http_port auf 8080 legen:
http_port 8080
- einen weiteren Squidhost (10.0.1.42, port 8888) als übergeordneten Cache
- festlegen, keine icp-Querys zulassen:
cache_peer 10.0.1.42 parent 8888 0 default no-query
- den Zugriff aus dem eigenen LAN erlauben
acl our_networks src 192.168.63.0/24 http_access allow our_networks
- den Zugriff aus anderen Netzen verbieten
http_access deny all
- Alle Antworten erlauben
http_reply_access allow all
- dynamische Seiten erlauben (z.B. Google-Suche)
hierarchy_stoplist cgi-bin ?
Man kann auch bestimmte URLs verbieten:
# user defined ACL's acl <NAME> dstdomain URL(ohne www.) http_access deny <NAME>
z.B. die URL www.hacker.de soll verboten werden (beachte den Punkt am Anfang!)
acl NOHACK dstdomain .hacker.de http_access deny NOHACK
Anmerkung: Die Reihenfolge der ACLs spielt eine Rolle. Sobald Squid eine matchende Regel findet, wendet er diese an und springt aus dem Abschnitt raus, z.B.:
http_access allow <bestimmte IP-Adressen> http_access deny <bestimmte Seite>
Falls diese Seite von einer der als erlaubt definierten Adressen angesurft wird, wird sie nicht verboten, da Squid bereits in der Zeile „http_access allow...“ den Zugriff erlaubt hat. Die umgekehrte Reihenfolge würde den Zugriff auf die Seite verbieten.
Komplexeres Beispiel
Per default sind alle nicht-Standard-Ports (80, 443, 21...) vom Squid verboten (Stichwort acl Safe_ports). Nun soll der Port 59 für eine bestimmte URL, nämlich switch42.mydomain.de, erlaubt werden.
acl additional_ports port 59 acl SWITCH dst switch42.mydomain.de http_access allow SWITCH additional_ports
(Hier handelt es sich um eine UND-Verknüpfung)
# Deny requests to unknown ports http_access deny !Safe_ports # Deny CONNECT to other than SSL ports http_access deny CONNECT !SSL_ports
(Diese Ports sind durch Defaults in der Config festgelegt und können natürlich auch beliebig angepasst werden)
weitere Tipps
In der /etc/squid/squid.conf kann man verschiedene Zugangsregeln einstellen.
Beispiele:
nur Zugriff von Rechnern aus der eigenen Domain erlauben:
acl local srcdomain mydomain.de http_access deny !local
Beim Einfügen immer auf die passende Stelle achten, jedenfalls vor
http_access allow all
eine Hälfte der Rechner darf zur Hochlastzeit nicht zugreifen:
acl part src 192.168.5.2-192.168.5.128/255.255.255.0 acl range1 time 12:00-14:00 http_access deny part range1
bestimmte Benutzer dürfen zur Hochlastzeit nicht zugreifen:
acl group1 user A B C http_access deny group1 range1
Steuerung
Squid starten | stoppen
# /etc/init.d/squid start | stop | restart
debugging:
# /usr/sbin/squid -k debug