PowerShell-transcriptie Inschakelen Voor Auditlogging

💼 Management Samenvatting

Deze beveiligingsmaatregel waarborgt de correcte configuratie van PowerShell-transcriptie op Windows endpoints voor uitgebreide auditlogging van alle PowerShell-activiteiten.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
7/10
Implementatie
2u (tech: 1u)
Van toepassing op:
Windows

PowerShell-transcriptie vormt een kritieke beveiligingscontrole voor het detecteren en onderzoeken van kwaadaardige activiteiten. Zonder transcriptie kunnen aanvallers PowerShell gebruiken voor geavanceerde persistentie, laterale beweging en data-exfiltratie zonder dat er sporen achterblijven. Deze instelling is onderdeel van de Windows-beveiligingsbaseline en beschermt tegen bekende aanvalsvectoren door het afdwingen van volledige logging van alle PowerShell-commando's, scripts en uitvoeringen.

PowerShell Modules Vereist
Primary API: Graph
Connection: Connect-MgGraph
Required Modules: Microsoft.Graph.DeviceManagement

Implementatie

Deze maatregel configureert PowerShell-transcriptie als ingeschakeld via Microsoft Intune apparaatconfiguratiebeleid of nalevingsbeleid om Windows endpoints te beveiligen volgens beveiligingsbest practices. Transcriptie legt alle PowerShell-activiteiten vast, inclusief interactieve sessies, scripts en externe PowerShell-verbindingen, waardoor beveiligingsteams volledige zichtbaarheid krijgen op PowerShell-gebruik binnen de organisatie.

Vereisten

De implementatie van PowerShell-transcriptie via Microsoft Intune vereist een grondige voorbereiding op zowel technisch als organisatorisch vlak. Voordat organisaties beginnen met de configuratie, moeten zij beschikken over een volledig operationeel Microsoft Intune-abonnement met de juiste licenties voor apparaatbeheer. Deze licenties zijn essentieel omdat PowerShell-transcriptie wordt geconfigureerd via apparaatconfiguratiebeleid, wat alleen beschikbaar is voor organisaties met een geldig Intune-abonnement. Daarnaast is directe toegang tot de Microsoft Endpoint Manager admin center vereist, waarbij de beheerder minimaal over Intune-beheerdersrechten moet beschikken om apparaatconfiguratieprofielen te kunnen maken en toewijzen. Deze toegangsrechten zijn cruciaal omdat de configuratie van PowerShell-transcriptie plaatsvindt binnen de beveiligingsinstellingen van apparaatconfiguratieprofielen, wat specifieke beheerdersrechten vereist. De Windows endpoints die moeten worden beveiligd moeten allemaal zijn ingeschreven in Microsoft Intune via een van de beschikbare inschrijvingsmethoden, zoals automatische inschrijving via Azure Active Directory join of handmatige inschrijving via groepsbeleid. Deze inschrijving is een absolute vereiste omdat alleen ingeschreven apparaten kunnen worden beheerd via Intune-beleid. De endpoints moeten bovendien ondersteuning bieden voor de PowerShell-transcriptie functie, wat standaard beschikbaar is vanaf Windows PowerShell 2.0 en hoger, wat betekent dat vrijwel alle moderne Windows-versies deze functionaliteit ondersteunen. Organisaties moeten echter rekening houden met de opslagvereisten die gepaard gaan met PowerShell-transcriptie. Transcriptiebestanden kunnen aanzienlijke hoeveelheden schijfruimte in beslag nemen, vooral op endpoints waar PowerShell intensief wordt gebruikt door beheerders, ontwikkelaars of geautomatiseerde scripts. Het is daarom essentieel dat organisaties vooraf een schatting maken van de verwachte transcriptievolumes en ervoor zorgen dat endpoints over voldoende vrije schijfruimte beschikken. Een veelvoorkomende aanbeveling is om minimaal tien procent van de beschikbare schijfruimte te reserveren voor transcriptiebestanden, hoewel de exacte vereisten afhankelijk zijn van het gebruikspatroon binnen de organisatie. Naast technische vereisten zijn er ook belangrijke organisatorische overwegingen. Organisaties moeten een duidelijk bewaarbeleid ontwikkelen dat specificeert hoe lang transcriptiebestanden worden bewaard, waar deze worden opgeslagen, en onder welke omstandigheden bestanden mogen worden gearchiveerd of verwijderd. Dit bewaarbeleid moet rekening houden met compliance-vereisten zoals de BIO Baseline Informatiebeveiliging Overheid en de AVG, die specifieke eisen stellen aan de retentie van auditlogs. Het bewaarbeleid moet ook praktische overwegingen bevatten, zoals de beschikbare opslagcapaciteit en de kosten die gepaard gaan met langdurige opslag van grote hoeveelheden transcriptiedata. Daarnaast moeten beveiligingsteams worden getraind in het analyseren van PowerShell-transcripties voor incidentrespons en forensische doeleinden. Deze training is essentieel omdat transcriptiebestanden alleen waarde hebben als beveiligingsanalisten weten hoe zij deze moeten interpreteren en analyseren op zoek naar indicatoren van kwaadaardige activiteiten. Training moet onder meer aandacht besteden aan het herkennen van verdachte PowerShell-patronen, het identificeren van pogingen tot omzeiling van transcriptie, en het correleren van transcriptiegegevens met andere beveiligingsgebeurtenissen. Organisaties moeten ook een duidelijk toegangsbeleid ontwikkelen dat specificeert welke gebruikers en groepen toegang nodig hebben tot transcriptiebestanden voor monitoring en forensische doeleinden. Dit toegangsbeleid moet gebaseerd zijn op het principe van minimale toegang, waarbij alleen personen met een legitieme behoefte toegang krijgen tot transcriptiebestanden. Toegangscontroles moeten worden geïmplementeerd via Windows-bestandsmachtigingen en eventueel aanvullende beveiligingslagen zoals versleuteling voor transcriptiebestanden die gevoelige informatie bevatten. Ten slotte moeten organisaties een gestructureerd proces inrichten voor het regelmatig controleren en analyseren van transcriptiebestanden. Dit proces moet onder meer omvatten hoe vaak transcriptiebestanden worden gecontroleerd, welke tools worden gebruikt voor analyse, en hoe bevindingen worden gedocumenteerd en geëscaleerd. Het proces moet ook procedures bevatten voor het reageren op verdachte activiteiten die worden gedetecteerd in transcriptiebestanden, inclusief escalatiepaden en samenwerking met andere teams zoals het incidentrespons team.

