Internetsperre mit Squid realisieren
Benutzergruppen dynamisch Zugriff auf das Internet mit dem Squid Proxy sperren
Ich werde für meine Schule Teile der Netzwerkinfrastruktur in den Informatikräumen installieren. Es ist gewünscht, dass das neue System eine Möglichkeit bietet, den Internetzugriff in einem Raum für alle Schüler zu sperren. Dazu werde ich einen Linux-Server aufsetzen und den Squid Proxy betreiben, üben den die Schüler dann ins Internet gelangen.
Lehrer sollen über eine Administrtionsoberfläche die Möglichkeit haben, den Internetzugriff mit einem Klick zu sperren und wieder freizugeben. Ich werde den Squid-Proxy an den Windows Server 2008 Domain Controller anbinden, über den die Rollenzuweisung aufgelöst werden soll, spricht wenn ein Schüler eine Internetseite aufrufen möchte, dann soll der Squid-Proxy über den Windows Server 2008 je nach Rolle des jeweiligen Benutzers in der Active Directory entweder den Internetzugriff sperren oder freigeben.
Die Anbindung an den Windows Server 2008 werde ich mittels Postings wie Authentifizierung fuer Squid mit LDAP an MS Active Directory versuchen umzusetzen.
Dabei habe ich folgendes Problem: Wie kann man im Squid-Proxy zur Laufzeit am Beste ohne Änderungen an der Konfigurationsdatei einzelne acl's freigeben mit http_access allow und auch wieder sperren?
Mein Ziel ist es, mittels ASP.NET eine Web-Interface zu entwickeln, mit dem der Lehrer das Internet dynamisch freigeben kann. Dabei wäre es wünschenswert, wenn man die Squid-Konfigurationsdatei nicht andauernd ändern müsste. Am besten wäre es, wenn der Squid-Proxy jede Anfrage nach .htm, html, php, aspx, etc. Dateien an meine Webanwendung redirected und diese dann Prüft, ob der Nutzer, der die Internetseite angefragt hat, diese auch öffnen darf oder ob das Internet gesperrt ist.
Oder: Gibt es eine Möglichkeit, einen laufenden Squid-Proxy mittels Komandozeilenparametern neue acl's temporär beizubringen? (die können nach einem Neustart des Squid-Caches auch ruhig verloen gehen)
Ich werde für meine Schule Teile der Netzwerkinfrastruktur in den Informatikräumen installieren. Es ist gewünscht, dass das neue System eine Möglichkeit bietet, den Internetzugriff in einem Raum für alle Schüler zu sperren. Dazu werde ich einen Linux-Server aufsetzen und den Squid Proxy betreiben, üben den die Schüler dann ins Internet gelangen.
Lehrer sollen über eine Administrtionsoberfläche die Möglichkeit haben, den Internetzugriff mit einem Klick zu sperren und wieder freizugeben. Ich werde den Squid-Proxy an den Windows Server 2008 Domain Controller anbinden, über den die Rollenzuweisung aufgelöst werden soll, spricht wenn ein Schüler eine Internetseite aufrufen möchte, dann soll der Squid-Proxy über den Windows Server 2008 je nach Rolle des jeweiligen Benutzers in der Active Directory entweder den Internetzugriff sperren oder freigeben.
Die Anbindung an den Windows Server 2008 werde ich mittels Postings wie Authentifizierung fuer Squid mit LDAP an MS Active Directory versuchen umzusetzen.
Dabei habe ich folgendes Problem: Wie kann man im Squid-Proxy zur Laufzeit am Beste ohne Änderungen an der Konfigurationsdatei einzelne acl's freigeben mit http_access allow und auch wieder sperren?
Mein Ziel ist es, mittels ASP.NET eine Web-Interface zu entwickeln, mit dem der Lehrer das Internet dynamisch freigeben kann. Dabei wäre es wünschenswert, wenn man die Squid-Konfigurationsdatei nicht andauernd ändern müsste. Am besten wäre es, wenn der Squid-Proxy jede Anfrage nach .htm, html, php, aspx, etc. Dateien an meine Webanwendung redirected und diese dann Prüft, ob der Nutzer, der die Internetseite angefragt hat, diese auch öffnen darf oder ob das Internet gesperrt ist.
Oder: Gibt es eine Möglichkeit, einen laufenden Squid-Proxy mittels Komandozeilenparametern neue acl's temporär beizubringen? (die können nach einem Neustart des Squid-Caches auch ruhig verloen gehen)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 109105
Url: https://administrator.de/forum/internetsperre-mit-squid-realisieren-109105.html
Ausgedruckt am: 13.04.2025 um 15:04 Uhr
5 Kommentare
Neuester Kommentar

