Promotic

Komponenta SafeOper

Komponenty a nastavení SafeOper slouží k zabezpečení aplikace proti nežádoucím zásahům uživatele, například spuštění jiných aplikací, ukončení běhu aplikace PROMOTIC, atd.

Funkčnost je založena na možnosti konfigurace OS Windows 10/7/Embedded/2003-12Server pomocí hodnot v registrační databázi Windows (registry) tak, aby běžící aplikace PROMOTIC byla zabezpečena proti nežádoucím zásahům uživatele. Konfigurační soubory a skripty jsou umístěny ve složce \Promotic\Tools\SafeOper. Vše pro OS Windows 7 platí i pro OS Windows 11/10. V podstatě se nejedná PROMOTIC komponentu, ale o specifické nastavení v OS Windows.

Chování takto nakonfigurovaného systému

a) Po startu počítače se automaticky spustí aplikace PROMOTIC (automaticky se přihlásí Windows uživatel Promotic a spustí se povelový soubor AutoStart.bat, ve kterém se spustí aplikace PROMOTIC).
b) Není spuštěna ani plocha Windows (desktop) ani lišta úloh (TaskBar) a není přístupný ani správce úloh (TaskManager).
c) Nefunguje klávesa Ctrl+Esc, atd.
d) Klávesy Alt+Tab, Alt+F4, atd. jsou funkční a umožňují manipulaci s již otevřenými okny a aplikacemi.
e) Pokud je aplikace PROMOTIC zmenšena, pak nefunguje ani pravé tlačítko myši nad plochou obrazovky mimo aplikaci PROMOTIC. Zmenšení a zavření aplikace se dá navíc zakázat v konfigurátoru objektu PmaRoot v kartě "Aplikace" a Vzhled.
f) Interaktivními prostředky OS Windows nelze spustit žádnou úlohu.
Od OS Windows Vista a výše po stisknutí kláves Ctrl+Alt+Del nelze zabránit odhlášení uživatele nebo vypnutí počítače.
g) Ze skriptů aplikace lze spustit libovolnou aplikaci pomocí metod Pm.CreateProcess nebo Pm.ShellExecute (a to i v kontextu jiného Windows uživatele, například Admin, pomocí nástroje RunAs).
h) Odhlášení uživatele nebo vypnutí počítače je nutno udělat v aplikaci pomocí metody Pm.ShutDown (nejlépe ji volat při ukončení aplikace v události PmaRoot.onAppStopBegin).

Charakteristika práce se systémem PROMOTIC a s aplikací

Veškerá instalace a upgrade systému PROMOTIC i vlastní aplikace probíhá pod vytvořeným Windows uživatelem Admin (skupina Administrators). Tento účet nemá žádné zabezpečovací vlastnosti a umožňuje úplnou práci s OS Windows i s aplikací PROMOTIC. Tato konfigurace odpovídá normálnímu, nezabezpečenému provozu.
Vlastní zabezpečený provoz aplikace PROMOTIC probíhá pod vytvořeným Windows uživatelem Promotic (skupina Users a během konfigurace kvůli zápisu do registrační databáze přechodně i Administrators). Do složky \Promotic s nainstalovaným systémem PROMOTIC má aplikace přístup jen pro čtení.
Protože aplikace je instalována pod uživatelem Admin a provozována pod uživatelem Promotic, musí být všechny soubory a složky aplikace přístupné uživateli Promotic pro čtení i zápis. Toto je splněno u souborového systému FAT32, kde nelze nastavovat práva u souborů a složek, ale u NTFS je nutno tuto podmínku zajistit (implicitně by nebyla splněna).
Pokud se nainstalují OS Windows na samostatný počítač (mimo doménu), pak se nainstalují OS Windows na samostatný počítač (mimo doménu), OS Windows použijí zjednodušený model zabezpečení. U souborů a složek pak nelze ručně nastavovat uživatelská přístupová práva, ale existuje sdílená složka Windows (C:\Users\Public\Documents pro OS Windows Vista, Win Server 2008 a vyšší), která má práva přednastavena tak, že složky a soubory v ní umístěné, jsou přístupné všem Windows uživatelům pro čtení i zápis. Z tohoto důvodu je vhodné umístit aplikaci, včetně složky s datovými soubory aplikace, do této sdílené složky.
Pokud jsou OS Windows zařazeny do domény, pak lze aplikaci nainstalovat kamkoliv, ale je nutno povolit u složek a souborů aplikace uživateli Promotic právo pro čtení i zápis. V případě nutnosti se dá zjednodušený model zabezpečení sdílení souborů u OS Windows XP, které nejsou v doméně, vypnout pomocí 'Místních zásad zabezpečení' počítače.
Při konfiguraci komponenty SafeOper je nutno pracovat přesně podle návodu. Důležité je, že lze pomocí klávesy Shift, držené stisknuté během celého startu OS Windows, zakázat automatické přihlášení uživatele Promotic a následné spuštění aplikace a místo toho se přihlásit jako uživatel Admin a provést případné úpravy v konfiguraci SafeOper, v aplikaci nebo v systému PROMOTIC. V krajním případě lze smazat uživatele Promotic a začít celý postup instalace znova od bodu 7).
Spouštět REG soubory (SafeOperStart.reg a SafeOperStop.reg) lze jen pod uživatelem Promotic a to pouze ve chvíli, kdy je přechodně přidán i do skupiny Administrators. V zásadě je nutno spustit soubor SafeOperStart.reg jen jednou během instalace, zatímco soubor SafeOperStop.reg není obvykle nutno spouštět nikdy.