Implementatie

Gebruik PowerShell-script turn-on-powershell-transcription-is-set-to-enabled.ps1 (functie Invoke-Implementation) – Het implementeren van PowerShell-transcriptie via Microsoft Intune vereist een zorgvuldig geplande en gestructureerde aanpak die begint met een grondige voorbereiding van de omgeving en een duidelijk gedefinieerd beleid voor transcriptie-instellingen. De implementatie is een meerfasenproces dat aandacht vereist voor technische configuratie, organisatorische voorbereiding, en continue validatie. Organisaties moeten beginnen met het ontwikkelen van een uitgebreid beleid dat alle aspecten van PowerShell-transcriptie dekt, inclusief waar transcriptiebestanden worden opgeslagen, welke gebruikers en processen worden getranscribeerd, hoe lang transcriptiebestanden worden bewaard, en wie toegang heeft tot deze bestanden. Dit beleid moet worden afgestemd met relevante stakeholders, waaronder beveiligingsteams, IT-beheer, compliance officers, en waar nodig de privacy officer, om ervoor te zorgen dat alle belangen worden meegenomen en dat het beleid voldoet aan organisatorische en wettelijke vereisten. De technische implementatie start met het configureren van een apparaatconfiguratieprofiel in Microsoft Endpoint Manager dat specifiek is ontworpen voor PowerShell-transcriptie. Dit profiel moet worden geconfigureerd met de juiste instellingen voor transcriptie, waarbij organisaties kunnen kiezen uit verschillende configuratie-opties zoals de locatie waar transcriptiebestanden worden opgeslagen, of transcriptie moet worden ingeschakeld voor alle PowerShell-sessies of alleen voor specifieke scenario's, en of transcriptie moet worden gecombineerd met andere logging-mechanismen. Het configureren van het profiel vereist zorgvuldige aandacht voor de specifieke behoeften van de organisatie, waarbij rekening moet worden gehouden met factoren zoals de verwachte volumes, de beschikbare opslagcapaciteit, en de beveiligingsvereisten. Na het configureren van het profiel moet dit worden toegewezen aan alle relevante Windows endpoints binnen de organisatie. Organisaties kunnen kiezen voor verschillende toewijzingsstrategieën, waarbij een gefaseerde implementatie vaak de voorkeur heeft boven een big bang-aanpak. Een gefaseerde implementatie begint typisch met een pilotgroep van endpoints die representatief zijn voor de organisatie, zoals een mix van werkstations en servers met verschillende Windows-versies en gebruikspatronen. Deze pilotgroep wordt gebruikt om de configuratie te valideren, eventuele problemen te identificeren, en de impact op prestaties en gebruikerservaring te beoordelen. Na een succesvolle pilot kan de implementatie worden uitgebreid naar aanvullende groepen endpoints, waarbij elke fase wordt gevolgd door een evaluatieperiode waarin wordt gecontroleerd of transcriptie correct functioneert en of er geen onverwachte problemen optreden. Tijdens de implementatie is het cruciaal om uitgebreide tests uit te voeren om te verifiëren dat transcriptie correct werkt in verschillende scenario's en op verschillende Windows-versies. Deze tests moeten onder meer omvatten interactieve PowerShell-sessies waarbij gebruikers commando's handmatig invoeren, geplande scripts die automatisch worden uitgevoerd via Taakplanner of andere automatiseringstools, en externe PowerShell-verbindingen waarbij beheerders op afstand verbinding maken met endpoints. Elke testscenario moet worden gecontroleerd om te verifiëren dat transcriptiebestanden correct worden gegenereerd, dat alle commando's en uitvoer worden vastgelegd, en dat de transcriptiebestanden de verwachte informatie bevatten. Organisaties moeten ook monitoring inrichten vanaf het begin van de implementatie om te verifiëren dat transcriptie daadwerkelijk actief is op alle endpoints en dat transcriptiebestanden correct worden gegenereerd. Deze monitoring kan worden geïmplementeerd via Microsoft Intune compliance-rapportage, waarbij organisaties regelmatig controleren of endpoints voldoen aan het transcriptiebeleid, en via aanvullende monitoringtools die controleren of transcriptiebestanden daadwerkelijk worden aangemaakt op endpoints. Het is belangrijk om gebruikers en beheerders tijdig te informeren over de implementatie van transcriptie, aangezien dit kan leiden tot vragen over privacy, prestaties, en de impact op dagelijkse werkzaamheden. Communicatie moet duidelijk uitleggen waarom transcriptie wordt geïmplementeerd, wat de voordelen zijn voor beveiliging, en hoe transcriptiebestanden worden gebruikt en beschermd. Organisaties moeten ook procedures ontwikkelen voor het beheren van transcriptiebestanden, inclusief het regelmatig opruimen van oude bestanden om schijfruimte vrij te maken, het archiveren van belangrijke transcripties voor compliance doeleinden, en het beveiligen van transcriptiebestanden tegen ongeautoriseerde toegang of wijziging. Na de implementatie moeten organisaties een uitgebreide validatieperiode inlassen waarin wordt gecontroleerd of transcriptie correct functioneert op alle endpoints, of er geen onverwachte problemen optreden met applicaties of scripts die PowerShell gebruiken, en of de transcriptiebestanden de verwachte kwaliteit en volledigheid hebben. Deze validatieperiode moet minimaal enkele weken duren om voldoende gegevens te verzamelen en eventuele problemen te identificeren die alleen optreden onder specifieke omstandigheden of na verloop van tijd..

