Použití řízení aplikací k zabezpečení PowerShellu
Windows 10 obsahuje dvě technologie, Řízení aplikací pro firmy a AppLocker, které můžete použít k řízení aplikací. Umožňují vám vytvořit prostředí uzamčení, které vám pomůže zabezpečit prostředí PowerShellu.
AppLocker vychází z funkcí řízení aplikací zásad omezení softwaru. AppLocker umožňuje vytvářet pravidla pro povolení nebo zamítnutí aplikací pro konkrétní uživatele nebo skupiny. Aplikace identifikujete na základě jedinečných vlastností souborů.
Řízení aplikací pro firmy, představené ve Windows 10 jako řízení aplikací v programu Windows Defender (WDAC), umožňuje řídit, které ovladače a aplikace mohou běžet ve Windows.
Detekce zásad uzamčení
PowerShell detekuje zásady pro celý systém AppLocker i App Control pro firmy. AppLocker nemá způsob, jak se dotazovat na stav vynucování zásad. Pokud chcete zjistit, jestli nástroj AppLocker vynucuje zásady řízení aplikací pro celý systém, PowerShell vytvoří dva dočasné soubory a testuje, jestli je možné je spustit. Názvy souborů používají následující formát názvu:
$env:TEMP/__PSAppLockerTest__<random-8dot3-name>.ps1
$env:TEMP/__PSAppLockerTest__<random-8dot3-name>.psm1
Řízení aplikací pro firmy je upřednostňovaným systémem řízení aplikací pro Windows. App Control poskytuje rozhraní API, která umožňují zjistit konfiguraci zásad. Řízení aplikací je navržené jako funkce zabezpečení v rámci kritérií údržby definovaných centrem Microsoft Security Response Center (MSRC). Další informace najdete v tématu Řízení aplikací pro Windows a řízení aplikací a dostupnost funkcí AppLockeru.
Poznámka:
Při volbě mezi ovládacím prvek aplikace nebo AppLockerem doporučujeme implementovat řízení aplikací pomocí Řízení aplikací pro firmy, nikoli Pomocí AppLockeru. Microsoft už ne investuje do AppLockeru. I když AppLocker může dál dostávat opravy zabezpečení, nebude dostávat vylepšení funkcí.
Vynucení zásad řízení aplikací
Když PowerShell běží pod zásadami řízení aplikací, změní se jeho chování na základě definovaných zásad zabezpečení. V rámci zásad řízení aplikací PowerShell spouští důvěryhodné skripty a moduly povolené zásadami v FullLanguage
režimu. Všechny ostatní skripty a bloky skriptů jsou nedůvěryhodné a spouštěné v ConstrainedLanguage
režimu. PowerShell vyvolá chyby, když se nedůvěryhodné skripty pokusí provést akce, které nejsou v ConstrainedLanguage
režimu povolené. Může být obtížné zjistit, proč se skript v režimu nepodařilo správně ConstrainedLanguage
spustit.
Auditování zásad řízení aplikací
PowerShell 7.4 přidal novou funkci pro podporu zásad řízení aplikací v režimu auditování . V režimu auditu PowerShell spouští nedůvěryhodné skripty v ConstrainedLanguage
režimu bez chyb, ale protokoluje zprávy do protokolu událostí. Zprávy protokolu popisují, jaká omezení by se použila, pokud by zásady byly v režimu vynucení .
Historie změn
Windows PowerShell 5.1 byl první verzí PowerShellu pro podporu řízení aplikací. Funkce zabezpečení app Control a AppLockeru se vylepšují s každou novou verzí PowerShellu. Následující části popisují, jak se tato podpora změnila v jednotlivých verzích PowerShellu. Změny jsou kumulativní, takže funkce popsané v novějších verzích obsahují funkce z předchozích verzí.
Změny v PowerShellu 7.4
Ve Windows se při spuštění PowerShellu v rámci zásad řízení aplikací změní jeho chování na základě definovaných zásad zabezpečení. V rámci zásad řízení aplikací PowerShell spouští důvěryhodné skripty a moduly povolené zásadami v FullLanguage
režimu. Všechny ostatní skripty a bloky skriptů jsou nedůvěryhodné a spouštěné v ConstrainedLanguage
režimu. PowerShell vyvolá chyby, když se nedůvěryhodné skripty pokusí provést nepovolené akce. Je obtížné zjistit, proč se skript nespustí správně v ConstrainedLanguage
režimu.
PowerShell 7.4 teď podporuje zásady řízení aplikací v režimu auditování . V režimu auditu PowerShell spouští nedůvěryhodné skripty v ConstrainedLanguage
režimu, ale protokoluje zprávy do protokolu událostí místo vyvolání chyb. Zprávy protokolu popisují, jaká omezení by se použila, pokud by zásady byly v režimu vynucení .
Změny v PowerShellu 7.3
- PowerShell 7.3 teď podporuje možnost blokovat nebo povolit soubory skriptů PowerShellu prostřednictvím rozhraní API pro řízení aplikací.
Změny v PowerShellu 7.2
V AppLockeru došlo k rohu scénáře, kdy k vynucování zásad, které umožňují obejít zásady provádění, nepoužíváte jenom pravidla zamítnutí a omezený režim. Počínaje PowerShellem 7.2 byla provedena změna, aby pravidla AppLockeru měla přednost před příkazem
Set-ExecutionPolicy -ExecutionPolicy Bypass
.PowerShell 7.2 teď zakáže použití
Add-Type
rutiny v relaci PowerShelluNoLanguage
v režimu na uzamčeném počítači.PowerShell 7.2 teď zakáže používání objektů COM v podmínkách uzamčení systému AppLockeru skripty. Rutiny, které používají com nebo DCOM interně, nejsou ovlivněny.
Další texty
- Další informace o tom, jak app Control funguje a jaká omezení vynucuje, najdete v tématu Jak funguje řízení aplikací s PowerShellem.
- Další informace o zabezpečení PowerShellu pomocí Řízení aplikací najdete v tématu Použití řízení aplikací.