Popis jednotlivých kroků během instalace na OS Windows

Při nesprávné instalaci může v krajním případě nastat situace, kdy se nelze k nainstalovanému systému správně přihlásit. Proto je doporučeno držet se následujícího postupu:
1) Přihlásit se jako uživatel Administrator.
2) Vytvořit nového uživatele Admin, člena skupiny Administrators (důležitý krok, nevynechávat ho).
3) Odhlásit se a přihlásit se jako uživatel Admin.
4) Instalace systému PROMOTIC do složky C:\Promotic.
5) Instalace aplikace do nové složky ve sdílené složce C:\Users\Public\Documents (pro OS Windows Vista, Server 2008 a vyšší).
6) Editace SafeOper souborů ve složce \Promotic\Tools\SafeOper (AutoStart.bat spouští aplikaci PROMOTIC, SafeOperStart.reg konfiguruje uživatele Promotic do režimu SafeOper a SafeOperStop.reg konfiguruje uživatele Promotic zpět do normálního režimu).
6.1) AutoStart.bat, v souboru se edituje příkaz ke spuštění aplikace PROMOTIC (soubor lze zkopírovat i jinam, takže pak nemůže dojít k jeho přepsání při upgrade systému PROMOTIC).
6.2) SafeOperStart.reg, v souboru se edituje klíč s cestou k souboru AutoStart.bat (Shell), název počítače (DefaultDomainName) a heslo uživatele Promotic (DefaultPassword).
7) Vytvořit nového uživatele Promotic, člena skupiny Users a Administrators.
8) Odhlásit se a přihlásit se jako uživatel Promotic.
9) Spustit (načíst) soubor SafeOperStart.reg ve složce \Promotic\Tools\SafeOper (složka WinXP nebo Win7).
10) Odebrat uživatele Promotic ze skupiny Administrators.
11) Restartovat počítač.

Příklady

Příklad1:
Ukončení OS Windows současně s ukončením aplikace voláním metody Pm.ShutDown v události PmaRoot.onAppStopBegin.
VBScriptVyber a zkopíruj do schránky

Pm.ShutDown 2, true
Příklad2:
Spuštění příkazového řádku v kontextu přihlášeného Windows uživatele (Promotic) ve skriptu metodou Pm.CreateProcess.
VBScriptVyber a zkopíruj do schránky

Pm.CreateProcess "cmd.exe", ""
Příklad3:
Spuštění příkazového řádku v kontextu jiného Windows uživatele (Admin) ve skriptu metodou Pm.CreateProcess. Tento příkaz by neměl chybět v servisním menu aplikace chráněné pomocí komponenty SafeOper, protože příkazový řádek umožňuje spuštění libovolného jiného programu, editaci Windows uživatelů a jejich práv, kopírovaní a mazání souborů, atd.
VBScriptVyber a zkopíruj do schránky

Pm.CreateProcess "runas /user:Admin cmd.exe", ""
Příklad4:
Spuštění editace konkrétního souboru v kontextu jiného Windows uživatele s tím, že při každém spuštění bude nutno zadat heslo daného uživatele (heslo nesmí být prázdné).
VBScriptVyber a zkopíruj do schránky

Pm.CreateProcess "runas /user:Admin ""notepad.exe C:\Promotic\Apps\Aplikace1\XY.ini""", ""
Příklad5:
Spuštění aplikace v povelovém souboru AutoStart.bat pomocí nástroje RunLater (použití tohoto nástroje je nutné, aby po spuštění aplikace na obrazovce nezůstalo okno s příkazovým řádkem).
C:\Pm\RunLater.exe /t=1 /f=C:\Documents and Settings\All Users\Dokumenty\Demo\demo.pra

Užitečné příkazy příkazového řádku

Příklad1:
Spuštění nového příkazového řádku v kontextu jiného Windows uživatele (Admin) z příkazového řádku (která je například v kontextu Promotic).
runas /user:Admin cmd.exe
Příklad2:
Spuštění nástroje pro úpravu Windows uživatelů (možnost přiřadit administrátorská práva uživateli Promotic).
Není dostupné pro OS Windows Home edice (OS Windows 11/10 Home, OS Windows 7 Home Basic/Premium, ...).
Úpravy lze provádět pouze v kontextu Windows uživatele s administrátorskými právy (Admin).
lusrmgr.msc
Příklad3:
Spuštění nástroje pro Místní nastavení zabezpečení
Není dostupné pro OS Windows Home edice (OS Windows 11/10 Home, OS Windows 7 Home Basic/Premium, ...).
Úpravy lze provádět pouze v kontextu Windows uživatele s administrátorskými právy (Admin).
secpol.msc
Příklad4:
Příkaz pro spuštění plochy, nástrojové lišty s tlačítkem Start OS Windows (pokud je aktivní SafeOper a plocha je potlačena). Později je nutno provést restart počítače, aby byl SafeOper opět plně fukční.
explorer.exe
Příklad5:
Spuštění REG souboru SafeOperStart.reg nebo SafeOperStop.reg (ve složce \Promotic\Tools\SafeOper (ForWin) aktivujícího nebo deaktivujícího komponentu SafeOper. Lze provést pouze v kontextu Windows uživatele Promotic a to pouze ve chvíli, kdy je přechodně přidán i do skupiny Administrators.
SafeOperStart.reg
SafeOperStop.reg
Příklad6:
Editace textového souboru.
notepad "C:\Promotic\Tools\SafeOper\ForWin\AutoStart.bat"
notepad "C:\Promotic\Tools\SafeOper\ForWin\SafeOperStart.reg"
© MICROSYS, spol. s r. o.