Lösung für ein KIOSK-System mit Windows-Bordmitteln

Autor: Siegfried Seifert, MCSEboard.de

Ein so genanntes KIOSK-Rechnersystem kann an exponierten Stellen unbeaufsichtigt betrieben werden. Dazu zählen unter anderem Schulungsräume, Ausstellungen, Messestände, VIP-Lounges, Internet-Cafés usw. Ist es zudem mit einer Tastatur und/oder einer Maus oder gar mit einem Touchscreen ausgestattet, kann der Benutzer interaktiv mit diesem System arbeiten.

Vor allem bei den interaktiven Varianten werden besondere Anforderungen an die Sicherheit und Funktionalität gestellt. Der Benutzer darf nicht in der Lage sein, absichtlich oder versehentlich das System zu beschädigen oder zu kompromittieren. Die sonst üblichen Aktionen wie das löschen oder umbenennen von Dateien, schließen von Anwendung oder gar ausschalten des ganzen Systems dürfen nicht möglich sein. Das ganze System muss daher in einen besonders abgesicherten Zustand versetzt werden. Diesen Zustand nennt man KIOSK-Modus.

Für diesen Modus werden sichere, professionelle Lösungen benötigt. Dazu zählt das aufwendige und sachkundige Konfigurieren von Policys und Systemeinstellungen, wobei die verwendeten Hard- und Softwarekomponenten diese Eingriffe auch unterstützen müssen. Es gibt auf dem Markt eine Reihe von Produkten kommerzieller Anbieter, die auf komfortable Weise sehr umfangreiche Einstellungen ermöglichen. Nicht zu vergessen die reinen Terminallösungen, welche aber eine entsprechende Netzwerkinfrastruktur und Fachkenntnisse voraus setzen.

Das folgende HowTo beschreibt, wie Sie in 4 - 5 Schritten einen Windows-Rechner zu einem interaktiven KIOSK-System umkonfigurieren können.

Wichtiger Hinweis!

Die hier vorgestellte Lösung bietet nicht den vollen Umfang an Sicherheit und Funktionalität, der für einen Einsatz im sicherheitskritischen Bereich spricht. Dafür ist sie auch nicht konzipiert. Sie sollten diese Lösung auf keinen Fall in folgenden Situationen einsetzen:
- wenn das System mehrere Stunden oder gar Tage völlig unbeaufsichtigt bleibt
- wenn sich auf dem System selbst wichtige oder sonstige kritische Daten befinden
- wenn mit diesem System der Zugriff auf potenziell unsichere Ressourcen, z. B. Internet, möglich ist

Diese KIOSK-Lösung ist ausschließlich für Testzwecke gedacht. Zum Experimentieren mit den systeminternen Möglichkeiten des Betriebssystems. Wenn Sie diese Lösung auf die Öffentlichkeit "loslassen" wollen, dann bitte nur in Situationen, in denen die Sicherheitsanforderungen nicht besonders hoch sind und Sie immer in der Nähe sind, um notfalls einzugreifen. Diese Situationen können sein:
- Vereinstreffen, wo über das letzte gemeinsame Projekt informiert werden soll
- kleine Verkaufsveranstaltungen, wenn der Verkäufer praktisch daneben steht
- Privat-Partys, auf denen der Rechner als Music- und Videoplayer dient

Es kann interessant sein zu beobachten, welche Strategien manche Benutzer entwickeln, um die Restriktionen des System auszuhebeln.

Ich kann Ihnen nur empfehlen, diesen Hinweis ernst zu nehmen. Der Verlust von wichtigen Daten ist nicht nur ärgerlich, sondern kann unter Umständen enorme Kosten verursachen. Und ein ungeschriebenes Gesetzt besagt, dass nie ein Backup verfügbar ist, wenn man es am dringendsten braucht.


Achtung: Diese KIOSK-Lösung verlangt einige tiefe Eingriffe in die Systemkonfiguration. Folgende Kenntnisse im Umgang mit dem System sollten daher vorhanden sein:
- das Anlegen neuer Benutzerkonten und hinzufügen zu einer bestimmten Berechtigungsgruppe
- arbeiten mit dem Registry-Editor (regedit.exe)
- arbeiten mit dem abgesicherten Modus unter Windows XP-Home Edition (optional)

