Computerbeveiliging - Hoe je bad guys buiten de deur houdt

KIOSK Software

10-01-2013, 16:25 door Arnio, 8 reacties
Weet er iemand een goed gratis KIOSK systeem? Het is de bedoeling dat bezoekers er enkel op internet kunnen komen. De software moet op een standaard pc komen te staan.
Reacties (8)
10-01-2013, 17:41 door Duck-man
FireFox en Opera hebben Kiosk tools. Verder zijn er allerlei tools om een linux PC als Kiosk in te stellen. KDEKiosk wel een wat mee gedaan.
FF zoeken en gij zult vinden.
10-01-2013, 18:02 door Anoniem
Gewoon in Windows gpedit.msc uitvoeren is voldoende, vervolgens kun je alles dichttimmeren.
10-01-2013, 19:41 door Anoniem
Linux, als je daar de weg op kent en niet bang bent om te spelen met een paar scripts en configuratiebestanden.

In /etc/inittab staat de configuratie van het init-proces, het eerste proces dat gestart wordt. Daar worden onder meer tekstterminals toegekend:

1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6

getty is een programma dat een terminal alloceert en het login-commando start (dit staat los van de grafische login die de meeste mensen gebruiken). De getallen achter de : zijn 'runlevels', verschillende modi waarin het systeem kan worden opgestart. De getallen voor de : zijn identificaties. Vervang de eerste regel van dit groepje door:


1:234:respawn:/sbin/getty 38400 tty1
k1:5:respawn:/usr/local/sbin/startkiosk </dev/tty1 >/dev/tty1 2>&1

En als je als beheerder nog rechtstreeks aan wilt kunnen loggen (ik zou dat via het netwerk met ssh doen) maak dan ook bijvoorbeeld tty2 beschikbaar in runlevel 5:


2:235:respawn:/sbin/getty 38400 tty2

Elders in hetzelfde inittab-bestand kan je de default-runlevel instellen. Zet die op 5 (was 2):


id:5:initdefault:
.
De precieze waarden zullen afhankelijk van de Linux-distributie zijn, wat je hier ziet is op basis van Debian. Ik heb runlevel 5 gekozen omdat 4 en 5 alleen de eerste tty aanmaken zodat de kiosk-bezoeker niet bij een terminal-login kan komen.

Maak een user 'kiosk' aan met home-directory /home/kiosk (de standaardlocatie). Maak het script /usr/local/sbin/startkiosk aan met de volgende inhoud:


#!/bin/bash
trap '' SIGINT SIGHUP SIGTERM
cd /home/kiosk
rm -rf $(ls -A)

cat <<EOF >.xinitrc
#!/bin/bash
export LC_ALL=nl_NL.UTF-8
numlockx on
xset s off
matchbox-window-manager &
exec iceweasel about:blank
EOF
exec su -s /usr/bin/startx kiosk

Dit gooit als root-user de home-directory van kiosk leeg, maakt een .xinit-bestand aan (inhoud van cat tot EOF), en schakelt over naar de kiosk-user en start de grafische wereld. Die pakt als kiosk-user het .xinit-bestand op. Dat stelt de taal/locale in op Nederlands, zet de NumLock-toets aan, zet de screensaver uit, start een simpele window-manager (matchbox laat alle vensters full-screen zien, perfect voor dit doel) in de achtergrond (de & zorgt daarvoor), en start iceweasel (=Firefox) met een lege pagina.

Om dit te laten werken moet je wel X-windows geïnstalleerd hebben (de basis voor alle grafische interfaces), maar geen grafische sessiemanager als KDM of GDM. Die laten namelijk een grafische login-prompt zien en zouden de grafische wereld voor dit doel te vroeg opstarten.

Normaal start je de windowmanager als primaire (voorgrond-)programma op, ik start hier de webbrowser. Dat kan omdat in Linux de windowmanager (die de randen om windows, titelbalken, icoontjes voor minimaliseren, maximaliseren en sluiten etc. regelt) eigenlijk een applicatie is die binnen X-windows naast andere applicaties draait. Je kan het starten van een windowmanager zelfs helemaal overslaan, maar dat werkt niet zo lekker. Het programma dat met exec gestart wordt, de browser, neemt het hele proces over, en als die afgesloten wordt wordt ook X-windows afgesloten. Afsluiten van de webbrowser is dus afsluiten van de sessie. De besturing keert dan terug bij het init-proces, en omdat in de inittab 'respawn' was opgegeven start die simpelweg het hele zaakje opnieuw op. Omdat getty en daarmee het login-programma worden overgeslagen komt meteen bij het starten van het systeem de webbrowser tevoorschijn, die wel draait onder een ongevaarlijk user-account.

Ik hoop dat ik dit alles goed gereproduceerd heb. Ik heb het ooit zo actief gehad en het werkte als een tierelier.

