Administratorhandbuch:Squid-Begrenzung
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