Ich werde die KIOSK-Konfiguration anhand folgender Systeme beschreiben:

  • Windows 2000 Professional (W2k-Pro)
  • Windows XP Professional Edition (XP-Pro)
  • Windows XP Home Edition (XP-Home)


Die Konfigurationsschritte sind unter W2k-Pro und XP-Pro nahezu gleich. Unterschiede gibt es nur bei der Optik einiger Menüs und deren Texte. Auf die zusätzlichen Schritte unter XP-Home werde ich detailliert eingehen.

Der von uns konfigurierte KIOSK-Modus wird folgende Features bieten:
- ein separates Benutzerkonto für den KIOSK-Betrieb
- der übliche Desktop (Windows Explorer) steht nicht zur Verfügung
- an seine Stelle treten eine oder mehrere gewählte Anwendungen
- der KIOSK-Benutzer kann das System nicht herunterfahren oder neu starten
- er kann das Passwort nicht ändern
- er kann das System nicht sperren
- er kann es nicht in den Ruhezustand (Standby) versetzen
- er kann nicht den Taskmanager aufrufen, um laufende Prozesse abzuschießen

Was unser KIOSK-Modus nicht verhindern kann:
- dass der Benutzer eine laufende Anwendung in deren Einstellungen manipulieren kann
- dass der Benutzer eine laufende Anwendung beendet
- dass der Benutzer die laufende Sitzung beenden und sich abmelden kann

Nun sollte wohl klar sein, warum dieses KIOSK-System nicht in sicherheitskritischen Umgebungen laufen darf.

Schritt 1: Benutzerkonfiguration

Wir legen für den KIOSK-Modus zuerst ein separates Benutzerkonto an. Der Name kann frei gewählt werden. Für dieses HowTo verwende ich einfach den Namen "Kiosk". Unter XP-Pro / W2k-Pro erledigen wir das in der Computerverwaltung, unter XP-Home bei den Benutzerkonten. Folgende Eigenschaften weisen wir dem Benutzer "Kiosk" zu:

XP-Pro / W2k-Pro
- Kennwort frei lassen (ausnahmsweise und nur für diesen Zweck)
- Kennwort läuft nicht ab
- zusätzlich hinzufügen zur Gruppe Administratoren

XP-Home
- Kennwort freilassen (auch hier nur ausnahmsweise)
- die Gruppenvorgabe Computeradministrator übernehmen

Unter XP-Pro und XP-Home ändern wir zusätzlich noch die Art der Benutzeranmeldung. Die Optionen "Schnelle Benutzeranmeldung verwenden" und "Willkommensseite verwenden" werden abgewählt. Dieser Schritt entfällt bei W2k-Pro. Somit steht uns auf allen Systemen der klassische Anmeldedialog zur Verfügung.

Nun melden wir uns als Benutzer "Kiosk" (oder mit dem von Ihnen gewählten Namen) an und das Konto wird endgültig auf dem System erstellt. Als nächstes konfigurieren wir die Eigenschaft des Desktop-Hintergrundes. Wir wählen entweder eine Farbe oder eine Grafik, z. B. ein Logo, als Hintergrund aus. Wer mag, darf sich auch einen Bildschirmschoner einrichten. Bei dieser Gelegenheit öffnen wir im Reiter "Bildschirmschoner" die Energieverwaltung und deaktivieren dort den Ruhezustand. Somit kann der Kiosk-Benutzer das System später nicht mehr auf Standby schalten.

Wir bleiben als Benutzer "Kiosk" angemeldet.

Schritt 2: Softwareinstallation

Für dieses HowTo werde ich exemplarisch zwei Programme verwenden. Den beliebten Open Source-Browser Firefox und den Windows Media Player.

Download Firefox:  http://www.mozilla.com/firefox/

