Přeskočit na obsah

Uzamčení desktopového kiosku

Aplikace desktopového kiosku řeší, co může, sama ze svého procesu. Pro neobsluhované veřejné kiosky přidejte pod aplikaci ještě profil na úrovni operačního systému, aby samotný operační systém blokoval únikové cesty, které aplikace principiálně nemůže uzavřít.

Co aplikace zvládá sama

Sekce “Co aplikace zvládá sama”

Když je aplikace spuštěna jako klient kiosku, desktopová aplikace:

  • Otevře se bez okrajů a na celou obrazovku, včetně pruhu nabídky.
  • Na macOS skryje panel nabídky a Dock pomocí nativních NSApplicationPresentationOptions (.hideMenuBar | .hideDock) a znovu je potvrdí pokaždé, když aplikace získá fokus.
  • Blokuje ⌘+Q (i příkaz „Ukončit“ v nabídce aplikace) na macOS pomocí AWT QuitHandler.
  • Pokouší se potlačit další běžné klávesové zkratky — Alt+F4, ⌘+W, Alt+Tab, ⌘+Tab, klávesu Windows/Super, F11 a Escape — u těch, které operační systém doručí aplikaci dřív, než na ně sám zareaguje.
  • Podmiňuje ukončení PIN kódem správce. Nabídka správce se otevře pěti rychlými klepnutími do pravého horního rohu (u dotykových obrazovek) nebo pěti stisky F12 (u hardwarových klávesnic) a zadávání PIN kódu má ochranu proti hrubému útoku. Obsluhující operátor nastaví PIN při prvním spuštění. Celý postup pro operátora, včetně obnovy PIN kódu, najdete v článku Ukončení uzamčení kiosku a obnova PIN kódu.

Aplikace přepážky není uzamčena — je to nástroj pro personál a zachovává běžné ovládací prvky okna.

Windows — Assigned Access / Shell Launcher

Sekce “Windows — Assigned Access / Shell Launcher”

Windows nabízí dva mechanismy kiosku. Desktopový kiosek je klasická desktopová aplikace Win32, takže se lépe hodí Shell Launcher — Assigned Access (kiosek s jedinou aplikací) přijímá pouze aplikace UWP/MSIX nebo Microsoft Edge.

Shell Launcher v2 nahradí výchozí shell Windows (explorer.exe) spustitelným souborem kiosku Jonot pro vyhrazený účet. Bez shellu Průzkumníka není k dispozici plocha, nabídka Start ani hlavní panel; pokud se aplikace ukončí, Shell Launcher ji restartuje. Vyžaduje Windows 10/11 Enterprise, Education nebo IoT Enterprise.

  1. Povolte volitelnou funkci Shell Launcher (Enable-WindowsOptionalFeature -Online -FeatureName Client-EmbeddedShellLauncher), nebo ji nasaďte přes MDM.
  2. Vytvořte vyhrazený standardní (neadministrátorský) místní účet pro kiosek.
  3. Nakonfigurujte Shell Launcher tak, aby pro daný účet nastavil vlastní shell na spouštěč kiosku Jonot s akcí restartu při ukončení — buď přes CSP Shell Launcheru z vašeho MDM, nebo lokálně pomocí ukázkového PowerShell skriptu pro WMI most zdokumentovaného v průvodci Shell Launcherem.
  4. Nastavte účet kiosku na automatické přihlášení a vypněte uzamykací obrazovku, spánek a rychlé přepínání uživatelů.

Pro rychlé dohlížené nasazení bez licence Enterprise může Assigned Access „prohlížeč kiosku“ směřovat přímo na https://kiosk.jonot.io — spouští ale SPA v Edge bez nativního mostu (žádný lokální tisk, žádný přechod na offline hostitele), takže jde o náhradní řešení, nikoli náhradu za nativní aplikaci.

macOS — návod na zabránění úniku na úrovni OS

Sekce “macOS — návod na zabránění úniku na úrovni OS”

