Administratorhandbuch:Squid-Begrenzung: Unterschied zwischen den Versionen

Aus Delixs
Zur Navigation springen Zur Suche springen
(kein Unterschied)

Version vom 2. Januar 2006, 09:23 Uhr

ZumTest Nach Meinung des Autors ist diese Seite fertig. Es wäre schön, wenn ausgiebige Tests durch viele Nutzer eventuell noch vorhandene Fehler beseitigen helfen.


Squid-Begrenzung

Ausgangssituation

Ab und zu kommt von Schulen die Frage: "Können wir die Anmeldung am Squid ähnlich begrenzen wie unter Samba?" Also Squid so konfigurieren, dass ein Schüler sich nur einmal am Squid anmelden kann?

Die Antwort lautet: Ja.

Änderungen am Arktur-Schulserver

Hierfür definieren Sie in der Konfigurationsdatei von Squid eine spezielle Regel (ACL). Dazu gehen Sie als root nach "/etc/squid" und ändern dort die Dateien "squid.conf" und "squid.conf.in" folgendermaßen:

  acl maxlogon max_user_ip -s 1

Der Parameter -s bewirkt später das "harte" Blocken, d.h. wenn sich der Schüler an einem anderen Rechner anmelden will, bekommt er sofort die rote Karte. Ohne -s lässt Squid ihn noch ab und zu durch - in der Hoffnung, dass der Schüler den Fehler erkennt.

Zu jeder Regeldefinition gehört auch eine http_access-Anweisung, damit sie überhaupt angewendet wird. Hier wäre dies:

  http_access deny !maxlogon

Wichtig hierbei: Squid speichert ja die Anmeldung (für diese Lösung ist also die Proxy-Anmeldung notwendig) für eine gewisse Zeit. Wenn nun aber ein Raumwechsel ansteht, dann kann es passieren, dass Squid noch die Anmeldung unter der alten IP gespeichert hat und den Nutzer dann im neuen Raum nicht hinein lässt. Deshalb müssen Sie zusätzlich noch einen Parameter ergänzen.

  authenticate_ip_ttl 5 minutes

In diesem Beispiel cached der Squid das Passwort 5 Minuten - normalerweise ausreichend für eine Schulstunde, in der die Schüler oft neue Webseiten aufrufen.

Beachten Sie, dass sich nun kein Nutzer mehr an zwei Rechnern anmelden kann!

Weiterhin müssen zwischen dem Abmelden an dem einen und der erneuten Anmeldung an einem zweiten PC mindestens 5 Minuten (oder was Sie eingestellt haben) vergehen!

Beachten Sie weiterhin: wenn der Benutzer länger als 4 Minuten (oder was Sie eingestellt haben) keine neue Seite aufruft, so muss er den Browser schließen und sich neu an Squid anmelden!

Die Änderungen können Sie im Abschnitt 7 wie folgt eintragen:

  
  http_access deny Dangerous_ports
  http_access deny !allowed_hosts
 
  # Wenn sich die Nutzer mit ldap-auth an Squid
  # anmelden sollen, dann müssen die folgenden
  # fünf Zeilen aktiviert werden
  auth_param basic program /usr/squid/bin/squid_ldap_auth -v 3 -b
  "o=SCHULE,dc= ....
  # Achtung obige Zeile unvollständig! Ändern Sie Ihre nicht!
  auth_param basic children 20
  auth_param basic realm Internetzugang des Kollegs
  acl all2 proxy_auth REQUIRED src 0.0.0.0/0.0.0.0
 
  # folgendes muss eingefügt werden ----
 
  # Nutzer nur eine Anmeldung gestatten
  acl maxlogon max_user_ip -s 1
  authenticate_ip_ttl 5 minutes
  http_access deny !maxlogon
 
  # bis hierher ------------------------
 
  http_access allow all2
 
  # und die folgende Zeile ist mit einem #
  # zu deaktivieren!

Verwenden Sie also diese Regel mit Vorsicht, da ein 5-minütiger Neustart Ihres Browsers (und Neuanmeldung am Proxy) bei sehr langsamen Lesen der Seiten die Folge sein könnte!

Nach dem Eintragen der Änderungen müssen Sie Squid noch neu starten:

 /etc/init.d/squid restart

zurück | Hauptseite