PowerShell - 0_19-Zabezpečení v PowerShellu
Zabezpečení v PowerShellu



Systémové činnosti stejně jako v CMD vyžadují elevaci konzole. Pokud tedy nespustíme PowerShell konzoli nebo editor jako administrátor (run as administrator), nebude možné provést systémovou činnost.
Dalším bezpečnostním opatřením je zavedení takzvané Politiky spouštění skriptů. Jejím cílem je ochrana před nechtěným spuštěním (nebezpečného) skriptu.

Řízení uživatelských účtů:
UAC – Řízení uživatelských účtů má za úkol odstranit jednou z nejrizikovějších vlastností Windows – nutnost pracovat v uživatelském účtu, který má přístup k administrátorský právům. V minulosti (před UAC) se tak na PC mohl spustit jakýkoliv program s právy administrátora. Mohl dělat cokoliv bez vědomí uživatele. Poprvé jsme se setkali s UAC v operačních systémech Windows Vista. Pokud se tedy uživatel chystá provést akci vyžadující administrátorská oprávnění, objeví se dialogové okno. Citlivost UAC můžeme nastavit. Pokud tedy povolíme potvrzením/zadáním hesla provedení úlohy s administrátorskými právy, říkáme, že došlo k elevaci (povýšení) práv.

Časté žádosti vedou uživatele k deaktivaci této ochrany. UAC se dá kompletně vypnou. Tím ale přijdeme o jedno ze zabezpečení Windows a PC vystavujeme nebezpečí.

Při práci na stanicích s Linux OS je potřeba pro systémové úkony také elevace, a to na účet root. Pro povýšní práv použijeme příkaz sudo a pro trvalé povýšení v aktuální relaci sudo -i.

Execution policy:
Druhou součástí zabezpečení je politika spouštění (Execution policy) skriptů. Chrání systém před spuštěním škodlivého nebo nechtěného skriptu.
Výchozí hodnota je Restricted a zakazuje spouštět jakékoliv skripty. AllSignet říká, že všechny skripty, které chceme spustit, musí být podepsány, a to i ty, co jsou z lokálního zařízení. Doporučenou hodnotou je RemoteSigned, kdy politika dovoluje spouštět všechny skripty ze zařízení, kde byly vytvořené. Staženým bude spuštění umožněno pouze v případě, že je stažený skript podepsaný. Execution polici můžeme “vypnout“ a to zadáním hodnoty Unrestricted. Spouštět se pak může jakýkoliv skript.
Další specifické možnosti, které můžeme zadat, jsou Bypass a Undefined.

Informace o skriptu (podpis) jsou uložené v metadatech souboru. Pokud si například stáhneme skript a zkopírujeme jej, vytvoříme i kopii metadat. Execution policy tak pozná, že se jedná o "stejný" soubor.

Shrnutí hodnot Execution policy:
  • Restricted
  • AllSigned
  • RemoteSigned
  • Unrestricted
  • Bypass
  • Undefined




© 2019 Copyright: powershell.www3.cz