Aplikace skryje panel nabídky a Dock a blokuje ⌘+Q na straně aplikace. Profil na úrovni OS pokrývá cesty, které aplikace nemůže uzavřít: Force Quit, Mission Control, přepínání Spaces, aktivní rohy, Spotlight a přepínání aplikací.

Použijte vyhrazený spravovaný nebo omezený účet s automatickým přihlášením. Nasaďte z MDM (Jamf Pro, Kandji, Mosyle nebo Intune):

  1. Vyhrazený standardní účet + automatické přihlášení. Vytvořte neadministrátorský místní účet používaný pouze pro kiosek. Povolte pro tento účet automatické přihlášení a vypněte systémový spánek pomocí profilu napájení. Payload Managed Login Items zajistí, že se aplikace kiosku spustí při zahájení relace.

  2. Vypněte Force Quit (⌘+⌥+Esc). Force Quit je hlavní úniková cesta, kterou aplikace nemůže zablokovat. Vypněte ji vlastním payloadem spravovaných předvoleb pro com.apple.loginwindow:

    DisableForceQuitCombinedKey = true
  3. Vypněte Mission Control a přepínání Spaces. Pomocí com.apple.symbolichotkeys vypněte zkratku pro Mission Control (klíč 32) a zkratky pro přepínání Spaces (klíče 79–81, 118–123).

  4. Vypněte aktivní rohy. Nasaďte payload předvoleb com.apple.dock se všemi čtyřmi klíči wvous-*-corner nastavenými na 0 (vypnuto).

  5. Vypněte Spotlight. Vypněte klávesovou zkratku Spotlightu přes com.apple.symbolichotkeys (klíč 64 pro vyhledávání Spotlight). Poznámka: klíč Spotlightu ve standardním payloadu Restrictions potlačuje pouze výsledky z internetu, nikoli samotný Spotlight — použijte místo toho přístup přes symbolichotkeys.

  6. Vypněte přepínání aplikací (⌘+Tab). Vypněte zkratku přepínače aplikací přes com.apple.symbolichotkeys (klíč 27).

Linux — kiosková relace GNOME

Sekce “Linux — kiosková relace GNOME”

Na Linuxu je nejčistším uzamčením vyhrazená relace GNOME Kiosk, která spouští aplikaci kiosku Jonot jako jediné okno relace — bez panelu, bez přehledu Aktivit a bez přepínače aplikací.

  1. Nainstalujte balíček gnome-kiosk (k dispozici v nedávných verzích Fedory a Debianu/Ubuntu). Poskytuje minimální kompozitor Wayland, který spouští jednu aplikaci na celou obrazovku.
  2. Vytvořte vlastní relaci, která spouští spustitelný soubor kiosku Jonot jako svůj shellový příkaz, takže aplikace kiosku je danou relací.
  3. Nakonfigurujte automatické přihlášení GDM pro vyhrazeného standardního uživatele do této kioskové relace.
  4. Zabezpečte okolní systém: vypněte přepínání virtuálních terminálů a Ctrl+Alt+Backspace, zablokujte přístup k TTY v logind a vypněte automatické ztmavování obrazovky a správu napájení.

Protože kompozitor GNOME Kiosk nikdy nezobrazuje přepínač ani přehled, neexistuje v rámci relace žádná cesta k jiné aplikaci — operační systém tak vynucuje to, co potlačování zkratek uvnitř procesu aplikace může jen zkoušet.

VrstvaChrání proti
Uzamčení v rámci aplikacePanel nabídky/Dock (macOS), ⌘+Q, náhodnému ukončení, zkratkám zachytitelným v procesu
Profil kiosku na úrovni OSForce Quit, Mission Control, Spaces, aktivní rohy, Spotlight, přepínání aplikací na úrovni OS
Fyzické pouzdroPřístup k hardwaru — USB porty, tlačítko napájení, klávesnice

Pro neobsluhovaná veřejná umístění vždy provozujte uzamčení v rámci aplikace a profil na úrovni OS společně. Fyzické pouzdro je třetí vrstvou pro plně odolné nasazení proti neoprávněným zásahům.