Monitoring

Gebruik PowerShell-script turn-on-powershell-transcription-is-set-to-enabled.ps1 (functie Invoke-Monitoring) – Effectieve monitoring van PowerShell-transcriptie vormt een kritieke component van de beveiligingsstrategie en vereist een continue, systematische controle op zowel de status van transcriptie-instellingen als de kwaliteit en volledigheid van gegenereerde transcriptiebestanden. Monitoring is geen eenmalige activiteit maar een doorlopend proces dat moet worden geïntegreerd in de dagelijkse beveiligingsoperaties van de organisatie. Beveiligingsteams moeten regelmatig, bij voorkeur dagelijks of wekelijks, verifiëren dat PowerShell-transcriptie daadwerkelijk is ingeschakeld en actief is op alle endpoints binnen de organisatie. Deze verificatie kan worden uitgevoerd via verschillende methoden, waaronder het gebruik van compliance-rapportage in Microsoft Intune die automatisch de status van transcriptie-instellingen controleert en rapporteert, en door periodieke handmatige controles op een steekproef van endpoints om te verifiëren dat transcriptie daadwerkelijk functioneert zoals verwacht. De compliance-rapportage in Microsoft Intune biedt een centraal overzicht van alle endpoints en hun compliance-status, waardoor beveiligingsteams snel kunnen identificeren welke endpoints niet voldoen aan het transcriptiebeleid. Deze rapportage moet regelmatig worden gecontroleerd, en afwijkingen moeten onmiddellijk worden onderzocht en aangepakt. Naast de automatische rapportage moeten beveiligingsteams ook periodieke controles uitvoeren op endpoints zelf om te verifiëren dat transcriptie-instellingen correct zijn geconfigureerd en dat transcriptiebestanden daadwerkelijk worden gegenereerd. Deze controles kunnen worden geautomatiseerd via scripts die de transcriptie-instellingen controleren en de aanwezigheid van transcriptiebestanden verifiëren, of handmatig worden uitgevoerd door beveiligingsanalisten tijdens reguliere beveiligingsaudits. Het is essentieel om te monitoren of transcriptiebestanden correct worden gegenereerd en of er geen problemen zijn met schijfruimte, bestandstoegang, of andere technische factoren die transcriptie kunnen verstoren. Monitoring moet onder meer controleren of transcriptiebestanden worden aangemaakt op de geconfigureerde locaties, of de bestanden de verwachte inhoud bevatten, en of er geen fouten optreden tijdens het genereren van transcripties. Organisaties moeten alert zijn op endpoints waar transcriptie onverwacht is uitgeschakeld of waar transcriptiebestanden ontbreken, wat kan wijzen op pogingen tot opzettelijke omzeiling door gebruikers of kwaadaardige software, of op technische problemen die moeten worden opgelost. Dergelijke afwijkingen moeten onmiddellijk worden onderzocht om te bepalen of het gaat om een legitieme technische kwestie of om een beveiligingsincident. Daarnaast is het belangrijk om de grootte en groei van transcriptiebestanden te monitoren om te voorkomen dat schijfruimteproblemen optreden, vooral op endpoints met intensief PowerShell-gebruik zoals beheerderswerkstations, ontwikkelservers, of systemen waar geautomatiseerde scripts regelmatig worden uitgevoerd. Monitoring moet trends identificeren in de groei van transcriptiebestanden en waarschuwingen genereren wanneer bestanden onverwacht groot worden of wanneer schijfruimte onder een bepaalde drempel komt. Beveiligingsteams moeten procedures ontwikkelen voor het regelmatig analyseren van transcriptiebestanden op verdachte activiteiten, waarbij gebruik wordt gemaakt van zowel geautomatiseerde tools als handmatige beoordeling door ervaren analisten. Deze analyse moet onder meer zoeken naar indicatoren van kwaadaardige activiteiten zoals het gebruik van geobfuscateerde of gecodeerde commando's die zijn ontworpen om detectie te vermijden, pogingen tot credential harvesting waarbij aanvallers proberen wachtwoorden of andere gevoelige informatie te stelen, of het gebruik van ongebruikelijke PowerShell-functies of modules die normaal gesproken niet worden gebruikt binnen de organisatie. De analyse moet ook aandacht besteden aan patronen die kunnen wijzen op geavanceerde persistent threats, zoals het gebruik van PowerShell voor laterale beweging tussen systemen, het downloaden en uitvoeren van kwaadaardige scripts, of pogingen tot het uitschakelen van beveiligingscontroles. Het is ook belangrijk om te monitoren of transcriptiebestanden worden verwijderd of gewijzigd, wat kan wijzen op pogingen tot het wissen van sporen van kwaadaardige activiteiten door aanvallers die proberen hun aanwezigheid te verbergen. Monitoring moet waarschuwingen genereren wanneer transcriptiebestanden onverwacht worden verwijderd of gewijzigd, en organisaties moeten procedures hebben voor het onderzoeken van dergelijke incidenten. Organisaties moeten gebruikmaken van Security Information and Event Management systemen, ook wel SIEM-systemen genoemd, om transcriptiebestanden centraal te verzamelen en te analyseren. Deze systemen bieden beveiligingsteams een holistisch beeld van PowerShell-activiteiten binnen de organisatie door transcriptiegegevens te correleren met andere beveiligingsgebeurtenissen en door geavanceerde analyses uit te voeren die patronen en anomalieën identificeren die anders onopgemerkt zouden blijven. SIEM-systemen kunnen ook worden geconfigureerd om automatisch waarschuwingen te genereren wanneer verdachte activiteiten worden gedetecteerd in transcriptiebestanden, waardoor beveiligingsteams snel kunnen reageren op potentiële bedreigingen. Ten slotte moeten organisaties regelmatig compliance-rapporten genereren die de status van PowerShell-transcriptie weergeven en trends identificeren in PowerShell-gebruik die kunnen wijzen op beveiligingsrisico's of operationele problemen. Deze rapporten moeten worden gedeeld met relevante stakeholders, waaronder beveiligingsmanagement, IT-beheer, en compliance officers, en moeten worden gebruikt om de effectiviteit van de transcriptie-implementatie te evalueren en waar nodig verbeteringen door te voeren..

