Security+ Academy · Les

OS-hardening: patching, basisconfiguratie en CIS-benchmarks

Pas technieken voor OS-hardening toe — schakel onnodige services uit, dwing basisconfiguraties af en gebruik CIS-benchmarks — om het aanvalsoppervlak te verkleinen.

Les 2 van 413 stappen

OS-hardening: patching, basisconfiguratie en CIS-benchmarks is een gratis Security+ Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Security+ Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Security+ Academy bevat in totaal 4 lessen.

Wat is OS-hardening?

OS-hardening is het proces waarbij het aanvalsoppervlak van een besturingssysteem wordt verkleind door overbodige functies te verwijderen, beveiligingsconfiguraties toe te passen en het systeem bijgewerkt te houden. Een pas geïnstalleerd besturingssysteem is niet standaard veilig — gebruiksgemak krijgt voorrang, waardoor services en functies worden ingeschakeld die veel gebruikers misschien willen, maar die de meeste bedrijfsservers niet nodig hebben. Elke ingeschakelde service, open poort en standaardreferentie kan een toegangspunt voor aanvallers vormen. Met hardening worden deze toegangspunten systematisch gesloten voordat een systeem in productie wordt genomen.

Patchbeheer

Patchbeheer is het proces van het identificeren, testen en toepassen van software-updates die beveiligingskwetsbaarheden verhelpen. Een systeem zonder patches is een van de eenvoudigst uit te buiten doelen — bij veel grote datalekken (Equifax 2017, WannaCry 2017) werden bekende, al gepatchte kwetsbaarheden misbruikt die organisaties eenvoudigweg niet hadden toegepast. Een volwassen proces voor patchbeheer omvat: patchidentificatie (abonneren op adviezen van leveranciers en CVE-feeds), classificatie van de ernst (Emergency/Critical/High/Medium), testtermijnen (kritieke patches binnen 48–72 uur volgens veel raamwerken) en verificatie van de implementatie.

# Patch criticality SLA example
CVSS Score     SLA           Notes
----------     ----------    ----------------------
9.0 - 10.0     48 hours      Emergency patch cycle
7.0 - 8.9      7 days        Critical patch cycle
4.0 - 6.9      30 days       Standard patch cycle
0.1 - 3.9      90 days       Routine patch cycle

# Verify patch application:
# Windows: Get-HotFix | Where-Object {$_.HotFixID -eq 'KB5023706'}
# Linux:   dpkg -l | grep package_name

Overbodige services uitschakelen

Elke actieve service kan een aanvalsvector vormen. OS-hardening begint met een service-audit: maak een lijst van alle actieve services, bepaal hun doel en schakel alle services uit die niet nodig zijn voor de rol van het systeem. Op Windows Server worden rollen zoals Print Spooler, Remote Registry en LLMNR vaak uitgeschakeld op servers die ze niet nodig hebben. Op Linux zijn services zoals rpcbind, cups (afdrukken) en avahi (mDNS) typische kandidaten. Het uitgangspunt is: als je het niet nodig hebt, schakel je het uit.

# Windows: disable unnecessary service
SC config 'Spooler' start= disabled
SC stop 'Spooler'

# Linux: disable unused services
systemctl disable cups
systemctl stop cups
systemctl disable avahi-daemon
systemctl stop avahi-daemon

# Verify no unnecessary ports are listening:
ss -tulnp  # Linux
netstat -an | findstr LISTENING  # Windows

Overbodige software verwijderen

Geïnstalleerde software die niet wordt gebruikt, vormt een onnodig risico. Elk pakket introduceert mogelijke kwetsbaarheden — zelfs goed onderhouden software heeft CVE's. OS-hardening omvat: het verwijderen van taalruntimes die toepassingen niet nodig hebben (Python, Perl, Ruby op webservers), het verwijderen van ontwikkeltools (compilers, debuggers op productiesystemen) en het verwijderen van standaardtoepassingspakketten die met OS-images worden meegeleverd (FTP-servers, telnet-clients, SNMP-agents). Om dezelfde reden moeten containerimages minimale basisimages gebruiken (Alpine, scratch, distroless).

# Remove unused packages (Debian/Ubuntu)
apt purge telnet ftp netcat python2 perl
apt autoremove

# Remove unused packages (RHEL/CentOS)
yum remove telnet ftp nmap-ncat

# Check what is installed:
dpkg -l | grep -i 'telnet\|ftp\|netcat'

Standaardaccounts beveiligen

Standaardaccounts met bekende gebruikersnamen en wachtwoorden behoren tot de eerste dingen die aanvallers proberen. Verhardingsmaatregelen: schakel het ingebouwde Administrator-account uit (Windows) en geef het een andere naam als uitschakelen niet mogelijk is; geef het root-account een andere naam of beperk SSH-aanmelding als root (Linux); wijzig alle standaardwachtwoorden op apparaten, databases en toepassingen voordat ze in productie worden genomen; verwijder gastaccounts; en schakel serviceaccounts uit waarvoor geen interactieve aanmelding nodig is. Een scantool zoals Nessus markeert standaardaanmeldgegevens als kritieke bevindingen.

