/
/

Endpoint hardening scripten voor MSP’s: CIS Benchmarks via PowerShell

door Team Ninja
Scripting Endpoint Hardening for MSPs- CIS Benchmarks via PowerShell blog banner image

Directe samenvatting

Deze blogpost van NinjaOne biedt een uitgebreide basislijst met CMD-commands en een deep dive duik in Windows-commands met meer dan 70 essentiële cmd-commands voor zowel beginners als gevorderden. Het legt praktische opdrachtpromptcommando’s uit voor file management, directory navigation, network troubleshooting, disk operations en automatisering met echte voorbeelden om de productiviteit te verbeteren. Of u nu fundamentele cmd-commands leert of geavanceerde Windows CLI-tools onder de knie krijgt, deze gids helpt u de Command Prompt effectiever te gebruiken.

Cybersecuritydreigingen blijven zich ontwikkelen. Daarom moeten managed service providers (MSP’s) en IT-beheerders hun endpoints goed beveiligen om hun klanten en activiteiten te beschermen. Het Center for Internet Security (CIS) ontwikkelde hiervoor de CIS Benchmarks, die de norm stellen voor sterkere cybersecurity. Het toepassen van die configuratieaanbevelingen kost echter veel tijd en is foutgevoelig.

Om endpoint hardening een stuk eenvoudiger te maken, kunt u het beste een geautomatiseerde aanpak kiezen. Lees verder en ontdek hoe u PowerShell-scripts combineert met aanvullende registerwijzigingen, CMD-scripts en Group Policy-implementaties om devices in uw hele omgeving te beveiligen.

Wilt u meer weten? Bekijk onze visuele gids: Endpoint hardening scripten voor MSP’s: CIS Benchmarks via PowerShell.

Zo automatiseert u CIS Benchmarks om MSP-endpoints te harden

In Windows-omgevingen moeten MSP’s en IT-professionals honderden configuratie-instellingen afdwingen om te voldoen aan de branchenormen van de CIS Benchmarks. Elke instelling handmatig toepassen is dan ook af te raden. Hieronder ziet u enkele voorbeelden van hoe u PowerShell inzet om deze CIS-conforme configuraties te automatiseren, inclusief alternatieven voor andere behoeften en omgevingen.

📌 Vereisten:

  • Windows 10 of 11 in de Pro- of Enterprise-editie
  • Beheerdersrechten
  • Kennis van de CIS Benchmarks (niveau 1 of 2)
  • Optioneel: toegang tot Active Directory, Intune of NinjaOne

💡Tip: bekijk Waar u op moet letten voordat u verdergaat.

📌 Aanbevolen implementatiestrategieën:

Klik om een methode te kiezen

💻
Het best voor individuele gebruikers
💻💻💻
Het best voor grote organisaties
Methode 1: CIS Benchmark-instellingen toepassen met PowerShell ✓ ✓
Methode 2: configuraties afdwingen met de Register-editor ✓
Methode 3: systeemaanpassingen en validatie via CMD ✓
Methode 4: centraal afdwingen met Group Policy (GPO) ✓

Methode 1: CIS Benchmark-instellingen toepassen met PowerShell

PowerShell kan lokale beveiligingsbeleidsregels, services, auditinstellingen en systeemconfiguraties rechtstreeks via script automatiseren. Zo dwingt u eenvoudig honderden CIS-controls af en maakt u herbruikbare modules voor grootschalige uitrol. Hieronder staan enkele CIS Benchmark-scripts voor PowerShell die u kunt bundelen in modules of combineren met DSC (Desired State Configuration) voor herhaalbare implementatie.

📌 Use cases:

  • Hardening automatiseren bij de onboarding van nieuwe devices
  • Beveiligingsmaatregelen snel uitrollen naar endpoints in omgevingen zonder domein

📌 Vereisten:

Voorbeeldscripts:

  1. Het verouderde SMBv1-protocol uitschakelen (misbruik van oude SMB-kwetsbaarheden voorkomen)

Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -NoRestart

  1. Het gastaccount uitschakelen (risico op ongeoorloofde toegang verkleinen)