nimm ipcop mit advanced proxy und classroom extension. da ist alles schon fertig zu haben
Hallo ToniSoft,
die squid.conf immer zur Laufzeit zu verändern ist nicht so gut... da gebe ich Dir Recht. Wie wäre es denn mal mit einem Eintrag ála
mit dem Inhalt ".*" (ohne die Anführungsstriche) und
Die http_access Regel sollte relativ weit oben in der squid.conf stehen. Dann bearbeitest Du nur noch die Datei "sperre" via php oder wg. mir mit ASP.NET wie folgt:
Internet Erlauben:
Internet Verbieten:
Wie Du siehst... nur die Raute erlaubt oder verbietet hier das Internet...
(einfach ausgedrückt...)
Du solltest jedoch dem Lehrer entweder eine Regel zur Squid Konf hinzufügen, die ihm den Zugriff zu jeder Zeit gestattet oder er müsste seinen Browser so konfigurieren, dass er ohne Proxy surft. (sonst kann er selbst nichts mehr über den Proxy aufrufen.)
Desweiteren sollte man noch erwähnen, dass man eine Proxy Authentifizierung mit Benutzern bzw. IP-Adressen bei einer Klasse bevorzugen sollte.
Alles in allem gibt es sicherlich noch viel mehr zu erwähnen, aber das sollte erstmal ein Anfang sein... (wenn man sich näher damit beschäftigen möchte)
Ansonsten würde ich chewbakka zustimmen und auf etwas Vorgefertigtes zurückgreifen.
Gruß und noch viel Erfolg!
Markus
die squid.conf immer zur Laufzeit zu verändern ist nicht so gut... da gebe ich Dir Recht. Wie wäre es denn mal mit einem Eintrag ála
1
acl sperre url_regex -i "/etc/squid/acl/sperre"
1
http_access deny blacklist
Die http_access Regel sollte relativ weit oben in der squid.conf stehen. Dann bearbeitest Du nur noch die Datei "sperre" via php oder wg. mir mit ASP.NET wie folgt:
Internet Erlauben:
1
#.*
Internet Verbieten:
1
.*
Du solltest jedoch dem Lehrer entweder eine Regel zur Squid Konf hinzufügen, die ihm den Zugriff zu jeder Zeit gestattet oder er müsste seinen Browser so konfigurieren, dass er ohne Proxy surft. (sonst kann er selbst nichts mehr über den Proxy aufrufen.)
Desweiteren sollte man noch erwähnen, dass man eine Proxy Authentifizierung mit Benutzern bzw. IP-Adressen bei einer Klasse bevorzugen sollte.
Alles in allem gibt es sicherlich noch viel mehr zu erwähnen, aber das sollte erstmal ein Anfang sein... (wenn man sich näher damit beschäftigen möchte)
Ansonsten würde ich chewbakka zustimmen und auf etwas Vorgefertigtes zurückgreifen.
Gruß und noch viel Erfolg!
Markus
Eine weitere Lösung ist squidGuard. Diese bietet auch einiges an Filter-Möglichkeiten (und auch vorgefertigte Listen - ich vermute mal das z.B. die p0rn-Seiten generell gesperrt werden können/dürfen/sollen.)
Ein Webfrontend wäre mir dafür derzeit nicht bekannt, wäre aber sicherlich in PHP o.ä. nicht allzuschwer zu bauen.
Weiterhin spielt das ding problemlos auch mit Squid zusammen (ich verwende den hier in der Firma schon seid jahren - mit sehr guten Ergebnissen).
Dazu noch passend: Sarg (Squid Analyses Report Generator) -> da hat man auch gleich noch eine Übersicht welche Seiten denn so aufgerufen wurden, auf Wunsch auch so dargestellt das die Auflistung rel. Anonym ist (d.h. Datenschutzkonform).
Ein Webfrontend wäre mir dafür derzeit nicht bekannt, wäre aber sicherlich in PHP o.ä. nicht allzuschwer zu bauen.
Weiterhin spielt das ding problemlos auch mit Squid zusammen (ich verwende den hier in der Firma schon seid jahren - mit sehr guten Ergebnissen).
Dazu noch passend: Sarg (Squid Analyses Report Generator) -> da hat man auch gleich noch eine Übersicht welche Seiten denn so aufgerufen wurden, auf Wunsch auch so dargestellt das die Auflistung rel. Anonym ist (d.h. Datenschutzkonform).
Moinsen,
da bietet Collax was an.
http://www.collax.com/produkte/detail/produkt/Die-Komplettloesung-fuer- ...
Ist Linux mit Squid , Firewall und alles was dazugehört [Eierlegende Wollmilchsau].
Dort ist unter anderem auch eine Web-Gui integriert.
Irgendwo dort gibts auch nen kostenlosen Download für 5 User.
da bietet Collax was an.
http://www.collax.com/produkte/detail/produkt/Die-Komplettloesung-fuer- ...
Ist Linux mit Squid , Firewall und alles was dazugehört [Eierlegende Wollmilchsau].
Dort ist unter anderem auch eine Web-Gui integriert.
Irgendwo dort gibts auch nen kostenlosen Download für 5 User.