Remediatie

Gebruik PowerShell-script turn-on-powershell-transcription-is-set-to-enabled.ps1 (functie Invoke-Remediation) – Wanneer PowerShell-transcriptie niet correct is geconfigureerd of onverwacht is uitgeschakeld op endpoints, moeten organisaties onmiddellijk en doortastend actie ondernemen om de beveiligingscontrole te herstellen en te voorkomen dat de organisatie kwetsbaar blijft voor aanvallen die gebruikmaken van PowerShell. Het remediatieproces is een kritieke beveiligingsactiviteit die snelheid en nauwkeurigheid vereist, en moet worden uitgevoerd volgens een gestructureerd protocol dat ervoor zorgt dat alle aspecten van het probleem worden aangepakt. Het proces begint met een grondige analyse om de exacte oorzaak van het probleem te identificeren, waarbij rekening moet worden gehouden met verschillende mogelijke scenario's. De oorzaak kan variëren van relatief onschuldige technische problemen zoals onjuiste configuratie of software-updates die instellingen hebben gewijzigd, tot meer ernstige situaties zoals opzettelijke omzeiling door gebruikers die proberen beveiligingscontroles te vermijden, of kwaadaardige software die transcriptie uitschakelt om detectie te voorkomen. Het identificeren van de oorzaak is essentieel omdat dit bepaalt welke remediatiestappen moeten worden ondernomen en of er sprake is van een beveiligingsincident dat aanvullende respons vereist. Voor endpoints waar transcriptie onjuist is geconfigureerd als gevolg van technische problemen of configuratiefouten, moeten beheerders het Microsoft Intune-beleid opnieuw toepassen en verifiëren dat de instellingen correct worden doorgevoerd naar de endpoints. Dit kan onder meer omvatten het opnieuw synchroniseren van het beleid, het controleren van de beleidstoewijzing, en het verifiëren dat endpoints daadwerkelijk de bijgewerkte configuratie ontvangen. In sommige gevallen kan het nodig zijn om endpoints opnieuw te starten of handmatig een beleidssynchronisatie te forceren om ervoor te zorgen dat de configuratie correct wordt toegepast. Als transcriptie is uitgeschakeld door lokale wijzigingen op endpoints, moeten organisaties een grondig onderzoek uitvoeren om te bepalen of dit het gevolg is van legitieme operationele behoeften, zoals tijdelijke uitschakeling voor probleemoplossing, of van meer verdachte activiteiten zoals pogingen tot opzettelijke omzeiling. In het geval van legitieme operationele behoeften moeten organisaties procedures ontwikkelen die ervoor zorgen dat transcriptie na het oplossen van het operationele probleem opnieuw wordt ingeschakeld, en moeten zij overwegen om alternatieve methoden te gebruiken voor probleemoplossing die niet vereisen dat transcriptie wordt uitgeschakeld. In het geval van verdachte activiteiten moeten organisaties onmiddellijk actie ondernemen door de configuratie te herstellen, aanvullende beveiligingscontroles te implementeren om toekomstige wijzigingen te voorkomen, en een forensisch onderzoek uit te voeren om te bepalen wie verantwoordelijk was voor het uitschakelen van transcriptie en wat de motivatie was. In gevallen waar transcriptiebestanden ontbreken of corrupt zijn, moeten organisaties onderzoeken of dit het gevolg is van technische problemen zoals schijfruimtegebrek, bestandssysteemfouten, of toestemmingsproblemen, of van opzettelijke verwijdering door gebruikers of kwaadaardige software. Technische problemen moeten worden opgelost door het vrijmaken van schijfruimte, het repareren van bestandssysteemfouten, of het corrigeren van toestemmingsinstellingen, terwijl opzettelijke verwijdering moet worden behandeld als een potentieel beveiligingsincident dat verder onderzoek vereist. Organisaties moeten ook beveiligingsmaatregelen implementeren om het verwijderen van transcriptiebestanden te voorkomen, zoals het configureren van bestandsmachtigingen die alleen beheerders toestaan om transcriptiebestanden te verwijderen, of het gebruik van versleuteling en toegangscontroles die ongeautoriseerde wijzigingen voorkomen. Organisaties moeten uitgebreide procedures ontwikkelen voor het herstellen van transcriptie op endpoints die zijn gecompromitteerd of waar transcriptie is uitgeschakeld door kwaadaardige activiteiten. Deze procedures moeten onder meer omvatten het isoleren van endpoints van het netwerk om te voorkomen dat kwaadaardige activiteiten zich verspreiden, het uitvoeren van een forensisch onderzoek om de omvang van de compromittering te bepalen, het verwijderen van kwaadaardige software en het herstellen van de systeemintegriteit, en het herstellen van beveiligingscontroles inclusief PowerShell-transcriptie. Het isoleren van endpoints is een kritieke eerste stap die moet worden uitgevoerd zodra een compromittering wordt vermoed, om te voorkomen dat aanvallers verdere schade kunnen aanrichten of toegang kunnen krijgen tot andere systemen. Daarnaast moeten organisaties overwegen om automatische remediatie in te richten via Microsoft Intune nalevingsbeleid, waardoor endpoints automatisch worden geconfigureerd wanneer afwijkingen worden gedetecteerd. Deze automatische remediatie kan ervoor zorgen dat transcriptie-instellingen snel worden hersteld zonder handmatige interventie, wat vooral waardevol is in grote omgevingen waar handmatige remediatie tijdrovend en foutgevoelig kan zijn. Automatische remediatie moet echter worden gecombineerd met monitoring en waarschuwingen om ervoor te zorgen dat beveiligingsteams op de hoogte zijn van afwijkingen en kunnen ingrijpen wanneer dat nodig is. Ten slotte moeten organisaties na elke remediatie altijd een uitgebreide post-remediatie validatie uitvoeren om te verifiëren dat transcriptie correct functioneert, dat alle instellingen correct zijn geconfigureerd, en dat er geen resterende problemen zijn die de effectiviteit van de beveiligingscontrole kunnen beïnvloeden. Deze validatie moet onder meer omvatten het testen van transcriptie in verschillende scenario's, het controleren van de kwaliteit en volledigheid van gegenereerde transcriptiebestanden, en het monitoren van endpoints gedurende een periode na remediatie om ervoor te zorgen dat problemen niet opnieuw optreden..