Sollten Firefox schon auf Ihrem Rechner installiert sein, werden wir diese Installation verwenden. Im Prinzip ist auch jede andere Anwendung denkbar. Den Browser Firefox habe ich aus einem bestimmten Grund gewählt, den ich später noch erläutern werde.

Bei der Installation übernehmen wir einfach die Standardpfade. Anschließend rufen wir die beiden Programme einmal auf und richten sie nach Belieben ein. Diese KIOSK-Lösung wird leider nicht verhindern, dass der Benutzer die Programmeinstellungen später verändern kann. Das nur noch mal als Hinweis.

Wir bleiben weiterhin als Benutzer "Kiosk" angemeldet.

Schritt 3: Systemkonfiguration

Unter XP-Pro und W2k-Pro öffnen wir in der Systemsteuerung:
"Verwaltung - Lokale Sicherheitsrichtlinie - Lokale Richtlinien - Sicherheitsoptionen"
Im rechten Fenster suchen wir die Richtlinie: Herunterfahren: Herunterfahren des Systems ohne Anmeldung zulassen

Mit einem Doppelklick darauf öffnen wir die Eigenschaften, wählen Deaktiviert und bestätigen mit OK. Mit dieser Einstellung ist es dem KIOSK-Benutzer später nicht möglich, sich abzumelden und das System dann herunterzufahren.

Unter XP-Home steht diese Sicherheitsrichtlinie leider nicht zur Verfügung. Um nun zu verhindern, dass irgendein Witzbold unser KIOSK-System herunterfährt, werden wir den Shutdown-Button im Anmeldebildschirm deaktivieren.

Wir verlassen die Systemsteuerung, starten den Registry-Editor und navigieren zum Schlüssel:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system

Im rechten Fenster suchen wir uns den DWORD-Eintrag ShutdownWithoutLogon und geben ihm den Wert "0" (disabled). Damit ist auch ein XP-Home-System gegen Herunterfahren geschützt. (Danke an Claus für diesen Tipp)

Wir bleiben in der Registry und navigieren zum folgenden Schlüssel:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies

Bevor wir nun einige neue Einträge setzen, sichern wir erst den Originalzustand. Wir markieren den Schlüssel Policies, exportieren und speichern ihn unter einem aussagekräftigen Namen in den Ordner "Eigene Dateien" des KIOSK-Benutzers. So können wir später bei Bedarf ganz einfach mit einem Doppelklick den Originalzustand wiederherstellen.

Nun wechseln wir in den Unterschlüssel Explorer und legen im rechten Fenster folgenden DWORD-Wert neu an: NoClose (schaltet den Button "Herunterfahren" ab)

Diesem geben wir den Wert 1.

Danach legen wir im Schlüssel Policies einen weiteren Unterschlüssel mit dem Namen System an. Wir wechseln in diesen Schlüssel und legen im rechten Fenster weitere DWORD-Werte an. Alle bekommen ebenfalls den Wert 1.

DisableLockWorkstation (schaltet den Button "Computer sperren" ab)
DisableChangePassword (schaltet den Button "Kennwort ändern" ab)
DisableTaskMgr (schaltet den Button "Task-Manager" ab)

Wenn der KIOSK-Benutzer später über die Tastenkombination Strg-Alt-Entf versucht auszusteigen, stehen ihm diese Funktionen nicht mehr zur Verfügung. Der Benutzer kann das System unter XP-Pro und W2k-Pro nun nicht mehr herunterfahren und ausschalten.

Da wir diese Einträge mit dem KIOSK-Konto vornehmen, gelten die neuen Funktionen auch nur für diesen Benutzer.

Es wäre problemlos möglich, mit einem weiteren Eintrag in der Liste auch noch den Button "Abmelden" abzuschalten. Allerdings hat die Sache einen Haken. Wenn der Benutzer ein Programm beendet, kann er sich nicht mehr neu anmelden und das Programm dadurch neu starten. Zudem können wir uns später selber nicht mit einem anderen Konto anmelden, um wieder vollen Zugriff auf das System zu bekommen. Es bliebe nur die Möglichkeit, am Rechner den Reset-Schalter zu drücken.