# Linux: disable root SSH login
# Edit /etc/ssh/sshd_config:
PermitRootLogin no
PasswordAuthentication no
AllowUsers admin_user service_user

# Restart SSH:
systemctl restart sshd

# Windows: disable built-in Administrator
net user Administrator /active:no

# Rename (via Group Policy):
# Computer Config > Windows Settings > Security Settings
# > Local Policies > Security Options
# > 'Accounts: Rename administrator account'

Bestandssysteemmachtigingen en minimale bevoegdheden

Veilige bestandssysteemmachtigingen dwingen minimale bevoegdheden af in het besturingssysteem. Processen van webservers mogen geen schrijftoegang hebben tot de mappen die ze aanbieden. Toepassingsaccounts mogen geen leestoegang hebben tot configuratiebestanden met aanmeldgegevens. Op Linux moeten setuid- en setgid-binaire bestanden worden gecontroleerd, omdat ze met verhoogde bevoegdheden worden uitgevoerd, ongeacht wie ze uitvoert. Op Windows zorgen NTFS-machtigingen en DACL-controle ervoor dat gevoelige mappen (SAM-component, schaduwkopieën en opslagplaatsen voor aanmeldgegevens) alleen toegankelijk zijn voor geautoriseerde processen.

# Find setuid/setgid binaries (Linux)
find / -perm /4000 -o -perm /2000 2>/dev/null

# Secure web root permissions
chown -R root:www-data /var/www/html
chmod -R 755 /var/www/html
chmod 640 /var/www/html/config.php

# Check overly permissive files
find /etc -perm -o+w 2>/dev/null  # world-writable in /etc

CIS Benchmarks

CIS Benchmarks zijn gratis, door de gemeenschap ontwikkelde handleidingen voor het beveiligen van specifieke besturingssystemen, toepassingen en cloudplatforms. Elke benchmark bevat honderden specifieke aanbevelingen voor configuratie, met onderbouwing, stappen voor herstel en controleopdrachten. CIS Benchmarks gebruiken twee profieleniveaus: niveau 1 — eenvoudige, breed toepasbare configuraties die de functionaliteit niet beperken; niveau 2 — geavanceerde configuraties voor omgevingen met hoge beveiligingseisen die de bruikbaarheid kunnen beïnvloeden. Er bestaan benchmarks voor Windows Server, Ubuntu/RHEL, macOS, Docker, Kubernetes, AWS, Azure, GCP, browsers en databases.

# CIS Benchmark check example (Linux L1)
# CIS Ubuntu 22.04 - 1.1.1.1 Disable cramfs
modprobe -n -v cramfs 2>&1 | grep -q 'Module cramfs not found'
# Expected: Module cramfs not found OR 'install /bin/false'

# Remediate:
echo 'install cramfs /bin/false' >> /etc/modprobe.d/CIS.conf

# CIS Windows - Account Lockout threshold
# secedit /export /cfg secpol.txt
# Check: LockoutBadCount = 5 (not 0)

Beheer van basisconfiguraties

Een beveiligingsbasisconfiguratie is een gedocumenteerde verzameling configuratie-instellingen waaraan elk systeem binnen een bepaalde rolcategorie moet voldoen. Basisconfiguraties worden toegepast via Group Policy Objects (GPOs) op Windows, en via Ansible-playbooks, Chef-cookbooks of Puppet-manifesten op Linux. Hulpmiddelen voor configuratiebeheer maken detectie van afwijkingen mogelijk: als een systeem afwijkt van de goedgekeurde basisconfiguratie (bijvoorbeeld doordat een service opnieuw is ingeschakeld), kunnen geautomatiseerde waarschuwingen en automatisch herstel het systeem weer aan de vereisten laten voldoen. NIST SP 800-128 biedt richtlijnen voor beveiligingsgericht configuratiebeheer van overheidssystemen.

# Ansible hardening playbook snippet
- name: Disable ICMP redirects
  sysctl:
    name: net.ipv4.conf.all.accept_redirects
    value: '0'
    state: present
    reload: yes

- name: Enable address space layout randomization
  sysctl:
    name: kernel.randomize_va_space
    value: '2'
    state: present
    reload: yes

Controlelogboeken en bewaking

Beveiligingsverharding draait niet alleen om preventie — logboekregistratie en bewaking zijn even belangrijk. Configureer controlebeleid om het volgende vast te leggen: verificatiegebeurtenissen (geslaagd en mislukt), escalatie van bevoegdheden, toegang tot objecten (het lezen van gevoelige bestanden), aanmaak van processen (met opdrachtregelargumenten) en gebeurtenissen rond netwerkverbindingen. Logboeken moeten vrijwel in realtime naar een gecentraliseerde SIEM worden doorgestuurd, zodat lokale aanvallers met beheerdersrechten hun sporen niet kunnen uitwissen door gebeurtenislogboeken te wissen. Bewaar logboeken volgens de meeste nalevingskaders ten minste 12 maanden.

