Administratorhandbuch:Squid-Begrenzung: Unterschied zwischen den Versionen

Aus Delixs
Zur Navigation springen Zur Suche springen
(Redaktionelle Nacharbeit)
Zeile 1: Zeile 1:
__NOTOC__
__NOTOC__
{{Uberarbeiten}}
{{zumTest}}


== Ausgangssituation ==


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 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:
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 hineinläßt. Deshalb müssen  
Sie zusätzlich noch dem Parameter:


<pre>
   authenticate_ip_ttl 4 minutes
   authenticate_ip_ttl 4 minutes
</pre>


ergänzen. In diesem Beispiel cached Squid das Passwort 4 Minuten -  
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 Seiten aufrufen.


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

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 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!



zurück | Hauptseite