Diese Aktion sollte immer nur im Notfall angewendet werden, wenn es gar nicht mehr anders geht. XP und W2k-Pro verfügen zwar über eine gewisse Robustheit für solche "Haudrauf"-Aktionen, aber Garantien gibt es nun mal nicht. Wer es trotzdem auf die harte Tour mag, bitte sehr.

NoLogoff (schaltet den Button "Abmelden" ab)

Nun navigieren wir zum nächsten Registry-Schlüssel:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

Hier suchen wir im rechten Fenster den Binärwert Userinit. Standardmäßig sollte dort etwas stehen wie C:\%systemroot%\system32\userinit.exe,

Die Zeichenfolge %systemroot% steht als Variable für das Installationsverzeichnis des Betriebssystems. Bei W2k-Pro ist es "Winnt", bei XP "Windows".

Das kleine Programm userinit.exe hat die Aufgabe, bei der Anmeldung eines Benutzers den Wert auszulesen, der bei Shell eingetragen ist. Diesen Binärwert finden Sie etwa 5 Zeilen über Userinit. Dort ist standardmäßig die Explorer.exe eingetragen. Als Benutzeroberfläche startet also der bekannte Windows-Desktop mit der Taskleiste, dem Startmenü und den anderen Elementen.

Abb. 1: Userinit in der Registry

Das wirklich interessante beim Binärwert Userinit ist das Komma direkt hinter "userinit.exe" im Pfad. Das bedeutet, dahinter kann noch mehr eingetragen werden. Weitere Programme, sogar mit zusätzlichen Startparametern. Das funktioniert dann wie eine Autostartfunktion. Direkt nach der Anmeldung wird neben dem Desktop genau das Programm gestartet, welches dort eingetragen wurde. Diese Funktion werden wir nutzen.

Zunächst sichern wir den Originalzustand von Userinit wieder durch exportieren und abspeichern. Mit einem Doppelklick öffnen wir dann die Eigenschaften und fügen direkt hinter das Komma den Pfad zu unserem gewählten Programm ein: C:\Programme\Mozilla Firefox\firefox.exe

Wenn nötig, passen Sie den Pfad an Ihre Umgebung an. Statt des Browsers können Sie auch den Windows Media Player eintragen: C:\Programme\Windows Media Player\wmplayer.exe

Wenn Sie direkt hinter "exe" ein weiteres Komma setzen, können Sie ein zweites Programm dort eintragen. Oder auch ein drittes. Was dort steht, gilt nun für alle Benutzer des Systems.

Vorsicht!

Löschen Sie bitte NICHT die "userinit.exe" aus diesem Pfad. Und ändern Sie auch nichts an der Explorer.exe im Binärwert Shell. Änderungen an diesen Einträgen können sich als böse Falle heraus stellen. Warum das so ist, werden Sie gleich sehen.

Wir schließen nun die Registry und melden uns mit unserem Standard-Adminkonto an. Sie sehen, der Browser oder andere von Ihnen gewählte Programme, werden automatisch nach der Anmeldung geladen. Schließen Sie diese Programme. Als nächstes degradieren wir den Benutzer "Kiosk". Auf W2k-Pro und XP-Pro sollte er nur noch in der Gruppe "Benutzer" stehen. Auf XP-Home bekommt er die Berechtigung "Eingeschränkt".

Nun fehlt uns nur noch ein Schritt zum KIOSK-System. Wenn sie kein XP-Home verwenden, können Sie Schritt 4 einfach überspringen und gleich mit Schritt 5 weitermachen.

Schritt 4: Zugriffsrechte unter XP-Home


Die Benutzer von W2k-Pro und XP-Pro haben die Möglichkeit, in den Eigenschaften jeden Ordners und jeder Datei detailliert die Zugriffsrechte zu bestimmen. Diese Möglichkeit fehlt unter XP-Home. Aber nicht gänzlich, sie ist nur gut versteckt. Ich zeige Ihnen nun 3 Wege, wie Sie trotzdem an dieses Feature gelangen.

