Proxy-Server aufsetzen [2]

Konfiguration des Squid-Proxy-Servers

- Ein Proxy-Server ist ein Stellvertreter für die Rechner in einem Netzwerk
- Er lädt bsp. Webseiten herunter, speichert diese in einem Cache und stellt diese dem Netzwerkrechner zur Verfügung
- Im www ist nur der Proxy bekannt, nie der eigentliche Netzwerkrechner.
- Durch das Caching kann die Leistungsfähigkeit gesteigert und der Traffic gesenkt werden, da Webseiten nicht erneut heruntergeladen werden
- Außerdem können durch Zugriffskontrollen (ACL) festgelegt werden, wer welche Dienste in Anspruch nehmen darf.
- Squid kann anders als Paktfilter-Firewalls auch HTTP- und FTP-Verbindungen analysieren => Höhere Sicherheit
- Squid wird in der Datei /etc/squid.conf konfiguriert.

# Auszug /etc/squid.conf
# Auf diesen Ports lauscht squid
http_port localhost:3128
http_port 10.0.0.1:8080
# Internet Cache Protocol dient der Kommunikation des Squids mit anderen Proxies
# 0 deaktiviert dieses Protokoll.

icp_port 0
# Reservierter Arbeitsspeicher für besonders häufig angeforderte Dokumente
cache_mem 32 MB
# Definition des Squid-Cache-Verzeichnis. Das UnixFileSystem (UFS) wird in der
# Regel verwendet. 100 steht für 100 MB Minimum-Speicher, die 16
# für 16 Unterverzeichnisse und die 256 für 256 weitere Vrz in jedem Unter-Vrz.
cache_dir ufs /var/cache/squid 100 16 256
# Log-Dateien definieren
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log

Zugriffskontrolle per Access Control Lists (ACL)

Über die Access-Control-Lists wird der Zugriff auf bestimmte Medien von Clients aus dem Netzwerk definiert.

Syntax:
acl NAME TYP element1 element2 element3 usw
acl meineACL src 192.168.0.0/24
acl sperre dstdomain boeseDomain.com
acl business_hours time M T W H F 9:00-17:00


Regeln definieren
http_access allow meineACL
http_access deny sperre
http_access allow business_time
http_access deny all //
Standardmäßig alles verbieten
   
Squid-Typen
src 192.168.0.0/24 = Aus diesem Netz sind Anfragen erlaubt
dst 212.85.63.0/16 = Ziel-IP-Adressen, auf die zugegriffen werden darf
dstdomain = Das Laden von bestimmten Domains erlauben/verbieten
dstdom_regex = Wie dstdomain, zusätzlich können  Reguläre Ausdrücke verwendet werden
browser -i AUSDRUCK = Bezieht sich auf den Browser-Typ (mithilfe von RegExp)
arp MAC-Adresse = Zugriff via Mac-Adresse eines anfragenden Clients definieren
time TAG 9:00-12:00 = In diesem Zeitraum darf zugegriffen werden. M(Montag), D(Dienstag), W(Mittwoch), usw.
url_regex = Zugriff auf URLs mithilfe von Regulären Ausdrücken festlegen
urlpath_regex = Den URL-Pfad auswerten
port = Ziel-Portnummern definieren
proto = Definieren einer ACL, welche sich bestimmte Protokolle (FTP, HTTP, etc) bezieht
external = Einbinden eines externen Hilfsprogramms

Benutzerauthentifizierung in Squid

Squid erlaubt in der Standard-Konfiguration jedermann und -frau den Zugang ohne einen Authentifizierungsprozess. Um die Benutzer zu überprüfen (d. h. nur zulässige Benutzerinnen von jeder Maschine im Netzwerk), bietet Squid die Möglichkeit zur Authentifizierung, jedoch über ein externes Programm. In folgendem Beispiel erfolgt die Authentifizierung mittles ncsa.

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/http_users
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 3 hours


acl firmenNetz src 192.168.0.0/24
acl firmenNetz proxy_auth REQUIRED
http_access allow firmenNetz

 

 

http://www.selflinux.org/selflinux/html/squid01.html#d88e32