Een kiosk-systeem opzetten hoeft dus geen kwestie van specialialistische software te zijn (op een lullig scriptje na) maar is meer een kwestie van je systeem anders configureren. Bij Linux althans, en ik neem aan bij BSD ook.
10-01-2013, 19:54 door Anoniem
Als je dit doet op een windows pc en IE 8/9/10 wilt gebruiken, kan IE ook in kioskmode worden opgestart.
Lees dit: http://support.microsoft.com/kb/154780.

Gooi (met group policies) ook je pc dicht:
- Geen windows key (bijv: windows-E om verkenner te openen).
- Zorg dat taskmanager geen nieuwe processen kan openen.
- Disable de rechtemuisknop.
- Verberg alle desktopicoontjes behalve de shortcut voor je browser.
- Verberg zoveel mogelijk (zoniet alle) icoontjes uit het startmenu.
- Sta users niet toe software of add-on te installeren.
- Let er op dat je OS zich niet automatisch lockt of in screensaver gaat.

Verder (ook bruikbaar voor andere OS'en):
- Maak een auto logon en gebruik daarvoor een gastaccount dat nergens rechten heeft. Zet je browser in de autostart.
- Verwijder de shutdown optie. Laat alleen logoff en reboot staan.
- Maak een extra partitie en redirect je local profile en temp mappen daar naartoe.
- Zorg dat alleen je muis, toetsenbord en scherm fysiek te benaderen zijn. De pc MOET in een afgesloten kast staan.
Let er op dat je geen toetsenbord gebruikt dat extra usb-poorten heeft en lus de usb-aansluiting op je scherm ook niet door. Het zal niet de eerste keer zijn dat de beveiliging wordt doorbroken omdat iemand boot met een usb-stick of cd.
Maak de kabels goed vast aan een stangetje of oogje in de kast om te voorkomen dat iemand de kabels er uit trekt.
Gebruik geen draadloze toetsenbord en muis want die hebben de neiging uit zichzelf te verdwijnen (soms zelfs per ongeluk).
- Maak een lokale startpagine voor je browser met gedragsregels. Evt met een paar links naar pagina's die jij belangrijk vindt. Zet er evt bij waar een admin gevonden kan worden indien er technische problemen zijn (voorzichtig met email adressen en tel.nrs.).
- Zorg er voor dat je firewall goed geconfigureerd is.
- Zorg er voor dat wifi en andere netwerkinstellingen niet geconfigureerd kunnen worden.

Nog veiliger; start op vanaf een live cd.
Een reboot en alle troep is weg. Ook is je OS readonly en kan er geen troep worden geinstalleerd.
Voor je temp folders kan je gebruik maken van een ram-disk: http://memory.dataram.com/products-and-services/software/ramdisk
Dit gebruikt een deel van je ramgeheugen en mount deze als schijf. Reboot en alle troep is weg.
Haal ook je hdd uit de pc en stel je bios in dat deze alleen boot van cd. Zet een admin pw op je bios.
Tip: neem een 2e pc (zelfde model i.v.m. drivers e.d.) en test daarop je configuratiewijzigingen voordat je de cd in de kiosk pc plaatst. Gebruik ook de 2e pc om updates te installeren.
Volgens mij zijn er ook live-cd's met virusscanners. Laat deze virusscanner zijn updates installeren op de ramdisk.

Als je kiosk zich op een plek bevindt dat openingstijden heeft (winkel, bedrijfspand), schedule buiten openingstijden een reboot. In het geval van de live-cd met ramdisk, heb je iedere dag een schone pc.

Pffff.... Een heel verhaal maar volgens mij moet je hier een heel eind mee komen.


MB.
10-01-2013, 22:48 door [Account Verwijderd]
[Verwijderd]
11-01-2013, 09:39 door Arnio
Bedankt :)
11-01-2013, 15:02 door Anoniem
Als ik voor "internet" maar even "wereldwijde web" lees (en ja, dat is verschillend en als kioskhouder mag je best het verschil kennen en kunnen toepassen), dan zou ik ook een linux of *BSD met niet meer dan X en een full-screen browser in auto-her-opstartmodus neerzetten. De procedure ligt een beetje aan het opstartmechanisme (/etc/inittab is een sysv-holdover, /etc/ttys zie je bij de *BSD familie) maar daar is elders voldoende over te vinden. En dan even weten hoe X opstart, en wat knutselen. Heb er "embedded displays" mee geknutseld, werkte prima.

Voor heel erg oude peecees kan je zelfs overwegen om de browser ergens anders vandaan te halen en lokaal alleen een X server met remote-X-opstart-protocol te draaien, waar dan die browser op verschijnt. Sleutelwoord: XDMCP.
14-01-2013, 09:05 door Anoniem
webconverger, out of te box helemaal dicht
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.