Set-LocalUser -Name "Guest" -Enabled $false

  1. Wachtwoordcomplexiteit afdwingen (lokaal beveiligingsbeleid aanpassen en opnieuw toepassen)

secedit /export /cfg c:\secpol.cfg (gc c:\secpol.cfg).replace
("PasswordComplexity = 0","PasswordComplexity = 1") | Set-Content c:\secpol.cfg
secedit /configure /db c:\windows\security\local.sdb /cfg c:\secpol.cfg /areas SECURITYPOLICY

  1. Auditlogging inschakelen (zowel geslaagde als mislukte aanmeldpogingen vastleggen)

auditpol /set /subcategory:"Logon" /success:enable /failure:enable

Methode 2: configuraties afdwingen met de Register-editor

Voor nauwkeurigere hardening kunt u het Windows-register rechtstreeks bewerken. Veel CIS-controls verwijzen direct naar specifieke registersleutels, dus registerwijzigingen automatiseren is net zo goed een optie. Hieronder staan registerwijzigingen die u kunt toepassen via .reg-bestanden of PowerShell (Set-ItemProperty) of uitrollen via NinjaOne of GPO.

📌 Use cases:

  • Instellingen toepassen die niet beschikbaar zijn in Group Policy
  • Hardening via GPO aanvullen met lokale afdwinging

📌 Vereiste: beheerderstoegang tot de betreffende endpoints

Voorbeelden van registerwijzigingen:

  1. Windows AutoRun uitschakelen (uitvoering van malware via USB tegengaan)

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\
CurrentVersion\Policies\Explorer] "NoDriveTypeAutoRun"=dword:000000ff

  1. Anonieme SID-enumeratie beperken (het aftasten van gebruikersaccounts voorkomen)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Control\Lsa] "RestrictAnonymousSAM"=dword:00000001

Methode 3: systeemaanpassingen en validatie via CMD

CMD-scripting is ideaal voor verouderde systemen en snelle systeemwijzigingen. Het is ook handig om configuraties te valideren in oudere omgevingen waar PowerShell of moderne tools ontbreken. Hieronder staan enkele CMD-scripts die u kunt koppelen aan taskkill, net stop of sc config om services verder te harden.

📌 Use cases:

  • Offline systemen harden
  • Snelle herstelacties uitvoeren tijdens supportgesprekken of remote sessies

📌 Vereiste:

  • Toegang tot CMD
  • Beheerdersrechten

Voorbeeldcommando’s:

  1. Externe hulp uitschakelen (het aanvalsoppervlak van remote support verkleinen)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Remote Assistance" /v fAllowToGetHelp /t REG_DWORD /d 0 /f

  1. NetBIOS over TCP/IP uitschakelen (risico op laterale verplaatsing beperken)

wmic nicconfig where "IPEnabled=true" call SetTcpipNetbios 2

  1. De huidige beveiligingsconfiguratie exporteren ter controle of als back-up

secedit /export /cfg C:\cfg.txt

Methode 4: centraal afdwingen met Group Policy (GPO)

MSP’s kunnen GPO ook gebruiken om de configuratie van honderden CIS-instellingen centraal te regelen op systemen die lid zijn van een domein. Het is de best schaalbare aanpak in Active Directory-omgevingen.

📌 Use cases:

  • Een veilige baseline handhaven in klantnetwerken
  • CIS-controls van niveau 2 met hoge beveiligingseisen afdwingen
  • Hybride omgevingen beheren naast Intune/NinjaOne

📌 Vereisten:

Stappen:

  1. Open Groepsbeleidsbeheer (GPMC) op een domein controller of beheersysteem. Druk op Win + R, typ “gpmc.msc” en druk op Enter.
  2. Maak of bewerk een GPO die op uw beveiligingsbaseline is gericht.
  3. Configureer het beleid onder: Computerconfiguratie > Windows-instellingen > Beveiligingsinstellingen
  4. Enkele CIS-relevante beleidsregels om te configureren:
    • Wachtwoordbeleid (onder Accountbeleid): complexiteit, verlooptermijn en geschiedenis afdwingen
    • Toewijzing van gebruikersrechten (onder Lokaal beleid): “Lokaal aanmelden” beperken en toegang weigeren
    • Beveiligingsopties: LM-antwoorden en anonieme toegang uitschakelen
    • Auditbeleid: geavanceerde logging inschakelen
    • Windows Defender- & firewallinstellingen: bescherming standaardiseren
  5. Voer gpupdate /force uit in een opdrachtprompt met verhoogde rechten op de clientmachines om het beleid toe te passen.
  6. Optioneel: gebruik de Microsoft Security Compliance Toolkit of CIS GPO-importbestanden om de configuratie een vliegende start te geven.

⚠️ Waar u op moet letten

Risico’s Mogelijke gevolgen Herstelacties
Onbedoelde effecten van scripts door typefouten of denkfouten
  • Beschadigd register
  • Verwijderde services
  • Onjuiste rechten die op grote schaal worden toegepast
  • Bewaar back-ups van de oorspronkelijke configuraties en geëxporteerde .reg-bestanden.
  • Maak altijd een herstelpunt met het hulpprogramma Systeemherstel.
Te ver doorgevoerde hardening via GPO of PowerShell (bijvoorbeeld noodzakelijke services uitschakelen) Bedrijfskritische applicaties of tools voor remote access werken niet meer
  • Test eerst in een aparte staging-OU voordat u naar productie gaat.
  • Schakel services opnieuw in via een herstelscript of lokale beheerderstoegang.
Legitieme gebruikers buitensluiten door te streng aanmeldbeleid Gebruikersaccounts en beheerders kunnen worden buitengesloten door mislukte aanmeldpogingen of te strenge wachtwoordregels
  • Start op in Veilige modus om het beleid te resetten.
  • Gebruik herstelaccounts met aparte beleidsuitzonderingen.

Wat is een CIS Benchmark?

CIS Benchmarks zijn een verzameling voorschrijvende beste praktijken voor het beveiligen van IT-systemen en gegevens. Ze bieden richtlijnen om kwetsbaarheden te beperken en systeemconfiguraties te harden. Daarnaast zijn deze normen:

  • Ontwikkeld door experts, van cybersecurityprofessionals tot leveranciers en vakspecialisten
  • Toepasbaar op uiteenlopende systemen, waaronder Windows, Linux, macOS, netwerkapparatuur, browsers en cloudplatforms
  • Opgesteld als gedetailleerde configuratie-instellingen met aanbevolen waarden, onderbouwing en herstelstappen
  • Doorgaans gericht op:
    1. Gebruikersrechten en auditbeleid
    2. Accountvergrendeling en wachtwoordbeleid
    3. SMB, RDP en controles op remote access
    4. Het uitschakelen van services en functies
    5. Hardening van Windows Defender en de firewall
  • Verdeeld in twee niveaus:
    1. Niveau 1: basisbeveiliging voor systemen met algemene doeleinden, met zo min mogelijk impact op de gebruiker.
    2. Niveau 2: geavanceerde hardening voor omgevingen met hoge beveiligingseisen, wat ten koste kan gaan van bruikbaarheid of functionaliteit
  • Afgestemd op normen als HIPAA, NIST, PCI-DSS en ISO 27001
  • Regelmatig herzien om aan te sluiten op actuele dreigingen, kwetsbaarheden en platformupdates
  • Openbaar beschikbaar op www.cisecurity.org/cis-benchmarks

Deze aanbevelingen overnemen helpt om beveiligingsbaselines vast te leggen, risico’s te beperken en due diligence aan te tonen aan alle betrokken partijen.

Waar MSP’s verder op moeten letten bij de implementatie van CIS Benchmarks