# Enable Windows audit policy (Group Policy)
auditpol /set /category:'Logon/Logoff' /success:enable /failure:enable
auditpol /set /category:'Process Creation' /success:enable
auditpol /set /subcategory:'Privilege Use' /success:enable /failure:enable

# Linux: configure auditd for privilege use
echo '-a always,exit -F arch=b64 -S execve -k exec_track' >> /etc/audit/rules.d/audit.rules
echo '-w /etc/sudoers -p wa -k priv_change' >> /etc/audit/rules.d/audit.rules
augenrules --load

Geautomatiseerde nalevingsscans

Handmatige controle van benchmarks voor beveiligingsverharding op elk systeem is op grote schaal niet praktisch. Hulpmiddelen voor nalevingsscans automatiseren deze controle. OpenSCAP (opensource) past SCAP-inhoud toe op Linux-systemen en genereert HTML-rapporten met controles die geslaagd, mislukt of niet van toepassing zijn. Nessus bevat beleid voor CIS Benchmarks. Microsoft Security Compliance Toolkit beoordeelt Windows-systemen aan de hand van Microsoft-basisconfiguraties. Deze hulpmiddelen worden volgens een vast schema uitgevoerd (wekelijks of maandelijks) en afwijkingen leiden tot herstelverzoeken in het systeem voor wijzigingsbeheer.

# OpenSCAP compliance scan (RHEL/CentOS)
oscap xccdf eval \
  --profile xccdf_org.ssgproject.content_profile_cis \
  --results results.xml \
  --report report.html \
  /usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml

# Generate remediation script
oscap xccdf generate fix \
  --fix-type bash \
  --result-id '' \
  results.xml > remediation.sh

Groepsbeleid en beveiligingssjablonen

Op Windows-domeinen zijn Group Policy Objects (GPOs) het belangrijkste mechanisme om beveiligingsbasisconfiguraties op grote schaal toe te passen en af te dwingen. Beveiligingssjablonen (vooraf gemaakte of aangepaste .inf-bestanden) kunnen in GPOs worden geïmporteerd om honderden instellingen tegelijk te configureren: accountbeleid, controlebeleid, toewijzing van gebruikersrechten, beveiligingsopties en registerwaarden. De module Security Configuration and Analysis en het opdrachtregelprogramma secedit vergelijken de huidige instellingen met een gedefinieerde sjabloon en genereren nalevingsrapporten. GPOs worden bij het opstarten en op regelmatige tijdstippen toegepast, zodat afwijkingen van de basisconfiguratie automatisch worden gecorrigeerd.

# Apply security template via secedit
secedit /configure /db %windir%\security\local.sdb \
  /cfg C:\Templates\CIS_Level1_Server2022.inf \
  /log secedit_apply.log

# Analyze current config vs template
secedit /analyze /db %windir%\security\local.sdb \
  /cfg C:\Templates\CIS_Level1_Server2022.inf \
  /log secedit_analysis.log

# View result: settings marked as compliant or non-compliant

Korte controle

Test je begrip van de concepten uit CompTIA Security+ (SY0-701) in deze les.

Samenvatting van de les

In deze les heb je geleerd dat beveiligingsverharding van het besturingssysteem het aanvalsoppervlak verkleint door services uit te schakelen, software te verwijderen, accounts te beveiligen en machtigingen volgens het principe van minimale bevoegdheden toe te passen; dat patchbeheer bekende kwetsbaarheden verhelpt met SLA's op basis van kriticiteit; en dat CIS Benchmarks richtlijnen bieden voor niveau 1 (basis) en niveau 2 (geavanceerd), die via geautomatiseerde hulpmiddelen voor nalevingsscans worden afgedwongen. Hierna behandelen we beheer van mobiele apparaten en BYOD-beleid.

Gratis beginnen

Leer Security+ Academy met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
30
Lessen
120

Veelgestelde vragen

Is de les “OS-hardening: patching, basisconfiguratie en CIS-benchmarks” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Security+ Academy, waaronder “OS-hardening: patching, basisconfiguratie en CIS-benchmarks”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Security+ Academy bevat in totaal 4 lessen.

Wat leer ik in “OS-hardening: patching, basisconfiguratie en CIS-benchmarks”?

Pas technieken voor OS-hardening toe — schakel onnodige services uit, dwing basisconfiguraties af en gebruik CIS-benchmarks — om het aanvalsoppervlak te verkleinen. Je oefent met Security+ Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Security+ Academy te beginnen?

Ervaring vooraf is niet nodig. Security+ Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “OS-hardening: patching, basisconfiguratie en CIS-benchmarks”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Security+ Academy?

Ja. Elke les over Security+ Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Antivirus-, EDR- en XDR-platforms
  2. OS-hardening: patching, basisconfiguratie en CIS-benchmarks
  3. Beleid voor Mobile Device Management (MDM) en BYOD
  4. Hostgebaseerde firewall en allowlisting van applicaties
← Terug naar Security+ Academy