1) cacls.exe

Dieses Kommandozeilen-Tool wird standardmäßig mit Windows installiert und über die Eingabeaufforderung (DOS-Fenster) gestartet. Damit können Sie alle Dateirechte nach belieben setzen, sofern Sie die entsprechenden Rechte besitzen. Allerdings ist die Befehlssyntax etwas gewöhnungsbedürftig.

Abb. 2: Zugriffsrechte mit cacls.exe

2) Abgesicherter Modus

Wenn Sie XP-Home im abgesicherten Modus starten, können Sie sich dort mit dem verborgenen Administrator-Konto anmelden. Und dort steht Ihnen dann auch der Reiter "Sicherheit" zur Verfügung. Darüber können Sie die entsprechenden Zugriffsrechte setzen.

Abb. 3: Admin-Konto im abgesicherten Modus

3) Externes Tool

Auf seiner Webseite  http://www.fajo.de stellt Falk John ein Tool namens FaJo XP File Security Extension zum Download bereit. Laden Sie das geniale, kleine Programm herunter. Wenn Sie bei der Installation die Option „Eintrag Kontextmenü anlegen“ auswählen, sieht das Ergebnis so aus:

Abb. 4: erweitertes Kontextmenü

Über "Eigenschaften" oder direkt über "Sicherheit ändern" steht Ihnen nun auch unter XP-Home das Feature "Sicherheit" ständig zur Verfügung. Eine feine Sache.

Schritt 5: Desktop abschalten


Egal für welche der 3 Wege Sie sich entschieden haben, nun werden wir das System für den Benutzer "Kiosk" in den KIOSK-Modus versetzen.

Öffnen Sie C:\%systemroot%\System32, suchen Sie die Datei USERINIT.EXE und rufen die Sicherheitseinstellungen auf. Fügen Sie im oberen Fenster den Benutzer "Kiosk" hinzu und entziehen ihm im unteren Fenster alle Rechte auf diese Datei. Das Ergebnis sollte so aussehen:

Abb. 5: Zugriff auf Userinit verweigern

Mit OK bestätigen. Die folgende Warnmeldung bestätigen wir mit JA. Das war es auch schon. Machen Sie nun den Test und melden sich als "Kiosk" an. Überprüfen Sie auch die anderen Einstellungen, indem Sie Strg-Alt-Entf eingeben. Nur die Button "Abmelden" und "Abbrechen" sollten jetzt noch aktiv sein.

Und jetzt verstehen Sie sicher auch meine Warnung. Hätten wir die "userinit.exe" in der Registry aus dem Pfad genommen, bekäme JEDER Benutzer dieses Systems den KIOSK-Modus präsentiert. Wie wollen Sie in diesem Modus die Einstellungen wieder zurücksetzen?

Die aktuellen Einstellungen wirken sich nur auf das Windowssystem aus. Die geladenen Programme können vom Benutzer weiter nach belieben verändert oder manipulierte werden. Aber das muss nicht so bleiben.

Bei der Softwareinstallation hatte ich geschrieben, dass ich den Browser Firefox aus einem bestimmten Grund gewählt habe. Der Grund ist: mit etwas Zeit und Konfigurationsaufwand kann der Browser in einen waschechten KIOSK-Modus versetzt werden. Jede unerwünschte Manipulation seitens des Benutzers wäre damit unterbunden. Ein umfangreiches Tutorial (englisch) und Templates dazu finden Sie unter: tln.lib.mi.us/~amutch/pro/phoenix/kiosk.htm

Dieses HowTo ist längst nicht die ultimative Lösung, wie sie kommerzielle Tools und Systeme bieten. Dies war auch nicht beabsichtigt. Doch vielleicht sind Ihnen während des Lesens bereits neue Ideen gekommen, wie man noch mehr aus diesen Einstellungen herausholen kann. Das Potenzial ist mit dieser Lösung längst nicht ausgeschöpft. Nur zu, experimentieren Sie. Aber bitte mit Vorsicht.

 

© MCSEboard.de, Siegfried Seifert