App-beheer gebruiken om PowerShell te beveiligen
Windows 10 bevat twee technologieën, App Control voor Bedrijven en AppLocker, die u kunt gebruiken om toepassingen te beheren. Hiermee kunt u een vergrendelingservaring maken om uw PowerShell-omgeving te beveiligen.
AppLocker is gebaseerd op de toepassingsbeheerfuncties van softwarerestrictiebeleid. Met AppLocker kunt u regels maken om apps toe te staan of te weigeren voor specifieke gebruikers of groepen. U identificeert de apps op basis van unieke eigenschappen van de bestanden.
Met Toepassingsbeheer voor Bedrijven, geïntroduceerd in Windows 10 als Windows Defender Application Control (WDAC), kunt u bepalen welke stuurprogramma's en toepassingen mogen worden uitgevoerd in Windows.
Detectie van vergrendelingsbeleid
PowerShell detecteert zowel AppLocker- als App Control for Business-beleid voor het hele systeem. AppLocker heeft geen manier om een query uit te voeren op de status van het afdwingen van beleid. Om te detecteren of een systeembreed toepassingsbeheerbeleid wordt afgedwongen door AppLocker, maakt PowerShell twee tijdelijke bestanden en tests als ze kunnen worden uitgevoerd. De bestandsnamen gebruiken de volgende naamindeling:
$env:TEMP/__PSAppLockerTest__<random-8dot3-name>.ps1
$env:TEMP/__PSAppLockerTest__<random-8dot3-name>.psm1
App Control voor Bedrijven is het voorkeurssysteem voor toepassingsbeheer voor Windows. App Control biedt API's waarmee u de beleidsconfiguratie kunt detecteren. App Control is ontworpen als een beveiligingsfunctie onder de onderhoudscriteria die zijn gedefinieerd door het Microsoft Security Response Center (MSRC). Zie Toepassingsbesturingselementen voor Windows - en app-beheer en beschikbaarheid van AppLocker-functies voor meer informatie.
Notitie
Wanneer u kiest tussen App Control of AppLocker, wordt u aangeraden toepassingsbeheer te implementeren met Behulp van App Control voor Bedrijven in plaats van AppLocker. Microsoft investeert niet meer in AppLocker. Hoewel AppLocker mogelijk nog steeds beveiligingsoplossingen ontvangt, worden er geen functieverbeteringen ontvangen.
Afdwingen van app-beheerbeleid
Wanneer PowerShell wordt uitgevoerd onder een App Control-beleid, wordt het gedrag ervan gewijzigd op basis van het gedefinieerde beveiligingsbeleid. Onder beleid voor app-beheer voert PowerShell vertrouwde scripts en modules uit die zijn toegestaan door het beleid in FullLanguage
de modus. Alle andere scripts en scriptblokken zijn niet vertrouwd en worden uitgevoerd in ConstrainedLanguage
de modus. PowerShell genereert fouten wanneer de niet-vertrouwde scripts proberen acties uit te voeren die niet zijn toegestaan in ConstrainedLanguage
de modus. Het kan lastig zijn om te weten waarom een script niet correct kan worden uitgevoerd in ConstrainedLanguage
de modus.
Controle van app-beheerbeleid
PowerShell 7.4 heeft een nieuwe functie toegevoegd ter ondersteuning van app-beheerbeleid in de controlemodus . In de controlemodus voert PowerShell de niet-vertrouwde scripts uit in ConstrainedLanguage
de modus zonder fouten, maar registreert berichten in het gebeurtenislogboek. In de logboekberichten wordt beschreven welke beperkingen van toepassing zijn als het beleid zich in de modus Afdwingen bevindt .
Geschiedenis van wijzigingen
Windows PowerShell 5.1 was de eerste versie van PowerShell ter ondersteuning van App Control. De beveiligingsfuncties van App Control en AppLocker worden verbeterd met elke nieuwe versie van PowerShell. In de volgende secties wordt beschreven hoe deze ondersteuning is gewijzigd in elke versie van PowerShell. De wijzigingen zijn cumulatief, dus de functies die in de latere versies worden beschreven, bevatten deze uit eerdere versies.
Wijzigingen in PowerShell 7.4
Wanneer PowerShell in Windows wordt uitgevoerd onder beleid voor app-beheer, wordt het gedrag ervan gewijzigd op basis van het gedefinieerde beveiligingsbeleid. Onder beleid voor app-beheer voert PowerShell vertrouwde scripts en modules uit die zijn toegestaan door het beleid in FullLanguage
de modus. Alle andere scripts en scriptblokken zijn niet vertrouwd en worden uitgevoerd in ConstrainedLanguage
de modus. PowerShell genereert fouten wanneer de niet-vertrouwde scripts proberen niet-toegestane acties uit te voeren. Het is moeilijk te weten waarom een script niet correct kan worden uitgevoerd in ConstrainedLanguage
de modus.
PowerShell 7.4 ondersteunt nu app-beheerbeleid in de controlemodus . In de controlemodus voert PowerShell de niet-vertrouwde scripts uit in ConstrainedLanguage
de modus, maar registreert berichten in het gebeurtenislogboek in plaats van fouten te genereren. In de logboekberichten wordt beschreven welke beperkingen van toepassing zijn als het beleid zich in de modus Afdwingen bevindt .
Wijzigingen in PowerShell 7.3
- PowerShell 7.3 ondersteunt nu de mogelijkheid om PowerShell-scriptbestanden te blokkeren of toe te staan via de App Control-API.
Wijzigingen in PowerShell 7.2
Er is een scenario in de hoek in AppLocker waarin u alleen regels voor weigeren en beperkte modus hebt, niet wordt gebruikt om het beleid af te dwingen waarmee u het uitvoeringsbeleid kunt omzeilen. Vanaf PowerShell 7.2 is een wijziging aangebracht om ervoor te zorgen dat AppLocker-regels voorrang krijgen op een
Set-ExecutionPolicy -ExecutionPolicy Bypass
opdracht.PowerShell 7.2 staat nu het gebruik van de
Add-Type
cmdlet in eenNoLanguage
modus PowerShell-sessie op een vergrendelde computer niet toe.PowerShell 7.2 staat nu niet toe dat scripts COM-objecten gebruiken in de vergrendelingsvoorwaarden van het AppLocker-systeem. Cmdlets die intern COM of DCOM gebruiken, worden niet beïnvloed.
Meer lezen
- Zie Hoe App Control werkt met PowerShell voor meer informatie over hoe App Control werkt en welke beperkingen het afdwingt.
- Zie App Control gebruiken voor meer informatie over het beveiligen van PowerShell met App Control.