Freigabe und Sperrung von einzelnen Arbeitsplätzen

[Benutzung ] [Installation ] [Konfiguration ] [Deinstallation ] [andere Systeme ]

Benutzung

Der Zugang zum Internet kann bisher nur generell freigegeben oder gesperrt werden. Für den Einsatz des c't/ODS-Kommunikationsservers (Arktur) in  Netzen mit mehr als einem Klassenraum bietet diese Erweiterung die Möglichkeit für einzelne Arbeitsplätze den Zugang zum Internet freizugeben bzw. zu sperren. Die Steuerung erfolgt über ein Formular, das über die URL http://arktur/admin/formzugang.cgi aufgerufen wird. Alle Anwender, die berechtigt sind das Admin-Interface aufzurufen, können dieses Formular aufrufen:
 

Sperrung und Freigabe der Arbeitsplätze

In dem Formular können Sie einzelne Arbeitsplätze oder den gesamten Raum freigeben. Beachten Sie, dass Sie erst die Änderungen durchführen müssen, bevor diese aktiv werden. Ihnen werden nur die Arbeitsplätze des Raumes angezeigt, in dem Sie das Formular aufrufen. Falls Sie alle Arbeitsplätze sehen möchten, wählen Sie als URL http://arktur/admin/formzugang.cgi?alle=ja, dann erhalten Sie eine Übersicht über alle Räume.

Die Sperrung funktioniert nur, wenn Sie den Internetzugang nur über den Proxy zulassen (s. Einstellungen des Webbrowser). D.h. Sie dürfen auf dem  Server das IP-Masquerading nicht aktivieren!

Protokoll

Eine Übersicht über die durchgeführten Freigaben bzw. Sperrungen kann über das Skript http://arktur/admin/logzugang.cgi abgefragt werden.
 

Protokoll der Sperrungen und Freigaben

Diese Dokumentation finden Sie nach der Installation unter der URL http://arktur/admin/sperren.htm
 

Meldungen

Falls der Zugang über den Proxy gesperrt ist erhalten Sie beim Aufruf einer Seite aus dem Internet folgende Meldung:
 

FEHLER


Der angeforderte URL konnte nicht geholt werden


Während des Versuches, den URL http://www.lego.com/ zu laden, 

trat der folgende Fehler auf: 
 

  •      Zugriff verweigert 


Aufgrund von Zugriffsbeschränkungen ist Ihre Anfrage zur Zeit nicht erlaubt.
Bitte kontaktieren Sie Ihren Service Provider, wenn Sie der Meinung sind, daß dies nicht korrekt ist. 


Generated Mon, 26 Feb 2001 08:35:41 GMT by Arktur.rbb.do.nw.schule.de (Squid/2.3.STABLE4) 

Installation

Die Installation ist mit der Version 3.0t bzw. 3.1 (c´t-Version) und 3.2.14 getestet. Ob die Installation auch mit den Versionen 2.x funktioniert kann nicht garantiert werden. Falls nicht können Sie wie unter Deinstallation beschrieben, den alten Zustand wieder herstellen.

Die Installation der Systemerweiterung erfolgt über die Option "Einspielen von Updates" des Sysadm-Interfaces.

a) von Diskette
Falls Sie noch keine entsprechende Diskette haben, müssen Sie die Datei sperren.tar mit rawwrite (s. c´t/ODS-CD) oder unter Linux mit dd if=sperren.tar of=/dev/fd0 bs=512 auf eine leere formatierteDiskette übertragen:

  1. Kopieren Sie auf einemen Windows-Client die Datei sperren.tar aus dem Internet in das Laufwerk T (tmp auf arktur bzw. /home/tmp)
  2. Melden Sie sich auf Arktur als Benutzer root an.
  3. Geben Sie den Befehl cd /home/tmp ein.
  4. Legen Sie die Diskette in das Diskettenlaufwerk.
  5. Jetzt können Sie den Befehl dd if=sperren.tar of=/dev/fd0 bs=512 ausführen.
  6. Nach der Anmeldung als Benutzer sysadm rufen Sie die Update-Option auf (Verwalten / Updates).
  7. Wählen Sie die Option Disk.

b) von Festplatte
Alternativ können Sie auch die Datei sperren.tgz in das Verzeichnis /var/updates kopieren und das Update über die Option HD einspielen.

Falls Sie diese Lösung nicht auf einem c´t/ODS-Server einsetzen können Sie die Installation entsprechend anpassen.

Die Installation führt folgende Änderungen auf Ihrem System durch:
 

Konfiguration

Nach der Installation müssen Sie noch die Arbeitsplätze, die Sie freigeben möchten in die Datei /etc/sperren/squid.sperren_raum eintragen. Verwenden Sie dafür den mc. Jeder Raum beginnt mit dem Schlüsselwort Raum gefolgt von der Bezeichnung. Die folgenden Zeilen enthalten die Bezeichnung des Arbeitsplatzes und seiner IP-Adresse:
 
...
# Syntax
# Raum 418A gruppiert die folgenden Eintraege
#   ^Schluesselwort (RAUM oder raum geht nicht!)
#       ^Bezeichnung der Gruppe
# ROB1 192.168.0.10
#  ^Arbeitsplatz: keine Umlaute oder Leer- und Sonderzeichen ausser _ oder -
#            ^ 1 Leerzeichen zur Trennung
#                      ^IP-Adresse
Raum 001
PC1R001 192.168.0.10
PC2R001 192.168.0.2
PC3R001 192.168.0.3
....
Raum 002 
...

Nach dieser Konfiguration ist die Erweiterung einsatzbereit. 

Hinweis

