• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Internetzugang für bestimmte IP-Adressen temporär abschalten

Hallo,
ich habe in meinen 19 Schulen jeweils ein Linux Router und ein Linux Server installiert. Auf den Maschinen läuft Suse 7.3 sehr stabil, darum keine Notwendigkeit zu migrieren.
Zugang zum Internet geht über gesponserten DSL Zugang. Im Router läuft die Firewall mit iptables, selbst geschrieben.
Auf dem Router läuft ein transparenter Proxy Squid (Port 3128). Als Parent Proxy läuft eine HAVP (Http Anti Virus Programm), der den HTTP Verkehr zentral mit Clamav scannt. Das läuft alles sehr stabil.

Nun möchte ich, dass Lehrer über eine WEB Oberfläche bestimmten Klassenräumen den Internetzugang sperren können, damit Klausurarbeiten durchgeführt werden können. Dabei bin ich auf den WPM (0.85) (Webbased Proxy Manager) gekommen, der über eine Web-Interface auf dem Router IP Adressbereiche sperren kann. Leider ist der WPM nicht weiterentwickelt und setzt außerdem noch auf ipchains auf.
Ich habe versucht das entsprechende CGI auf IP-Tables umzuschreiben, aber mit wenig Erfolg und bekomme zahlreiche Fehlermeldungen.

Nun meine Frage: Hat dafür jemand eventuell dafür eine Lösung ??
Für eine oder mehrere Antworten wäre ich dankbar.

MfG Peter
 

nbkr

Guru
Theoretisch kannst Du Iptables auch über ein CGI Script ansteuern. Ist aber wenig Gebastel notwendig weil iptables nur mit rootrechten funktioniert, man aber einen Webserver nicht damit laufen lassen sollte.

Je nach Zeit & Kenntnisstand kann man das Problem über verschiedene Wege lösen. Einfach wäre es über sudo dem User unter dem der Apache (bzw. das CGI Script) läuft das Recht zu geben iptables auszuführen. Richtig schick ist es einen eigenen Verwaltungsdaemon zu schreiben mit welchem der Webserver über einen Socket oder einen TCP/UDP Port kommunziert. Der Daemon läuft dann als root und steuert die Firewall und die Clients müssen sich authentifzieren.

Wegen der Version SuSE 7.3: Das sollte mal aktualisiert werden. SuSE 7.3. wird nicht mehr mit Sicherheitsupdates versorgt. Wenn unter den Schülern ein nur etwas helleres Licht ist hackt der/die sich da vielleicht rein.
 
OP
I

inform_schule

Newbie
nbkr Danke für die erste Antwort.
Vielleicht hat jemand doch eine fertige Lösung, wie der WPM 0.86 beta (Webbased Proxy Manager) oder hat Lust, ihn weiter zu entwickeln/anzupassen.

Die Anforderungen an diese Lösung sollten sein:
Administration von den Lehrern selber über Webbrowser.
Wenn möglich über https Paßwort login.
Erstellen von IP-Gruppen, die temporäre nicht ins Internet sollen.

Der WPM selber bietet fast alles, nur dass er noch mit ipchains arbeitet und noch an anderen Stellen angepasst werden muss.

Auch die SuSE Version 7.3 habe ich vor auf 10.0 hochzurüsten, ne Menge Arbeit, da gleich 19 mal.

MfG Peter
 

framp

Moderator
Teammitglied
Technisch geht das recht einfach mit ein paar iptables Befehlen. Wie das per Browser zu machen ist weiss ich nicht.

Warum erstellst Du aber nicht einfach ein parametrisiertes shellscript, welches fuer den parameter KLASSENRAUM die entsprechenden iptables Befehle absetzt um die Verbindung zu unterbinden. Mit einem weiteren Parameter (enable/disable) kann man anschliessend die Verbindung wieder freigeben.
 

sparrow

Member
framp schrieb:
Warum erstellst Du aber nicht einfach ein parametrisiertes shellscript, welches fuer den parameter KLASSENRAUM die entsprechenden iptables Befehle absetzt um die Verbindung zu unterbinden. Mit einem weiteren Parameter (enable/disable) kann man anschliessend die Verbindung wieder freigeben.

Ich glaube das nützt ihm nur bedingt weiter.
Wenn ich das richtig verstehe gibt es einen Router für einen ganzen Haufen von Klassenzimmern.
In den Klassenzimmern läuft aber wahrscheinlich kein Linux, also braucht er zwingend ein Webfrontend das der Router über Apache ausliefern kann.

Das ist doch aber kein Problem.
Ich würde so vorgehen:
Einfache HTML-Seite in einem mit .htaccess geschützten Verzeichnis indem der Klassenraum ausgewält wird der isoliert werden soll, und dann einfach ein cgi-script auführen, dass die entsprechenden Änderungen an der Konfiguration durchführt.
Das skript kann man dann glaube ich auch mit SUID dazu bringen immer als root zu funktionieren, dann wären die Änderungen an der Firewall kein Problem.
Eine Erklärung wie man ein Bash-Script als CGI-Script verwendet findet man
hier.

Gruß
Sparrow
 

framp

Moderator
Teammitglied
@sparrow Bei WIN Boxen kann man per putty und parametrisiertem ssh die remoten scripts ausfuehren. Der putty call als Link mit Fancy Icon auf den WIN Desktop - click - und done ;-)
 

sparrow

Member
framp schrieb:
@sparrow Bei WIN Boxen kann man per putty und parametrisiertem ssh die remoten scripts ausfuehren. Der putty call als Link mit Fancy Icon auf den WIN Desktop - click - und done ;-)

Ich mach mir da auch weniger Sorgen um die Programme als um die Lehrer die die benutzen sollen ;-)
Das beste Wäre wenn die natürlich auch den aktuellen Status angezeigt bekommen, also ob der Raum gerade isoliert ist oder nicht.
 
OP
I

inform_schule

Newbie
Besten Dank für Euer Interesse und die Anregungen.

Das alles was Ihr vorgeschlagen habt, hat der WPM 0.85 schon.
Er hat eine WEB Oberfläche mit login, und der User kann IP Adressen z.B. bestimmten Klassen zuordnen und Diese dann freigeben oder sperren.
Das wird als Status dann in rot oder grün angezeigt.

Nur leider ist der WPM nicht mehr in SuSe 10.0 enthalten (in 7.3 war er noch drin) und ist auch nicht weiterentwickelt.

Leider fehlt mir offensichtlich das tiefere Wissen und auch nicht die Zeit.

Vielleich hat ja jemand von Euch Lust und Muse hier tätig zu werden und den WPM 0.85 weiterzuentwickeln/anzupassen.

Die Linux Gemeinde hat dann sicher auch etwas davon.

Gruß
Peter
 
Oben