Het automatiseren van CIS Benchmarks gaat verder dan alleen scripts uitvoeren of GPO’s toepassen. Willen MSP’s en IT-teams eindpuntbeveiliging met succes harden, dan moeten ze rekening houden met een aantal factoren rond de omgeving, compliance en de dagelijkse werking om problemen te voorkomen.

  • Testen vóór de uitrol: CIS Benchmarks kunnen het gedrag van systemen ingrijpend veranderen. Ongeteste scripts schakelen mogelijk noodzakelijke services uit of beperken legitieme gebruikersactiviteit. Test ze daarom altijd in een niet-productieomgeving.
  • Keuze van het benchmarkniveau: niveau 1 richt zich op essentiële hardening zonder de bruikbaarheid aan te tasten en past daarmee bij de meeste zakelijke omgevingen. Niveau 2 is juist bedoeld voor systemen met hoge beveiligingseisen. De strengere afdwinging kan de UX of de werking van applicaties beïnvloeden.
  • Baseline-sjablonen: Microsoft biedt security-baseline-GPO’s die overlappen met de CIS Benchmarks. Hoewel ze nuttig kunnen zijn, zijn deze sjablonen geen volwaardig alternatief. Kies altijd voor CIS als primaire norm wanneer strikte compliance vereist is.
  • Audittrail: door alle wijzigingen te loggen blijft alles traceerbaar en aantoonbaar conform wanneer auditors of beveiligingsteams bewijs vragen van uitgevoerde scripts en gewijzigde registervermeldingen.

Quick-start guide

NinjaOne biedt krachtige scriptmogelijkheden voor endpoint hardening, met name via PowerShell. Het platform heeft verschillende functies die hardening volgens de CIS Benchmarks ondersteunen:

1. Uitgebreide scriptbibliotheek: NinjaOne beschikt over een complete Automation Library met talloze scripts voor beveiliging en systeemhardening, waaronder:

2. Ondersteuning voor PowerShell-scripting: het platform ondersteunt PowerShell-scripting standaard, zodat MSP’s eigen scripts kunnen maken voor de implementatie van de CIS Benchmarks.

3. Vulnerability management: NinjaOne bevat een Vulnerability Importer-script waarmee u beveiligingsgegevens kunt importeren en beheren.

4. Eigen scripts: u kunt eigen PowerShell-scripts maken en op meerdere endpoints uitrollen om specifieke CIS Benchmark-aanbevelingen door te voeren.

Problemen oplossen

PowerShell-scripts mislukken

Het uitvoeringsbeleid is mogelijk te streng of scripts worden geblokkeerd door systeem- of antivirusinstellingen. Controleer uw huidige uitvoeringsbeleid met dit commando:

Get-ExecutionPolicy -List

Stel het zo nodig in op RemoteSigned met dit commando:

Set-ExecutionPolicy RemoteSigned -Scope LocalMachine

Lokale scripts zijn dan toegestaan, terwijl scripts van buitenaf een handtekening nodig hebben. Controleer ook of antivirus- of endpointbeschermingsoplossingen zoals Defender of CrowdStrike de uitvoering van scripts blokkeren.

GPO-instellingen worden niet toegepast

Dit kan gebeuren als het endpoint niet in de juiste Organizational Unit (OU) zit of wanneer WMI- of beveiligingsfilters de toepassing van het beleid tegenhouden. Controleer in Active Directory-gebruikers en -computers of de instelling van toepassing is op de OU waarin het device staat. Valideer ook de WMI-filters op de GPO om te bevestigen dat het systeem in aanmerking komt.

Conflicterende instellingen

Group Policy kan bij de volgende vernieuwingscyclus lokale instellingen overschrijven die via PowerShell of het register zijn afgedwongen. Leg daarom uw configuratiehiërarchie vast. Gebruik PowerShell of het register voor de eerste uitrol en stap daarna over op GPO voor permanente afdwinging.

Fouten in het beveiligingslogboek

Te uitgebreide auditinstellingen kunnen de logboeken overspoelen. U kunt de logging verfijnen en richten op kritieke categorieën, zoals aanmeldgebeurtenissen, gebruik van bevoegdheden, systeemintegriteit en accountbeheer. Ook het instellen van bewaartermijnen en groottelimieten kan helpen.

