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.

Responsive image

Ří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.

Responsive image
Obrázek: Nastavení UAC

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 provededení úlohy s administrátorskými právi, říkamé, že došlo k elevaci (povíšení) práv.

Responsive image
Obrázek: UAC dialog

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


Responsive image
Obrázek: Ukázka zamítnutí


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.


Responsive image
Obrázek: Ukázka zamítnutí

Shrnutí hodnot Execution policy

© 2019 Copyright: powershell.www3.cz