Zablokuj kiosk desktopowy
Aplikacja kiosku desktopowego obsługuje to, co może, z poziomu własnego procesu. W przypadku nienadzorowanych publicznych kiosków dołóż pod aplikacją profil na poziomie systemu operacyjnego, aby sam system blokował drogi ucieczki, których aplikacja z zasady nie jest w stanie zamknąć.
Co aplikacja obsługuje samodzielnie
Dział zatytułowany „Co aplikacja obsługuje samodzielnie”Po uruchomieniu jako klient kiosku aplikacja desktopowa:
- Otwiera się bez obramowania i w trybie pełnoekranowym, zajmując całą powierzchnię ekranu, łącznie z paskiem menu.
- Na macOS ukrywa pasek menu i dok za pomocą natywnego
NSApplicationPresentationOptions(.hideMenuBar | .hideDock) i wymusza to ponownie za każdym razem, gdy aplikacja odzyskuje fokus. - Blokuje ⌘+Q (oraz „Zakończ” w menu aplikacji) na macOS za pomocą AWT QuitHandler.
- Próbuje tłumić inne popularne skróty klawiszowe — Alt+F4, ⌘+W, Alt+Tab, ⌘+Tab, klawisz Windows/Super, F11 i Escape — o ile system dostarcza je do aplikacji, zanim sam je obsłuży.
- Zabezpiecza wyjście kodem PIN menedżera. Menu menedżera otwiera się po pięciu szybkich dotknięciach w prawym górnym rogu (na ekranach dotykowych) lub pięciu naciśnięciach F12 (na klawiaturach fizycznych), a wprowadzanie PIN-u ma blokadę na atak siłowy. Nadzorujący operator ustawia PIN przy pierwszym uruchomieniu. Zobacz Wyjście z blokady kiosku i odzyskiwanie PIN-u, aby poznać pełny przebieg działań operatora, w tym odzyskiwanie PIN-u.
Aplikacja stanowiska obsługi nie jest blokowana — to narzędzie dla personelu, które zachowuje standardowe elementy sterowania oknem.
Windows — Assigned Access / Shell Launcher
Dział zatytułowany „Windows — Assigned Access / Shell Launcher”Windows oferuje dwa mechanizmy kiosku. Kiosk desktopowy jest klasyczną aplikacją Win32, dlatego Shell Launcher jest właściwym rozwiązaniem — Assigned Access (kiosk jednej aplikacji) akceptuje tylko aplikacje UWP/MSIX lub przeglądarkę Microsoft Edge.
Shell Launcher v2
zastępuje domyślną powłokę Windows (explorer.exe) plikiem wykonywalnym
kiosku Jonot dla wskazanego konta. Bez powłoki Eksploratora nie ma pulpitu,
menu Start ani paska zadań; jeśli aplikacja się zakończy, Shell Launcher
uruchamia ją ponownie. Wymaga systemu Windows 10/11 Enterprise, Education
lub IoT Enterprise.
- Włącz opcjonalną funkcję Shell Launcher
(
Enable-WindowsOptionalFeature -Online -FeatureName Client-EmbeddedShellLauncher) albo wdroż ją z poziomu Twojego MDM. - Utwórz dedykowane, standardowe (nieadministracyjne) konto lokalne dla kiosku.
- Skonfiguruj Shell Launcher tak, aby niestandardową powłoką tego konta był launcher kiosku Jonot, z akcją ponownego uruchamiania po zakończeniu — za pomocą CSP Shell Launcher z Twojego MDM lub lokalnie, korzystając z przykładu PowerShell z mostkiem WMI opisanego w przewodniku Shell Launcher.
- Ustaw dla konta kiosku automatyczne logowanie i wyłącz ekran blokady, uśpienie oraz szybkie przełączanie użytkowników.
Do szybkiej, nadzorowanej konfiguracji bez licencji Enterprise „przeglądarka
kiosku” Assigned Access
może wskazywać bezpośrednio na https://kiosk.jonot.io — uruchamia jednak
SPA w Edge bez natywnego mostka (brak lokalnego drukowania, brak
przełączania na tryb offline hosta), więc jest to rozwiązanie zapasowe, a nie
zamiennik aplikacji natywnej.
macOS — instrukcja blokowania ucieczek na poziomie systemu
Dział zatytułowany „macOS — instrukcja blokowania ucieczek na poziomie systemu”Aplikacja ukrywa pasek menu i dok oraz blokuje ⌘+Q po swojej stronie. Profil na poziomie systemu obejmuje drogi, których aplikacja nie może zamknąć: Force Quit, Mission Control, przełączanie Spaces, aktywne narożniki, Spotlight i przełączanie aplikacji.
Użyj dedykowanego, zarządzanego lub ograniczonego konta z automatycznym logowaniem. Wdrażaj za pomocą MDM (Jamf Pro, Kandji, Mosyle lub Intune):
-
Dedykowane standardowe konto + automatyczne logowanie. Utwórz nieadministracyjne konto lokalne używane wyłącznie do kiosku. Włącz dla niego automatyczne logowanie i wyłącz uśpienie systemu za pomocą profilu energetycznego. Payload Managed Login Items zapewnia uruchamianie aplikacji kiosku przy starcie sesji.
-
Wyłącz Force Quit (⌘+⌥+Esc). Force Quit to główna droga ucieczki, której aplikacja nie może zablokować. Wyłącz ją za pomocą niestandardowego payloadu managed-preferences dla
com.apple.loginwindow:DisableForceQuitCombinedKey = true -
Wyłącz Mission Control i przełączanie Spaces. Użyj
com.apple.symbolichotkeys, aby wyłączyć skrót Mission Control (klawisz 32) oraz skróty przełączania Spaces (klawisze 79–81, 118–123). -
Wyłącz aktywne narożniki. Wdróż payload preferencji
com.apple.dockz wszystkimi czterema kluczamiwvous-*-cornerustawionymi na0(wyłączone). -
Wyłącz Spotlight. Wyłącz skrót klawiszowy Spotlight za pomocą
com.apple.symbolichotkeys(klawisz 64 dla wyszukiwania Spotlight). Uwaga: klucz Spotlight standardowego payloadu Restrictions tłumi wyłącznie wyniki z internetu, a nie samo Spotlight — zamiast tego użyj podejścia z symbolichotkeys. -
Wyłącz przełączanie aplikacji (⌘+Tab). Wyłącz skrót Przełącznika aplikacji za pomocą
com.apple.symbolichotkeys(klawisz 27).
Linux — sesja kiosku GNOME
Dział zatytułowany „Linux — sesja kiosku GNOME”W Linuksie najczystszym rozwiązaniem blokady jest dedykowana sesja GNOME Kiosk, w której aplikacja kiosku Jonot jest jedynym oknem sesji — bez panelu, bez podglądu Aktywności i bez przełącznika aplikacji.
- Zainstaluj pakiet
gnome-kiosk(dostępny w nowszych wydaniach Fedory oraz Debiana/Ubuntu). Udostępnia on minimalny kompozytor Wayland, który uruchamia jedną aplikację pełnoekranową. - Utwórz niestandardową sesję, która uruchamia plik wykonywalny kiosku Jonot jako polecenie powłoki, tak aby aplikacja kiosku była sesją.
- Skonfiguruj automatyczne logowanie GDM dla dedykowanego standardowego użytkownika w tej sesji kiosku.
- Wzmocnij otaczający system: wyłącz przełączanie VT oraz
Ctrl+Alt+Backspace, zablokuj dostęp do TTY w
logindi wyłącz automatyczne wygaszanie ekranu oraz zarządzanie energią.
Ponieważ kompozytor GNOME Kiosk nigdy nie udostępnia przełącznika ani podglądu, w ramach sesji nie ma drogi do innej aplikacji — system egzekwuje to, co wewnątrzprocesowe tłumienie skrótów aplikacji może jedynie próbować.
Zalecane warstwy
Dział zatytułowany „Zalecane warstwy”| Warstwa | Chroni przed |
|---|---|
| Blokada w aplikacji | Paskiem menu/dokiem (macOS), ⌘+Q, przypadkowym wyjściem, skrótami przechwytywalnymi wewnątrz procesu |
| Profil kiosku na poziomie systemu | Force Quit, Mission Control, Spaces, aktywnymi narożnikami, Spotlight, przełączaniem aplikacji na poziomie systemu |
| Obudowa fizyczna | Dostępem do sprzętu — portami USB, przyciskiem zasilania, klawiaturą |
Dla nienadzorowanych publicznych wdrożeń zawsze stosuj blokadę w aplikacji razem z profilem na poziomie systemu. Obudowa fizyczna to trzecia warstwa dla w pełni odpornych na manipulacje wdrożeń.