Compliance en Audit

PowerShell-transcriptie speelt een cruciale en onmisbare rol in het voldoen aan verschillende compliance- en auditvereisten die van toepassing zijn op Nederlandse overheidsorganisaties en andere organisaties die werken met gevoelige informatie. De implementatie van PowerShell-transcriptie is niet alleen een technische beveiligingsmaatregel, maar vormt ook een fundamenteel onderdeel van de compliance-strategie die organisaties in staat stelt om te voldoen aan wettelijke en regelgevende vereisten op het gebied van informatiebeveiliging en gegevensbescherming. De BIO Baseline Informatiebeveiliging Overheid, die de standaard vormt voor informatiebeveiliging binnen de Nederlandse overheid, vereist in controle 16.01 dat organisaties gebeurtenissen loggen en audittrails bijhouden voor alle kritieke systemen en processen. Deze vereiste is gebaseerd op het principe dat organisaties volledige zichtbaarheid moeten hebben op activiteiten die plaatsvinden binnen hun IT-omgeving, zodat zij beveiligingsincidenten kunnen detecteren, onderzoeken en reageren op bedreigingen. PowerShell-transcriptie voorziet in deze vereiste door een volledig en gedetailleerd overzicht te bieden van alle PowerShell-activiteiten die plaatsvinden op Windows endpoints, inclusief interactieve sessies, geautomatiseerde scripts, en externe verbindingen. Deze transcripties vormen essentiële audittrails die organisaties in staat stellen om te reconstrueren wat er heeft plaatsgevonden tijdens beveiligingsincidenten, om forensische onderzoeken uit te voeren wanneer dat nodig is, en om compliance te demonstreren tijdens audits. De transcripties bieden niet alleen een overzicht van welke commando's zijn uitgevoerd, maar bevatten ook informatie over wanneer activiteiten plaatsvonden, welke gebruikers of processen verantwoordelijk waren, en wat de resultaten waren van uitgevoerde commando's. Deze rijkdom aan informatie maakt PowerShell-transcriptie tot een onmisbaar hulpmiddel voor organisaties die moeten voldoen aan BIO-vereisten. ISO 27001:2022, de internationale standaard voor informatiebeveiligingsmanagement, vereist in controle A.12.4.1 dat organisaties logging en monitoring implementeren voor het detecteren van beveiligingsgebeurtenissen. Deze controle is onderdeel van het bredere beveiligingsdomein dat zich richt op operationele beveiliging, en benadrukt het belang van continue monitoring en logging om beveiligingsincidenten tijdig te kunnen detecteren en te reageren. PowerShell-transcriptie vormt een belangrijk en complementair onderdeel van deze logging-capaciteiten, omdat het specifiek gericht is op het vastleggen van activiteiten die plaatsvinden via PowerShell, wat een veelgebruikt hulpmiddel is voor zowel legitieme beheerdersactiviteiten als kwaadaardige activiteiten door aanvallers. Door PowerShell-transcriptie te combineren met andere logging-mechanismen zoals Windows Event Logs en SIEM-systemen, kunnen organisaties een holistisch beeld krijgen van beveiligingsgebeurtenissen binnen hun omgeving, wat essentieel is voor het voldoen aan ISO 27001-vereisten. Daarnaast vereist de CIS Security Benchmark, een veelgebruikte beveiligingsstandaard die specifieke configuratie-aanbevelingen bevat voor verschillende platforms, in controle 18.9.19.2 specifiek dat PowerShell-transcriptie is ingeschakeld om alle PowerShell-activiteiten vast te leggen voor beveiligingsmonitoring en incidentrespons. Deze controle is onderdeel van de Windows-beveiligingsbaseline en is gebaseerd op best practices die zijn ontwikkeld door beveiligingsexperts en die zijn gevalideerd door duizenden organisaties wereldwijd. Het voldoen aan CIS-aanbevelingen wordt vaak gezien als een teken van volwassen beveiligingspraktijken en kan helpen bij het verkrijgen van cyberverzekering of het aantonen van due diligence bij beveiligingsincidenten. Voor Nederlandse overheidsorganisaties is het ook belangrijk om te voldoen aan de Algemene Verordening Gegevensbescherming, ook wel bekend als de AVG, die specifieke vereisten stelt aan de bescherming van persoonsgegevens. PowerShell-transcriptie kan helpen bij het aantonen van compliance met technische en organisatorische maatregelen voor gegevensbescherming zoals vereist in artikel 32 van de AVG, door te demonstreren dat organisaties passende technische maatregelen hebben geïmplementeerd om persoonsgegevens te beschermen tegen ongeautoriseerde toegang, wijziging, of verlies. Transcripties kunnen ook worden gebruikt om te verifiëren dat alleen geautoriseerde personen toegang hebben gehad tot systemen die persoonsgegevens bevatten, wat belangrijk is voor het voldoen aan accountability-vereisten van de AVG. Tijdens compliance-audits en beveiligingsbeoordelingen moeten organisaties kunnen aantonen dat PowerShell-transcriptie is geconfigureerd en actief is op alle relevante endpoints binnen de organisatie. Dit vereist dat organisaties beschikken over up-to-date documentatie die de configuratie van transcriptie beschrijft, over rapportages die de compliance-status van endpoints weergeven, en over procedures die beschrijven hoe transcriptie wordt beheerd en gemonitord. Organisaties moeten ook kunnen aantonen dat transcriptiebestanden worden bewaard volgens het gedefinieerde bewaarbeleid, wat betekent dat zij moeten beschikken over processen voor het beheren van transcriptiebestanden, inclusief retentieperiodes, archiveringsprocedures, en verwijderingsprocessen. Het bewaarbeleid moet zijn afgestemd op compliance-vereisten en moet rekening houden met factoren zoals de aard van de opgeslagen informatie, wettelijke bewaarplichten, en operationele behoeften. Organisaties moeten ook uitgebreide procedures documenteren voor het analyseren van transcriptiebestanden tijdens incidentrespons en forensische onderzoeken. Deze procedures moeten beschrijven wie verantwoordelijk is voor het analyseren van transcripties, welke tools en technieken worden gebruikt, hoe bevindingen worden gedocumenteerd en geëscaleerd, en hoe transcripties worden gebruikt als bewijs tijdens incidentrespons. Tijdens audits moeten organisaties kunnen aantonen dat beveiligingsteams regelmatig transcriptiebestanden controleren op verdachte activiteiten, wat betekent dat zij moeten beschikken over logboeken of andere documentatie die aantonen wanneer controles hebben plaatsgevonden, wat de resultaten waren, en welke acties zijn ondernomen op basis van bevindingen. Het is essentieel dat organisaties een duidelijk en uitgebreid beleid ontwikkelen dat alle aspecten van PowerShell-transcriptie dekt, inclusief hoe lang transcriptiebestanden worden bewaard, wie toegang heeft tot deze bestanden en onder welke omstandigheden, en onder welke voorwaarden transcriptiebestanden mogen worden verwijderd of gearchiveerd. Dit beleid moet zijn gebaseerd op compliance-vereisten, operationele behoeften, en beveiligingsoverwegingen, en moet regelmatig worden geëvalueerd en bijgewerkt om ervoor te zorgen dat het actueel blijft. Het beleid moet ook procedures bevatten voor het beheren van toegang tot transcriptiebestanden, waarbij rekening wordt gehouden met het principe van minimale toegang en de noodzaak om gevoelige informatie te beschermen. Daarnaast moeten organisaties kunnen aantonen dat transcriptiebestanden worden beschermd tegen ongeautoriseerde toegang en wijziging, wat betekent dat zij moeten beschikken over beveiligingsmaatregelen zoals versleuteling, toegangscontroles, en integriteitscontroles. Deze maatregelen moeten worden gedocumenteerd en moeten regelmatig worden getest om ervoor te zorgen dat zij effectief zijn. Organisaties moeten ook kunnen aantonen dat er passende maatregelen zijn genomen om de integriteit van transcriptiebestanden te waarborgen, zoals het gebruik van digitale handtekeningen of hash-waarden die kunnen worden gebruikt om te verifiëren dat bestanden niet zijn gewijzigd. Tijdens compliance-audits moeten organisaties kunnen demonstreren dat PowerShell-transcriptie daadwerkelijk wordt gebruikt voor beveiligingsmonitoring en incidentrespons, en niet alleen is geconfigureerd maar niet actief wordt benut. Dit vereist dat organisaties beschikken over concrete voorbeelden van situaties waarin transcriptiebestanden hebben bijgedragen aan het detecteren of onderzoeken van beveiligingsincidenten, en over documentatie die aantoont hoe transcripties worden gebruikt in de dagelijkse beveiligingsoperaties. Deze demonstratie van praktisch gebruik is belangrijk omdat auditors niet alleen willen zien dat technische controles zijn geïmplementeerd, maar ook dat deze controles daadwerkelijk waarde toevoegen aan de beveiligingspostuur van de organisatie.