NinjaOne-diensten die de handhaving van CIS Benchmarks versterken

NinjaOne maakt de implementatie van CIS Benchmarks schaalbaarder en effectiever door MSP’s krachtige mogelijkheden te bieden voor automatisering, monitoring en rapportage.

NinjaOne-dienst Hoe het helpt Ideale use case
Scriptuitrol PowerShell- of CMD-scripts op afstand uitvoeren op meerdere devices voor geautomatiseerde hardening De eerste uitrol van CIS-controls, zoals SMBv1 uitschakelen of auditbeleid instellen
Beleidssjablonen Herbruikbare configuratiesjablonen uitrollen met registerwijzigingen en service-instellingen Beveiligingsbaselines standaardiseren bij meerdere klanten of devicetypen
Auditrapportage Compliance- en configuratierapporten genereren die laten zien welke devices in lijn zijn Naleving van CIS aantonen tijdens audits of klantevaluaties
Automatiseringsengine Scripts en beleid automatisch laten draaien tijdens de onboarding of periodiek CIS-controls zonder handwerk toepassen op nieuwe of opnieuw geïnstalleerde endpoints
Waarschuwingen Een melding krijgen wanneer CIS-gerelateerde instellingen ontbreken, verkeerd staan of zijn gewijzigd Monitoring op configuratiedrift of ongeoorloofde wijzigingen

Hardening vereenvoudigen met slimme automatisering

De CIS Benchmarks handmatig implementeren is voor MSP’s en IT-professionals een langdurig proces. Automatisering met PowerShell-scripts, registerwijzigingen, opdrachtregeltools en Group Policy zorgt daarom voor consistente afdwinging. Dat verbetert de eindpuntbeveiliging en verkleint tegelijk het risico op verkeerde configuraties.

Gerelateerde onderwerpen:

Dit vindt u misschien ook leuk

Klaar om de moeilijkste delen van IT te vereenvoudigen?

NinjaOne Algemene Voorwaarden

Door op de knop “Ik accepteer” hieronder te klikken, geeft u aan dat u de volgende wettelijke voorwaarden en onze Gebruiksvoorwaarden accepteert:

  • Eigendomsrechten: NinjaOne bezit en blijft eigenaar van alle rechten, aanspraken en belangen in en op het script (inclusief het auteursrecht). NinjaOne geeft u een beperkte licentie om het script te gebruiken in overeenstemming met deze wettelijke voorwaarden.
  • Gebruiksbeperking: U mag het script alleen gebruiken voor uw legitieme persoonlijke of interne bedrijfsdoeleinden en u mag het script niet delen met derden.
  • Republicatieverbod: Het is onder geen beding toegestaan om het script opnieuw te publiceren in een scriptbibliotheek die toebehoort aan of onder controle staat van een andere softwareleverancier.
  • Garantie disclaimer: Het script wordt geleverd “zoals het is” en “zoals het beschikbaar is”, zonder enige vorm van garantie. NinjaOne belooft of garandeert niet dat het script vrij van gebreken zal zijn of dat het aan uw specifieke behoeften of verwachtingen zal voldoen.
  • Risicoaanvaarding: Het gebruik van het script is op eigen risico. U erkent dat het gebruik van het script bepaalde inherente risico’s met zich meebrengt en u begrijpt en aanvaardt elk van deze risico’s.
  • Verklaring van afstand en vrijwaring: U zult NinjaOne niet verantwoordelijk houden voor enige nadelige of onbedoelde gevolgen die voortvloeien uit uw gebruik van het script en u doet afstand van alle wettelijke of billijke rechten of rechtsmiddelen die u tegen NinjaOne kunt hebben met betrekking tot uw gebruik van het script.
  • EULA: Als u een NinjaOne-klant bent, is uw gebruik van het script onderworpen aan de licentieovereenkomst voor eindgebruikers die op u van toepassing is (EULA).