Benutzer:Kirmse/klausur
Das Konzept (Anforderungen und Ziele) dieser Klausurumgebung
alle Schüler haben die gleichen, stabilen(!) Arbeitsbedingungen
Alle Rechner der Schule werden bei jeder Anmeldung mit folgenden Einstellungen per config.pol
versorgt:
- Benutzerprofile werden erzwungen
- Nutzung von Poledit wird erzwungen
- Nutzung von DHCP wird erzwungen
- Nutzung von DNS wird erzwungen
- Windows-NT-Anmeldung (Domänenname SCHULE) wird erzwungen
- Arbeitsgruppe SCHULE wird erzwungen
- Anmeldung des Users wird erzwungen
- Freigabe von Dateien und Ordnern wird verhindert
- Freigabe von Druckern wird verhindert
- MS-DOS-Programme ausführen wird verhindert
- MS-DOS-Modus wird verhindert
- Registrierungseditoren werden abgeschalten
Es werden alle Klausuraccount (mit einer reg-Datei) wie folgt konfiguriert. Diese Einstellungen werden dadurch gesichert, dass nach der Einrichtung des Accounts die user.dat
in user.man
umbenannt wird. Durch das Umlenken auf Verzeichnisse des Laufwerks p ist auch ein bequemes und schnelles Ändern der Einstellungen möglich.
- der Ordner "Autostart" wird vom Laufwerk p geholt
- der Ordner "Favoriten" wird vom Laufwerk p geholt
- der Ordner "Programme" wird vom Laufwerk p geholt
- der Ordner "Desktop" wird vom Laufwerk p geholt (schreibgeschützt!)
- der Ordner "Sendto" wird vom Laufwerk p geholt
- der Ordner "Eigene Dateien" wird auf Laufwerk u verlegt
- aus dem Startmenü wird der Punkt "Dokumente" ausgeblendet
- aus dem Startmenü wird der Punkt "Einstellungen" ausgeblendet
- aus dem Startmenü wird der Punkt "Suchen" ausgeblendet
- aus dem Startmenü wird der Punkt "Ausführen" ausgeblendet
- aus dem Explorer wird der Punkt "Versteckte und Systemdateien ausblenden" ausgewählt
- aus dem Explorer wird der Punkt "Datei - Eigenschaften" ausgeblendet
- aus dem Explorer wird der Punkt "Ordneroptionen" ausgeblendet
der Schüler darf nichts auf seinen Platz ablegen können
Dieses Problem könnte man mit dem "Spickzettel" bei traditionellen Arbeiten vergleichen. Hier geht es darum, dass der Schüler keine Beispieltexte, Programmschnipsel, Bildschirmkopien u.a.m. zum Abschreiben oder gar als Vorlage zum Weiterverarbeiten verwendet.
Lösung: Wächerkarten
Hinweis: Bei Einsatz von Wächterkarten oder vergleichbaren Systemen kann nur dann garantiert werden, dass keine "Spickzettel" auf den lokalen Festplatten sind, wenn vor der Klausur die PCs neu gebootet werden. Abmelden und neu Anmelden reicht nicht.
der Schüler darf nicht mit anderen Schülern Kontakt aufnehmen
Lösung: managebare Switches
Es sollten jeweils der Server und eine Workstation in ein VLAN (virtual LAN) gepackt werden. Damit ist nur eine Kommunikation Server<->Workstation, nicht aber Workstation<->Workstation möglich.
der Schüler darf nur auf bereitgestellte Ressourcen zugreifen
Programme: Die Klausuraccounts werden so eingerichtet, das der Schüler nur die Programme starten und damit nutzen kann, die explizit durch den Admin bzw. Lehrer freigegeben sind. Das läßt sich unter Windows sehr einfach mit einer reg-Datei einstellen bzw. ändern.
Daten: Die Schüler dürfen nur die Daten und Dienste nutzen, die speziell für sie freigegeben sind. Das bedeutet insbesondere, dass alle Dienste und Freigaben auf Arktur für die Klausurschüler gesperrt sind. Dazu werden teilweise die Dienste selbst (Samba - Laufwerk p und t), die Logfilekontrolle in Verbindung mit Belehrung (Homeverzeichnisse anderer Klausurschüler) und die Firewall (insbesondere wegen dem Apache und allen webbasierten Diensten) genutzt.
der Schüler darf nur den zugewiesenen Klausuraccount nutzen
Derzeit kann dieses nur gewährleistet werden, wenn der Lehrer nach dem Vorbild der BW-ML die Rechner selbst anmeldet und das Passwort nicht bekannt gibt. Dadurch ist gewährleistet, dass kein Schüler vor und nach der Klausur auf diese Klausurumgebung zugreifen kann und falls er während der Klausur den Account wechselt, sperrt er sich selbst aus. Wenn es nicht am Stundenende passiert, wird dieser Betrug sicherlich bemerkt.
der Lehrer kann seine Materialien bequem bereitstellen
es werden die Materialien in die Homeverzeichnisse der Klausurnutzer kopiert. Die Materialien werden schreibgeschützt zur Verfügung gestellt, um z.B. bei versehentlichem Löschen der Aufgabenstellung dem Schüler keine Nachteile entstehen zu lassen.
der Lehrer kann die Ergebnisse bequem einsammeln
es werden durch ein Script die Dateien aus einem speziellen Verzeichnis aus dem Homeverzeichnis des Schülers in ein Verzeichnis des Lehrers kopiert. Um Missverständnisse auszuschließen und damit Schülerarbeiten "verloren" gehen, sollten alle Dateien dieses Verzeichnisses (rekursiv) kopiert werden.
der Admin kann verschiedene Klausurumgebungen bereitstellen
durch die Lösung wird auch bei mehreren Kabinetten gewährleistet, dass z.B. Kurse der gleichen Jahrgangsstufe ihre Arbeiten parallel schreiben oder das in zwei Räumen Arbeiten in verschiedenen Fächern geschrieben werden können.
Konfiguration und Absicherung der Clients
eine Musterlösung für Windows 98
stabile Ausgangskonfiguration mit Hilfe einer config.pol
In ersten Scritt wird dafür gesorgt, dass für jeden Rechner gilt:
- Benutzerprofile werden erzwungen
- Nutzung von Poledit wird erzwungen
- Nutzung von DHCP wird erzwungen
- Nutzung von DNS wird erzwungen
- Windows-NT-Anmeldung (Domänenname SCHULE) wird erzwungen
- Arbeitsgruppe SCHULE wird erzwungen
- Anmeldung des Users wird erzwungen
- Freigabe von Dateien und Ordnern wird verhindert
- Freigabe von Druckern wird verhindert
- MS-DOS-Programme ausführen wird verhindert
- MS-DOS-Modus wird verhindert
- Registrierungseditoren werden abgeschalten
Dazu wird mit Hilfe von Poledit und einen speziellen adm-File eine Datei config.pol
erstellt.
In Poledit sieht das so aus:
Die so erstellte config.pol
speichern Sie unter /etc/samba/scripts
ab.
saubere Festplatte durch Wächerkarte
- muss noch erstellt werden. Bitte um Unterstützung, da ich selbst keine Wächerkarten einsetze. Gleiches gilt für die beiden ersten Alternativen!
Alternative 1: Rembo - siehe FAQ (Todo)
Alternative 2: Kioskmodus von WinXP - siehe FAQ (Todo)
Alternative 3: Umsetzen der Schüler - sehr schwache Lösung, aber wirkungsvoll und effektiv. Für Leistungskontrollen und Übungen durchaus brauchbar.
Unterbinden der Kontakte zu anderen Schülern durch VLANs
- muss noch erstellt werden. Bitte um Unterstützung, da ich selbst keine managebaren Switche einsetze. Gleiches gilt für Alternative 1!
Alternative 1: Nutzung der pers. Firewall von Windows XP - siehe FAQ ...
Alternative 2: es werden (äußerst restriktiv!) nur solche Programme freigegeben, mit denen keine Kommunikation übers Netz möglich ist. (siehe zweite reg-Datei im nächsten Punkt)
Einrichten der Klausuraccounts
Damit alle Klausurnutzer die gleiche, vom Lehrer definierte Arbeitsumgebung erhalten und behalten (müssen), wird nun Folgendes eingestellt:
- der Ordner "Autostart" wird vom Laufwerk p geholt
- der Ordner "Favoriten" wird vom Laufwerk p geholt
- der Ordner "Programme" wird vom Laufwerk p geholt
- der Ordner "Desktop" wird vom Laufwerk p geholt (schreibgeschützt!)
- der Ordner "Sendto" wird vom Laufwerk p geholt
- der Ordner "Eigene Dateien" wird auf Laufwerk u verlegt
- aus dem Startmenü wird der Punkt "Dokumente" ausgeblendet
- aus dem Startmenü wird der Punkt "Einstellungen" ausgeblendet
- aus dem Startmenü wird der Punkt "Suchen" ausgeblendet
- aus dem Startmenü wird der Punkt "Ausführen" ausgeblendet
- aus dem Explorer wird der Punkt "Versteckte und Systemdateien ausblenden" ausgewählt
- es werden die Dateiendungen angezeigt
Dazu meldet man sich als Klausurnutzer an und spielt die folgende reg-Datei ein:
REGEDIT4 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders] ; es wird hier davon ausgegangen, dass auf Lw p ein Ordner "klausur" ist "Start Menu"="\\\\arktur\\adm\\klausur\\win\\startmenü" ; in Startmenü ist der Ordner Programme "Desktop"="\\\\arktur\\adm\\klausur\\win\\desktop" "Startup"="\\\\arktur\\adm\\klausur\\win\\autostart" "Favorites"="\\\\arktur\\adm\\klausur\\win\\favorit" "SendTo"="\\\\arktur\\adm\\klausur\\win\\sendto" ;eigene Dateien wird auf das Homelaufwerk gelenkt "Personal"="u:" [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] "REM"="Dokumente aus dem Startmenue ausblenden" "ClearRecentDocsOnExit"=dword:00000001 "NoRecentDocsHistory"=dword:00000001 "NoRecentDocsMenu"=dword:00000001 ; "REM"="Einstellungen aus dem Startmenue ausblenden" "NoSetFolders"=dword:00000001 "NoSetTaskbar"=dword:00000001 "NoFolderOptions"=dword:00000001 "NoSetActiveDesktop"=dword:00000001 "NoWindowsUpdate"=dword:00000001 ; "REM"="Suchen aus dem Startmenue ausblenden" "NoFind"=dword:00000001 ; "REM"="Ausfuehren aus dem Startmenue ausblenden" "NoRun"=dword:00000001 ; "REM"="Netzwerk ausblenden" "NoNetHood"=dword:00000001 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced] ;versteckte Dateien und Ordner ausblenden (1 anzeigen) "Hidden"=dword:00000002 ; ;Systemdateien ausblenden (1 anzeigen) "ShowSuperHidden"=dword:00000002 ; ;Dateiendungen anzeigen (1 nicht anzeigen) "HideFileExt"=dword:00000000
Um nur bestimmte Programme freizugeben (außer Systemprogramme) kann folgende reg-Datei angepasst und verwendet werden:
REGEDIT4 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] "RestrictRun"=dword:00000001 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun] "1"="bla.exe" "2"="poledit.exe" "3"="test.exe" "4"="winword.exe"
- wie diese Einstellungen noch auf die anderen Accounts kopiert werden kann, muss noch erstellt werden. Bitte auch hier um Unterstützung, da ich das selbst noch nicht gemacht habe (statt dessen bei Arktur 3.5 für 30 Accounts damals stupide per Handbetrieb).
Installationsanleitung
Download und Einspielen des Update-Pakets
Holen Sie die Datei http://www.erg.slf.th.schule.de/klausur.zip . Diese ist wie ein Update-Paket einzuspielen. Sie können nun die Lösung mit http://arktur/admin/klausur/index.html aufrufen.
Einrichten des Musteraccounts als Referenz zum Säubern
Die Konfiguration dieser Lösung findet für den Admin einzig in der Datei klausur.conf
statt, die sich im Scriptverzeichnis /usr/www/admin/klausur
befindet.
Zum Säubern der Homeverzeichnisse muss ein Account zum Abgleich zur Verfügung steht. Dazu wird nach der Voreinstellung der Account klausurD40 (missbräuchlich) verwendet. Ich empfehle, einen (Lehrer-)Account "muster" anzulegen. Tragen Sie dann als root in der klausur.conf
ein:
MUSTER = /home/Lehrer/muster
(Dann steht auch der Account klausurD40 wieder zur Verfügung.)
Einrichten des Archivaccounts
Um im Falle eines Falls irgendwelchen Problemen entgegen treten zu können, wird ein Archiv geführt. Per Voreinstellung wird dazu ein Verzeichnis /home/NULL
angelegt. Ich empfehle stattdessen, einen (Lehrer-)Account "archiv" anzulegen und dieses Verzeichnis in der klausur.conf
einzutragen:
ARCHIV = /home/Lehrer/archiv
Dadurch könnte der Zugriff auf das Archiv mit dem Passwort dieses Accounts geregelt werden.
Falls das Bereitstellen eines Archivs nicht gewünscht wird, dann muss in der klausur.conf
SICHERN = 0
eingetragen werden. Dann wird dieses Archiv zwar ebenfalls erstellt, aber am Ende der Klausur (beim "Aufräumen") komplett gelöscht.
Einrichten der Gruppen (POOL und ANZACCOUNTS)
Als Voreinstellung ist in klausur.conf
POOL = 20 und ANZACCOUNTS = 15 eingetragen. Der Wert POOL = 20 bedeutet, das für eine Klausurgruppe 20 Rechner "reserviert" sind. Das bedeutet, dass für Arktur4 insgesamt 8 Klausurgruppen (von A bis H) geben kann. Der Wert ANZACCOUNTS = 15 bedeutet, dass von den 20 Rechnern pro Gruppe aber nur 15 Accounts genutzt werden. Das bedeutet für dieses Beispiel:
- dass für die Gruppe A die Accounts klausurA01 ... klausurA15
- dass für die Gruppe B die Accounts klausurB01 ... klausurB15
- dass für die Gruppe C die Accounts klausurC01 ... klausurC15
- dass für die Gruppe D die Accounts klausurD01 ... klausurD15
- dass für die Gruppe E die Accounts klausurA21 ... klausurA35
- dass für die Gruppe F die Accounts klausurB21 ... klausurB35
- dass für die Gruppe G die Accounts klausurC21 ... klausurC35
- dass für die Gruppe H die Accounts klausurD21 ... klausurD35
verwendet werden. (Falls man 8 Gruppen verwenden will, muss man aber noch das HTML-Formular anpassen.) Der eigentliche Vorteil m.E. ist, dass auf den generierten HTML-Seiten nur 15 Rechner aufgelistet sind und die Ausgabe gut zu überblicken ist. Und der Account klausurD40 wird bei dieser Einstellung durch die Scripte auch nicht angefasst. ;-)
Bedienungsanleitung für Lehrer
- rufen Sie http://arktur/klausur/index.html auf.
Initialisieren der Klausuraccounts und Sperren der Gruppe
- rufen Sie nun "Initialisieren" auf.
- bei den Schülern wird der Account überprüft und gegebenenfalls gesäubert, außerdem ein Verzeichnis "ergebnisse" erstellt. Beim Lehrer wird ein Verzeichnis für die Ergebnisse und ein Verzeichnis für die Aufgaben erstellt.
Passwörter für die Klausuraccounts
ein offenes Problem! Ich war davon ausgegangen, dass es irgend eine vorgesehene Möglichkeit gibt, diese Passwörter zu setzen, aber ich habe diese leider nicht gefunden.
Austeilen der Aufgaben
Im Homeverzeichnis wurde das Verzeichnis aufgaben
angelegt. Legen Sie dort die Materialien für die Schüler hinein. Es können auch beliebig tief verschachtelte Unterverzeichnisse verwendet werden.
- rufen Sie nun "Austeilen" auf.
Durch die Scripte werden diese Dateien in ein Verzeichnis aufgaben
in die Homeverzeichnisse der Schüler kopiert. Die Dateien in diesen Verzeichnissen sind schreibgeschützt. Dadurch ist gewährleistet, dass die Aufgaben unverändert bis zum Ende der Klausur zur Verfügung stehen.
Einsammeln der Ergebnisse der Schüler
- rufen Sie nun "Einsammeln" auf.
Im Verzeichnis für die Ergebnisse wurde für jeden der Accounts ein Verzeichnis erstellt und da hinein alle Dateien aus dem Verzeichnis ergebnisse
vom Schüler rekursiv kopiert.
Aufräumen der Klausuraccounts und Freigeben der Gruppe
- rufen Sie nun "Aufräumen" auf.
Es werden die Homeverzeichnisse der Schüler gesäubert, es werden alle temporären Dateien gelöscht und es wird die Gruppe wieder freigegeben.
Administratorhandbuch
Ändern des Layouts
Sollte das Layout nicht gefallen, dann müssen alle HTML-Seiten und das Templates ("template.html") geändert werden. Es werden dazu keinerlei Perl-Kenntnisse benötigt.
- wird noch ergänzt
Fehlermeldungen und ihre Behebung
- wird noch erstellt
(Das wesentliche Problem sollte darstellen, wenn vom Lehrer der letzte Schritt, also "aufräumen", nicht aufgerufen wird und dadurch die Gruppe gesperrt bleibt und nicht mehr verwendet werden kann. Dann ist als root die Datei /usr/www/admin/klausur/cookie.<gruppe>
zu löschen.)
einen Fehlerbericht erstellen
Falls der Admin der Meinung ist, das diese Lösung ein unerwartetes Verhalten zeigt und dieses Problem sich einfach per Nachfrage klären lät, dann stellen Sie mir per PM folgende Dateien und Informationen zu:
1. eine Beschreibung des Fehlers, wie er sich Ihnen darstellt
2. die Fehlermeldung im Browser (z.B. einfach den Text der Seite in die Mail kopieren)
3. das gesamte Verzeichnis /usr/www/admin/klausur
. Gehen Sie dazu als root nach /usr/www/admin
und rufen Sie auf:
tar -cvf klausur.tar klausur/. gzip klausur.tar
Es entsteht im aktuellen Verzeichnis (/usr/www/admin
) die Datei klausur.tar.gz
. Diese Datei schicken Sie mir bitte als Anhang.
Entwicklerhandbuch
Nutzerspezifikation (Pflichtenheft)
Das Framework
- der Lehrer muss sich mit seinem Login/Passwort anmelden. (Authentification, Autorisierung und eventuell Verschlüsselung wird an den Apache delegiert!)
- die Angaben für den Rechner (IP, Name, Raum) ermittelt die Lösung selbst.
- vom Lehrer wird (nur) die Eingabe der Gruppe erwartet. Sollte diese Gruppe schon besetzt sein, dann kommt dazu eine "Fehlermeldung".
- es können soviele Gruppen konfiguriert werden, wie Großbuchstaben im Alphabet und natürlich Rechner vorhanden sind. (siehe
klausur.conf
) - sollte in diesem Raum eine Klausur nicht beendet gewesen sein (es wurde "aufraeumen" nicht aufgerufen), dann wird von den Logfiles für diesen Raum eine Sicherung erstellt
- die Gruppe wird für Klausuren in anderem Räumen gesperrt
- durch die Lösung wird entsprechend der Konfiguration beim Initialisieren die Logins für diese Gruppe generiert
- für alle Rechner dieses Raums wird auch Rechnername und IP ermittelt
- mit Ausnahme beim Initialisieren wird die Ausführung des Scripts sofort mit einer Fehlermeldung abgebrochen, wenn der scriptaufrufende Lehrer nicht der Lehrer ist, der diese Gruppe initialisiert hat
- für den Lehrer erfolgen alle Rückinformationen über den Browser. Auch Fehlermeldungen des Systems bzw. Apache werden auf den Browser umgelenkt
- für den Admin wird über alle Variablen und ihre Belegungen, Prozedur- und Scriptaufrufe ein detailliertes, dokumentiertes Logfile geschrieben
- für die generierten HTML-Seiten wird ein Template verwendet, sodass für Anpassungen des Layouts keine Perlkenntnisse benötigt werden
(TODO)
Anzeige der besetzten Gruppen
- schon beim Aufruf vom Initialisieren sollten die besetzten Gruppen angezeigt werden (PHP)
- die besetzte Gruppe sollte wenn möglich disabled, zumindest aber eine solche Eingabe sofort mit einer Fehlermeldung abgefangen werden (JavaScript)
Zurücksetzen: gesperrten Gruppen sollten möglichst einfach entsperrt werden können
- vom gleichen Lehrer "zurückgesetzen" bzw. weitergenutzt werden können
- von einem anderen Lehrer zurückgesetzt werden können, wenn der letzte Aufruf eines Scripts dieser Klausur mindestens 24 Stunden zurückliegt
- durch einen Verantwortlichen für diese Klausurumgebung (KLAUSURADMIN) zurückgesetzt werden können
mehrfaches Aufrufen bestimmter Scripte ist nicht immer sinnvoll
- es gibt Scripte, die dürfen nur einmal aufgerufen werden. Bei wiederholtem Aufruf sollte nur eine Fehlermeldung erfolgen.
- es gibt Scripte, da könnte ein wiederholter Aufruf eine Fehlbedienung sein, muss es aber nicht. Hier sollte ein Hinweis erfolgen, danach aber das Script erneut aufgerufen werden können.
- es gibt Scripte, die können beliebig oft aufgerufen werden. (hier ist nichts zu tun)
zwischen manchen Scripten bestehen Abhängigkeiten. Für ein Modul sollte als Option angegeben werden können,
- was muss vorher aufgerufen sein?
- was muss direkt (also unmittelbar) vorher aufgerufen sein?
- was darf nicht vorher aufgerufen sein (muss also hinterher kommen)?
Initialisieren
- es wird ein Archiv erstellt. ist kein solches in der Konfigurationsdatei angegeben oder ist Sichern nicht erwünscht, dann wird ein temporäres Archiv erstellt
- sollten in den Homeverzeichnissen der Klausurschüler noch ein Verzeichnis
ergebnisse
existieren, dann wird dieses Verzeichnis mit allen Dateien im Archiv gesichert - danach werden alle Dateien gelöscht, die nicht in dem Verzeichnis sein dürfen (Abgleich mit einem Muster-Account)
- es wird das Verzeichnis
ergebnisse
angelegt - es wird beim Lehrer und im Archiv ein Verzeichnis für die Ergebnisse angelegt. Dazu wurde vorher ein eindeutiger String im Format "jahr-monat-tag-gruppe-stunde-minute-sekunde" generiert.
- es wird kontrolliert, ob beim Lehrer ein Verzeichnis
aufgaben
vorhanden ist. Sind mehrere Verzeichnisse vorhanden (wegen Groß- und Kleinschreibung) oder ist nur eins vorhanden, aber dieses ist nicht leer, dann werden diese umbenannt. Ist keins vorhanden, dann wird dieses Verzeichnis erstellt.
Austeilen
- Es werden aus dem Verzeichnis
austeilen
beim Lehrer alle Dateien in das Verzeichnisaufgaben
beim Schüler (rekursiv) kopiert. - Die Aufgaben sind für den Schüler schreibgeschützt.
- Die Aufgaben werden noch ins Archiv kopiert.
Einsammeln
- Im Homeverzeichnis des Lehrers wird im Klausurverzeichnis für jeden Schüler ein Verzeichnis mit seinem Login als Verzeichnisname erstellt.
- In dieses Verzeichnis werden alle Dateien und Unterverzeichnisse aus dem Verzeichnis
ergebnisse
des Schülers hineinkopiert. - Ebenso wird im Klausurverzeichnis des Archivs für jeden Schüler ein Verzeichnis erstellt und die Ergebnisse (zur Sicherheit) auch dorthin kopiert.
Aufräumen
- jedes Homeverzeichnis wird mit dem Musterverzeichnis abgeglichen. d.h., alle Verzeichnisse und Dateien die zuviel sind werden gelöscht.
- wird kein Archiv (in der
klausur.conf
: SICHERN = 0) gewünscht, wird dieses Archiv komplett gelöscht. - es werden alle temporären Dateien (cookies) gelöscht. Dadurch wird auch die Gruppe entsperrt.
Schnittstellen
wird noch erstellt
FAQ
Was versteht man unter einer "Klausurumgebung"?
Eine Klausurumgebung dient dazu, an einer bestimmten Gruppe von Computern, eine sichere und komfortable Durchführung von Kontrollen, Klassenarbeiten, Klausuren oder Prüfungen am Rechner zu ermöglichen. Alle genannten Arten von Kontrollen gehen davon aus, dass die Schüler allein arbeiten. Die Kontrollen unterscheiden sich aber im Aufwand, der betrieben wird, dieses durchzusetzen.
Wie sicher ist diese Lösung?
Die Sicherheit dieser Klausurumgebung wird dadurch gewährleistet, dass die drei folgenden Konzepte konsequent umgesetzt werden. Es wird dabei vorausgesetzt, dass bekanntgewordene Sicherheitslücken der Programme geschlossen oder diese Programme gesperrt sind und es wird erwartet, dass der Admin diese Klausurumgebung entsprechend dieses Konzeptes einrichtet und der Lehrer diese Lösung entsprechend der Anleitung gewissenhaft nutzt.
das richtige "Firewall"-Konzept
Für Firewalls gibt es zwei verschiedene Konzepte:
- Es ist alles erlaubt, was nicht verboten ist.
- Es ist alles verboten, was nicht erlaubt ist.
Für diese Klausurumgebung kommt nur das 2. Konzept in Betracht. Das bedeutet, es wird zuerst alles gesperrt und dann das freigegeben, was erlaubt werden soll.
Das bedeutet insbesondere, dass es keine (konzeptionellen) Lücken gibt und damit auch keine geschlossen werden können. Wird im Zusammenhang von einer Klausurumgebung von Lücken gesprochen, dann ist es das erste Konzept - das ist untauglich.
das Modell: Client im Käfig
Um die Nutzung aller unerwünschten Dienste zu verhindern, gibt es wieder zwei grundsätzliche Möglichkeiten:
- Man sperrt alle Server, die unerwünschten Dienste anbieten, (jeden) in einen Käfig.
- Man sperrt den Client in einen Käfig.
Die Gewähr, dass man für den Klausurnutzer wirklich alle unerwünschten Dienste wegsperrt ist nur beim zweiten Ansatz gegeben. Das gilt insbesonders dann, wenn sich auch Rechner in das Schulnetz einklinken können, die nicht vom Admin des Schulnetzes betreut werden.
Weitere Käfige für die Server mit den attraktivsten Ressourcen (hier Arktur und Capella) erhöhen die Sicherheit zusätzlich.
den stabilen Käfig durch serverbasierte Lösungen
Damit der Käfig für den Client auch stabil ist und bleibt, muss dieser Käfig so aufbewahrt werden, dass er fremden Zugriffen entzogen ist. Deshalb muss dieser Käfig auf dem Server vorgehalten und nur bei Bedarf vom Server aus über den Client "gestülpt" werden.
Wie kann man weitere Gruppen einrichten?
Die Anzahl der möglichen Gruppen wird durch den Eintrag für POOL in der "klausur.conf" bestimmt. Wenn Sie z.B. POOL = 15 eintragen, dann sind insgesamt 12 Gruppen möglich (8 Gruppen zu je 15 Accounts und 4 Gruppen zu je 10 Accounts = 160 Accounts). Sie müssen dazu nur noch die HTML-Seite "initialisieren.html" anpassen.
wird noch erstellt
Wie kann man die Scripte nach https://arktur/secure verschieben?
Gehen Sie dazu folgendermaßen vor:
- verschieben Sie z.B. mit dem MC das Verzeichnis
/usr/www/admin/klausur
nach/usr/www/secure/klausur
- editieren Sie jede Datei mit der Endung
.cgi
. Sie finden verhältnismäßig weit unten folgenden Text:
######### Schnittstelle 2 fuer die Module ######################### # # wir rufen das Script <script>.pl auf system("sudo /usr/www/admin/klausur/<script>.pl -raum $raum"); # ###################################################################
hier müssen Sie den Pfad korrigieren, also ändern in
######### Schnittstelle 2 fuer die Module ######################### # # wir rufen das Script <script>.pl auf system("sudo /usr/www/secure/klausur/<script>.pl -raum $raum"); # ###################################################################
- nun muss noch die Datei /etc/sudoers editiert werden. Rufen Sie nun "visudo" auf und ändern Sie die Zeile
Cmnd_Alias KLAUSUR=/usr/www/admin/klausur/initialsieren.pl,/usr/ ...
- in
Cmnd_Alias KLAUSUR=/usr/www/secure/klausur/initialsieren.pl,/usr/ ...
Warum wird das Verzeichnis "austeilen" manchmal umbenannt?
Vor dem Anlegen des Verzeichnisses wird überprüft, ob dieses Verzeichnis schon vorhanden ist und ob dieses leer ist. Ist diese Bedingung nicht erfüllt, dann wird dieses umbenannt und ein neues Verzeichnis erstellt.
Unter Windows ist nicht immer gleich offensichtlich, dass auch dann umbenannt wird, wenn "nur" die Groß- und Kleinschreibung nicht korrekt ist.
Für den Fall, dass mehrere solcher Verzeichnisse vorhanden sind, die sich nur durch die Groß- und Kleinschreibung unterscheiden, werden alle diese Verzeichnisse umbenannt, auch wenn ein korrektes Verzeichnis dabei gewesen sein sollte. Nur so kann nach Ansicht des Programmieres in jedem Fall sicher gestellt werden, dass die Daten durch den Lehrer in jedem Fall im richtigen Verzeichnis bereitgestellt werden.
Wir haben keine "managebaren" Switche. Wie kann ich mir helfen?
Es geht doch bei diesem Punkt des Konzepts darum, dass die Kommunikation der Schüler mit Hilfe des Netzes wirksam unterbunden wird. Wenn man nur die Programme freigibt, die für Kommunikation nicht tauglich sind (Notepad, Fixprolog, Pow, Phase5) und dafür sorgt, dass der Internet Explorer verkonfiguriert wird, dann sollte das z.B. für eine Leistungskontrolle eine hinreichend große Barriere sein. Es gibt ja auch noch die Aufsicht des Lehrers.
Wir haben keine Wächterkarten. Wie kann ich mir helfen?
Durch Umsetzen der Schüler - damit kann der Schüler nicht mehr auf seine hinterlegten Dateien zugreifen. Wirkungsvoll, aber es kann nicht garantiert werden, dass nicht auf hinterlegte Texte zugegriffen wird, die zwar nicht für ihn hinterlegt sind, ihn aber Vorteile bringen.
Kann man verschiedene Umgebungen einrichten?
Die eigentlichen Einstellungen für den Account stecken in der user.dat. Das bedeutet, Sie können entsprechend Ihrer Konfiguration für verschiedene Gruppen diese Accounts natürlich unterschiedlich konfigurieren.
Sie sollten diese Einstellungen unbedingt dadurch "schreibschützen", indem die user.dat
zu user.man
umbenannt wird.
Und Sie sollten durch schulinterne Regelungen/Absprachen sicher stellen, dass die entsprechenden Gruppen auch nur für die vorgesehenen Zwecke genutzt werden.
Läuft diese Lösung nur auf Arktur 4?
Derzeit ja. Das hat folgende Gründe:
- diese Lösung ist derzeit nur auf Arktur 4 getestet.
- das Sicherheitskonzept geht davon aus, dass alle Dienste auf dem Server gesperrt werden und nur die zur Verfügung gestellt werden, die für die Klausurumgebung gebraucht werden. Das ist bei Arktur 4 durch die Firewall auf dem Server gegeben. Bei Arktur 3.5 kann man fast alle Dienste zwar für die Klausurnutzer sperren, nicht aber den Webserver Apache. Alternativ könnte der Zugriff auf den Webserver kontrolliert werden, aber dazu fehlen momentan die geeigneten technischen Lösungen.