Compliance & Frameworks

Automation

Gebruik het onderstaande PowerShell script om deze security control te monitoren en te implementeren. Het script bevat functies voor zowel monitoring (-Monitoring) als remediation (-Remediation).

PowerShell
<# .SYNOPSIS Intune Audit Logging: Turn On PowerShell Transcription .DESCRIPTION CIS - PowerShell transcription enabled. .NOTES Filename: turn-on-ps-transcript.ps1|Author: Nederlandse Baseline voor Veilige Cloud|Registry: EnableTranscripting|Expected: 1 #> #Requires -Version 5.1 #Requires -RunAsAdministrator [CmdletBinding()]param([switch]$WhatIf, [switch]$Monitoring, [switch]$Remediation, [switch]$Revert) $ErrorActionPreference = 'Stop'; $RegPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\Transcription"; $RegName = "EnableTranscripting"; $ExpectedValue = 1 function Connect-RequiredServices { $p = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent()); return $p.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) } function Test-Compliance { $r = [PSCustomObject]@{ScriptName = "turn-on-transcript.ps1"; PolicyName = "PS Transcription"; IsCompliant = $false; CurrentValue = $null; ExpectedValue = "Enabled"; Details = @() }; function Invoke-Revert { Remove-ItemProperty -Path $RegPath -Name $RegName -ErrorAction SilentlyContinue } try { if (Test-Path $RegPath) { $v = Get-ItemProperty -Path $RegPath -Name $RegName -ErrorAction SilentlyContinue; if ($v -and $v.$RegName -eq $ExpectedValue) { $r.IsCompliant = $true; $r.Details += "Enabled" }else { $r.Details += "Disabled" } }else { $r.Details += "Niet geconfigureerd" } }catch { $r.Details += "Error: $($_.Exception.Message)" }; return $r } function Invoke-Remediation { if (-not(Test-Path $RegPath)) { New-Item -Path $RegPath -Force | Out-Null }; Set-ItemProperty -Path $RegPath -Name $RegName -Value $ExpectedValue -Type DWord -Force; Write-Host "PS transcription enabled" -ForegroundColor Green } function Invoke-Monitoring { $r = Test-Compliance; Write-Host "`n$($r.PolicyName): $(if($r.IsCompliant){'COMPLIANT'}else{'NON-COMPLIANT'})" -ForegroundColor $(if ($r.IsCompliant) { 'Green' }else { 'Red' }); return $r } function Invoke-Revert { Remove-ItemProperty -Path $RegPath -Name $RegName -ErrorAction SilentlyContinue } try { if (-not(Connect-RequiredServices)) { exit 1 }; if ($Monitoring) { $r = Invoke-Monitoring; exit $(if ($r.IsCompliant) { 0 }else { 1 }) }elseif ($Remediation) { if (-not $WhatIf) { Invoke-Remediation } }elseif ($Revert) { Invoke-Revert }else { $r = Test-Compliance; exit $(if ($r.IsCompliant) { 0 }else { 1 }) } }catch { Write-Error $_; exit 1 }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder PowerShell-transcriptie kunnen aanvallers PowerShell gebruiken voor kwaadaardige activiteiten zonder dat er sporen achterblijven, wat de detectie en respons op beveiligingsincidenten aanzienlijk bemoeilijkt.

Management Samenvatting

Schakel PowerShell-transcriptie in voor volledige auditlogging van alle PowerShell-activiteiten op Windows endpoints.