Falls der Arbeitsplatz in der letzten Zeile nicht in dem Formular erscheint, fügen Sie in der letzten Zeile einen Zeilen an.

Falls Sie die automatische Proxykonfiguration mit netcape.pac verwenden, müssen Sie die Proxykonfiguration manuell vornehmen, um Ausnahmen für den Proxy einzutragen, sonst sperren Sie sich u.U. selber aus:
 

FTP Proxy 192.168.0.1 8080
HTTP Proxy 192.168.0.1 8080
Sicherheits Proxy 192.168.0.1 8080
Kein Proxy für 192.168.0.1,www,arktur

Hinweise

Falls Sie den Eindruck haben, dass diese Erweiterung nicht funktioniert, kontrollieren Sie bitte die Einträge in den Dateien (s.o.) insbesondere die Ergänzungen in  /etc/sudoers und / etc/squid/squid.conf bzw. /etc/squid.conf.in. Achtung: Beim Systemstart wird die Datei squid.conf  durch die Datei squid.conf.in ersetzt.

Insbesondere nach Änderungen der Anwender für das Admin-Interface sollten Sie die Datei /etc/sudoers überprüfen.

Weitere Hinweise zu Fehler können Sie den Dateien /var/log/messages und /var/log/httpd_error.log entnehmen.

Das Protokoll der Freigaben und Änderungen wird automatisch monatlich an den Systemverwalter (root) geschickt und anschließend gelöscht.

Änderungen

Die Voreinstellung der Installation sieht vor, dass grundsätzlich alle Arbeitsplätze gesperrt sind und nur die freigegebenen einen Zugang zum Proxy erhalten. Falls Sie eine umgekehrte Logik wünschen müssen Sie in den Dateien  /etc/squid.conf und /etc/squid.conf.in die Zeile "http_access deny all !sperren_ip" in "http_access deny sperren_ip" ändern. Allerdings entsprechen dann die Kommentare in den Web-Formularen nicht mehr der Logik.

Die Datei /etc/zugang.conf enthält die Konfigurationen des Servers, die in den Skripten benötigt wird. Hier müssen Sie nur Änderungen vornehmen, wenn Sie diese Lösung auf andere Server übertragen oder einige zusätzliche Funktionen ( s.u .) nutzen wollen.

Deinstallation

Die installieren Dateien (s.o) können Sie mit dem mc ohne Probleme wieder löschen. Um nur die Funktionalität zu abzuschalten, genügt es in den Dateien  /etc/squid/squid.conf und /etc/squid.conf.in den Eintrag " http_access deny all !sperren_ip" zu entfernen. Danach funktioniert der Server wieder wie gewohnt.
 

Installation auf anderen Systemen

Diese Erweiterung lässt sich prinzipiell auch auf andere Systeme übertragen. Folgende Voraussetzungen müssen auf den Systemen erfüllt sein: Die Installation erfolgt in folgenden Schritten:
  1. Installation der Dateien
  2. Anpassungen im System
  3. In der Datei /etc/zugang.conf müssen Sie die Pfade bezogen auf Ihr System eintragen (s. Beispiel).
  4. In der Datei /etc/squid.sperren_raum müssen Sie die Arbeitsplätze eintragen (s.o.).
  5. Die Datei job.MONAT.sperren z.B. nach /root/bin kopieren und in die Crontab als Job eintragen , falls Sie ein regelmäßiges Löschen der Log-Datei wünschen. Im Skript den absoluten Pfad der Log-Datei eintragen.
Beispiel der Datei /etc/zugang.conf
 
...
kernelver="1.0"
Diesen Eintrag sollten Sie nicht ändern!
# fuer das Firewalling hier Server IP und Proxy-Port eintragen
server_ip = "192.168.1.21"
server_port = "3128"
Änderungen nicht erforderlich!
# Datei, die die Liste mit den freizugebenden Arbeitsplaetzen enthaelt
plaetze="/etc/squid.sperren_raum"
Absoluten Pfad mit Dateiname eintragen
# Datei, die in der squid.conf eingetragen wird z.B.:
# acl sperren_ip src "/etc/squid.sperren_ip"
squidfile="/etc/squid.sperren_ip"
Absoluten Pfad mit Dateiname eintragen
# Kommandozeile fuer squid
cmdsquid = "sudo /usr/sbin/squid -k reconfigure"
Hier den Befehl eingeben, den der Web-Server nach der Änderung der Proxy-Konfiguration ausführen soll
# Datei, in der die Freigaben und Sperrungen protokolliert werden
# Der Pfad liegt relativ zum Verzeichnis cgi-bin
logfile="log/ipfw_http"
Relativer Pfad zum cgi-bin-Verzeichnis des Web-Servers. Den absoluten Pfad z.B. /usr/local/httpd/cgi-bin/log/ipfw_http im Skript job.MONAT.sperren eintragen
# Hintergrund der Formularseiten. Wird in den BODY-Tag eingefuegt
background=""whttxtr2.jpg"
Hier die URL des Hintergrundbildes der Formulare eintragen
# Web-Verzeichnis der Skripte
cgipath="/cgi-bin/" 
Hier die URL des cgi-Verzeichnisses eintragen
# voruebergehend gesperrte User
denyuser="/etc/sperren/user.gesperrt"
In diese Datei können User eingetragen werden, die vorübergehend keinen Zugang freischalten sollen.
# Ausgabe der letzten Sperrungen ja oder nein
printlog="nein" 
Bei jeder Sperrung und Freigabe werden zur Kontrolle die letzten Aufrufe angezeigt. (Ist das eigene Passwort erraten worden?)


© Dr. Dieter Heimann
November 2001