Administratorhandbuch:Squid-Begrenzung
Diese Seite sollte nochmals überarbeitet werden. Eine Begründung befindet sich in der Regel unter Diskussion (oben). |
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äßt Squid ihn noch ab- und zu durch - in der Hoffnung, dass der Schüler den Fehler erkennt.
Zu jeder ACL gehört auch eine http_acess-Anweisung. 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 hineinläßt. Deshalb müssen Sie zusätzlich noch dem Parameter:
authenticate_ip_ttl 4 minutes
ergänzen. In diesem Beispiel cached Squid das Passwort 4 Minuten - normalerweise ausreichend für eine Schulstunde in welcher die Schüler oft neue Seiten 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 4 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 4 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!