Freitag, 31. März 2006

Proxy-Server mit Filterfunktion

Ausgangslage:

Auf einem schwächlichen alten PC lief bei uns bisher Windows XP mit dem Jana-Proxy. Über einige wenige Sperrbegriffe konnten wir zumindest das vormals recht beliebte Chatten auf kwick.de in der Schule unterbinden. Es ist unserer Meinung nach nicht Aufgabe der Schule, den Schülern die Infrastruktur zum privaten Chat zur Verfügung zu stellen.
Über Eintragungen in den entsprechenden Konfigurationsdateien von Firefox und dem Sperren der Konfigurationsseite sowie eine Policy für den IE zwingen wir den Browsern den Proxy auf.

Problem:
Unser alter Content-Filter entspricht nicht wirklich den Vorgaben des Jugendschutzes, wir haben zwar ein paar einschlägige Begriffe gesperrt, die im schulischen Bereich nichts zu suchen haben, hier gibt es aber deutlich effektivere Methoden als unsere.
Eine Positivliste kommt nicht in Frage, das würde den Sinn einer Internetrecherche konterkarieren.
Also muss ein besserer Filter her. Unser Arktur hat den mit Squid und SquidGuard bereits eingebaut. Aber unser Versuch, den Arktur-Proxy auf unserem Server zu aktivieren, hat dazu geführt, dass sich nach einiger Zeit niemand mehr auf Arktur einloggen konnte und sogar das DHCP der Clients fehlschlug.

Lösungsansatz:
Ein eigenständiger Arktur-Rechner, der nur die Proxy-Funktion übernimmt, sonst nichts.
Anmerkung: Es gibt zwar die Zwei-Server-Lösung von Arktur, diese hat aber aus unserer Sicht zwei gravierende Probleme.
Sie ist so gut wie überhaupt nicht dokumentiert. Wie arbeiten die beiden Server zusammen? Auf welchem Rechner muss die Internetverbindung aktiviert werden, wie kann ich die Benutzerkennungen zwischen den Servern abgleichen...? Hilfe zu diesen Fragen war auch über die Liste nicht zu bekommen.
Der bisherige Arktur muss umbenannt werden, da der neue Kommunikationsserver zwingend Arktur heißt. Da hängt aber ein ganzer Pferdeschwanz weiterer Probleme dran.
Der neue Arktur (nennen wir ihn Lauraproxy) war schnell aufgesetzt (auf einem etwas moderneren Rechner als der alte Jana-Proxy) und umbenannt, die erste Netzwerkkarte erhielt die gleiche IP wie der alte Proxy, die zweite Netzwerkkarte wurde an ein anderes VLAN gehängt (aber nur, weil fürs erste VLAN gerade keine Buchse frei war) und bekam dort eine freie IP.
Als DNS-Server wurde beim Erstellen des Internetzugangs (Option "Router") der DNS-Server des Berufsschulnetzes eingetragen, als Adresse des Routers das zuständige Gateway des VLANS.

1. Folgeproblem
Leider war der Server danach noch nicht aus anderen VLANs erreichbar, weder per Ping noch per http.
Hier half das Überarbeiten der /etc/route.conf, die genauso wie der Haupt-Arktur auf unser VLAN eingestellt werden musste, damit der Lauraproxy weiß, dass er alle Anfragen an die unterschiedlichen VLANs an das Gateway des ersten VLANs schicken muss.

2. Folgeproblem
Nun war der Lauraproxy per Ping und http von überall aus erreichbar. Allerdings führten Webseitenaufrufe für das Internet über den Lauraproxy ins Leere, er konnte keine DNS-Namensauflösung durchführen.
Die Lösung kam am nächsten Tag über die Liste:
Die Datei /etc/resolv.conf braucht noch den Eintrag des DNS-Servers hinter dem Punkt nameserver. Warum das nicht zusammen mit den Einstellungen für den Internetzugang erledigt wird, bleibt mir rätselhaft.

Erfolg und Finetuning
Nun klappt es auch mit dem Lauraproxy, sogar spürbar schneller als mit dem alten Proxy, die Filterlisten von Squidguard funktionieren ebenfalls gut - zumindest bei einschlägigen Suchbegriffen in Google.
Allerdings blendet Firefox keine Fehlerseite a la "Böse Anfrage!!!" ein, sondern meldet nur, dass der Server (Lauraproxy) einen Loop verursacht - das sagt den Schülern wenig. Aber sie können die gesperrte Seite nicht aufrufen, und darum ging es ja schließlich. Daran gilt es aber noch zu feilen.

Keine Kommentare: