Application Deployment: Základní požadavky na aplikace pro firemní prostředí

Jaké jsou vlastně postupy pro nasazování aplikací ve firmách, či korporacích? Jak se takové aplikace obvykle nastavují, nebo jaké možnosti nastavení správci uvítají?

Dnes jsem vysvětloval autorům skvělé aplikace Datovky od CZ.NIC jak to chodí v korporacích co se týče deploymentu jednotlivých aplikací. Jedná se o relativně rozsáhlé téma a v případě Datovky bylo třeba řešit celkem netradiční věci.

Jaké vlastnosti a funkce by měla mít, aby byla ideální pro hromadnou distribuci ve firemních sítích?

  • Informace o produktu a verzi v souborech aplikace
  • Digitální podpis souborů aplikace
  • Podpora automatické bezobslužné instalace aplikace
  • Podpora hromadné vynucené konfigurace nastavení aplikace

 

Informace o produktu a verzi v souborech aplikace

Aplikační soubory musí mít vyplněny informace o produktu a verzi. Všimněte si jak vypadá popiska u aplikace Datovka a jak u mé aplikace Programs and Updates Desktop. Jednoznačně lze určit autora aplikace a případně ověřit licenční podmínky. Pokud někdo soubor datovka.exe přejmenuje, můžete soubor detekovat jen s pomocí kontrolního součtu, což je poněkud nepraktické a vyžaduje to obvykle specializované nástroje.

Z těchto praktických důvodů by měly být vyplněna alespoň pole Popis souboru a verze souboru.

Digitální podpis souborů aplikace

Aplikační soubory by měly být digitálně podepsány uznávanou certifikační autoritou (z pohledu Windows). Proč? Minimálně ze základního bezpečnostního pohledu:

  • autor aplikace se ke své práci hlásí,
  • pokud je digitální podpis v pořádku, aplikace není zavirovaná, nebo nějak pokoutně změněna, či poškozena.

Pro firmy s větším počtem počítačů už má také smysl implementovat funkci AppLocker, která významně zvýší bezpečnost celé firemní sítě, tedy pokud budou všechny binární soubory digitálně podepsány.

 

Podpora automatické bezobslužné instalace aplikace

Pro hromadnou distribuci aplikace potřebují správci, aby aplikace podporovala hromadnou distribuci (instalaci). Pokud to aplikace neumí, musí si vytvořit distribuční balíček správce sám, což je u rozsáhlejších softwarových produktů složitější, v některých případech i takřka nemožné bez podpory autora software.

Proto by měla aplikace být dodána v podobě instalačního balíčku MSI (Windows Installer). Případně jako nouzové řešení je, aby instalátor podporovat automatickou bezobslužnou instalaci, což typicky zvládne instalátor Inno Setup, alternativně i NSIS.

 

Podpora hromadné vynucené konfigurace nastavení aplikace

Aplikace by měla podporovat centrální konfiguraci skrze Group Policy, případně skrze nastavení Windows registry, nebo s pomocí konfiguračního souboru, který vynucuje některá nastavení uživatelům.

Někoho napadne, že toto již aplikace přece umí, ano umí, ale z pohledu nastavení pro jednotlivé uživatele. Pro správce je nutné mít možnost definovat určitá nastavení, která mají vyšší prioritu než uživatelská nastavení a dá jim přednost.

 

 

Typické je toto pro zákaz upozornění na novou verzi aplikace. Je to typická funkce, kterou všichni správci zakazují. V podnikové síti totiž uživatelé nemají práva správce a tak jakékoli upozornění na novou verzi pak skončí selháním spuštění aktualizace. Jsou samozřejmě vyjímky, kde autoři aplikace počítají a umožňují aktualizaci aplikace uživatelům
s omezenými právy, což však v korporacích kde je vše sladěno není žádoucí, takže i proto je třeba tyto upozornění zakázat 🙂

Pro představu jak lze vynutit chování bez ohledu na nastavení uživatele může sloužit aplikace Greenshot. Vynucené nastavení aplikace lze vyvolat konfiguračním souborem greenshot-fixed.ini. Stejný princip je umožněn také u aplikace KeePass.

 

 

Oddělit spustitelný kód a data

Všechny aplikace se instalují do standardních systémových složek

  • C:\Program Files\, nebo
  • C:\Program Files (x86)\.

a nikam jinam. Proč? Protože Microsoft to takto definoval a také z pohledu bezpečnosti jsou výchozí oprávnění Windows taková, že uživatelé s právy User mají práva číst obsah této složky, ale nikoli zapisovat. Je to zřejmé z názvu složky, „Program Files“, česky soubory aplikace (programu). V této složce by tedy měly být pouze binárky, nebo jiná data aplikace, které souvisí pouze s během aplikace.

Kam se ukládají uživatelská data?

Logicky aplikační data, tedy data uživatelů, by se měly ukládat do jiných umístění, zde záleží na povaze těchto dat. Čistě data, vyrobená uživatelem, by se měla ukládat do systémové uživatelské složky uživatele Dokumenty

C:\Users\uzivatel\Documents\.

 

Pokud se jedná o data konfigurační, měly by se ukládat do příslušné složky v uživatelském profilu, například:

C:\Users\uzivatel\AppData\Local\NejakaAplikace\.

 

Pokud se jedná o společná data aplikace bez ohledu na uživatele, slouží k tomu speciální složka Program Data

C:\ProgramData\NejakaAplikace.

 

Michal Zobec

Michal Zobec Senior IT Consultant, Project Manager ZOBEC Consulting