Administratorhandbuch:Squid-Begrenzung: Unterschied zwischen den Versionen
(Redaktionelle Nacharbeit) |
|||
Zeile 1: | Zeile 1: | ||
__NOTOC__ | __NOTOC__ | ||
{{ | {{zumTest}} | ||
Ab und zu kommt von Schulen die Frage: "Können wir die Anmeldung am | == Squid-Begrenzung == | ||
Squid ähnlich begrenzen, wie unter Samba?" Also Squid so konfigurieren, | |||
dass ein Schüler sich nur einmal am Squid anmelden kann? | === 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. | Die Antwort lautet: Ja. | ||
== Änderungen am Arktur-Schulserver == | === Änderungen am Arktur-Schulserver === | ||
Hierfür definieren Sie in der Konfigurationsdatei von Squid eine spezielle Regel (ACL). | 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: | Dazu gehen Sie als root nach "/etc/squid" und ändern dort die Dateien "squid.conf" und "squid.conf.in" folgendermaßen: | ||
<pre> | |||
acl maxlogon max_user_ip -s 1 | acl maxlogon max_user_ip -s 1 | ||
</pre> | |||
Der Parameter -s bewirkt später das "harte" Blocken, d.h. wenn sich der | 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. | ||
Schüler an einem anderen Rechner anmelden will, bekommt er sofort die | |||
rote Karte. Ohne -s | |||
Hoffnung, dass der Schüler den Fehler erkennt. | |||
Zu jeder | Zu jeder Regeldefinition gehört auch eine http_access-Anweisung, damit diese überhaupt angewendet wird. Hier wäre dies: | ||
<pre> | |||
http_access deny !maxlogon | http_access deny !maxlogon | ||
</pre> | |||
Wichtig hierbei: Squid speichert ja die Anmeldung (für diese Lösung ist also die Proxy-Anmeldung notwendig) | '''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. | ||
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 | |||
Sie zusätzlich noch | |||
<pre> | |||
authenticate_ip_ttl 4 minutes | authenticate_ip_ttl 4 minutes | ||
</pre> | |||
In diesem Beispiel cached der Squid das Passwort 4 Minuten - normalerweise ausreichend für eine Schulstunde in welcher die Schüler oft neue Webseiten aufrufen. | |||
normalerweise ausreichend für eine Schulstunde in welcher die Schüler | |||
oft neue | |||
Beachten Sie, dass sich nun kein Nutzer mehr an zwei Rechnern anmelden kann! | 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 | 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! | ||
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! | 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! | ||
Zeile 47: | Zeile 44: | ||
Die Änderungen können Sie im Abschnitt 7 wie folgt eintragen: | Die Änderungen können Sie im Abschnitt 7 wie folgt eintragen: | ||
<pre> | |||
http_access deny Dangerous_ports | http_access deny Dangerous_ports | ||
http_access deny !allowed_hosts | http_access deny !allowed_hosts | ||
# Wenn sich die Nutzer mit ldap-auth an Squid | # Wenn sich die Nutzer mit ldap-auth an Squid | ||
# anmelden sollen, dann müssen die folgenden | # anmelden sollen, dann müssen die folgenden | ||
# fünf Zeilen aktiviert werden | # fünf Zeilen aktiviert werden | ||
auth_param basic program /usr/squid/bin/squid_ldap_auth -v 3 -b | auth_param basic program /usr/squid/bin/squid_ldap_auth -v 3 -b | ||
"o=SCHULE,dc= .... | "o=SCHULE,dc= .... | ||
# Achtung obige Zeile unvollständig! Ändern Sie Ihre nicht! | # Achtung obige Zeile unvollständig! Ändern Sie Ihre nicht! | ||
Zeile 60: | Zeile 57: | ||
auth_param basic realm Internetzugang des Kollegs | auth_param basic realm Internetzugang des Kollegs | ||
acl all2 proxy_auth REQUIRED src 0.0.0.0/0.0.0.0 | acl all2 proxy_auth REQUIRED src 0.0.0.0/0.0.0.0 | ||
# folgendes muss eingefügt werden ---- | # folgendes muss eingefügt werden ---- | ||
# Nutzer nur eine Anmeldung gestatten | # Nutzer nur eine Anmeldung gestatten | ||
acl maxlogon max_user_ip -s 1 | acl maxlogon max_user_ip -s 1 | ||
authenticate_ip_ttl 4 minutes | authenticate_ip_ttl 4 minutes | ||
http_access deny !maxlogon | http_access deny !maxlogon | ||
# bis hierher ------------------------ | # bis hierher ------------------------ | ||
http_access allow all2 | http_access allow all2 | ||
# und die folgende Zeile ist mit einem # | # und die folgende Zeile ist mit einem # | ||
# zu deaktivieren! | # zu deaktivieren! | ||
</pre> | |||
Verwenden Sie also diese Regel mit Vorsicht, da ein 5-minütiger Neustart Ihres Browsers | 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! | (und Neuanmeldung am Proxy) bei sehr langsamen Lesen der Seiten die Folge sein könnte! | ||
Version vom 1. Januar 2006, 17:02 Uhr
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 diese ü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 4 minutes
In diesem Beispiel cached der Squid das Passwort 4 Minuten - normalerweise ausreichend für eine Schulstunde in welcher 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 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!