Security Examen

Checklist — P2-K2: Controleert de security

Per criterium kies je een score van 0 (niet/nauwelijks) tot 3 (volledig). Het cijfer per werkproces wordt automatisch berekend volgens de officiele cijfertabel. Klik op Details voor de scoring-rubric per criterium. Per tool vind je Wat, Hoe en de Verwachte uitkomst.

Beoordelingsformulier BF_EX_IT20_P2-K2_2 · Profiel 25606 Expert IT systems and devices · Kerntaak P2-K2 Controleert de security

Stappen afgevinkt (los van scoring): 0 / 0

(P2-K2-W1) Geeft security advies en verbetert de security

Opdracht 1 · Bijlage 1.3 Auditrapport voorbeelduitwerking · 4 criteria · max 12 punten

Ingevuld:0 / 4 Punten:0 / 12 Cijfer:
Cijfertabel W1 (12 punten = max)
PntCijferPntCijferPntCijferPntCijfer
01.044.087.01210.0
11.854.897.8  
22.565.5108.5  
33.376.3119.3  

(P2-K2-W2) Reageert op security incidenten

Opdracht 2 · Bijlage 2.5 Onderzoeksverslag voorbeelduitwerking · 5 criteria · max 15 punten

Ingevuld:0 / 5 Punten:0 / 15 Cijfer:
Cijfertabel W2 (15 punten = max)
PntCijferPntCijferPntCijferPntCijfer
01.043.485.8128.2
11.654.096.4138.8
22.264.6107.0149.4
32.875.2117.61510.0

Naslag & Documentatie

Achtergrond, plan van aanpak en tooling-uitleg. Klik op een onderwerp om uit te klappen.

MySQL — security audit11 commands

Tijdens een security audit inspecteer je een MySQL-instantie via de CLI. Welke users hebben toegang, welke databases bestaan, welke accounts zijn locked of expired. Hieronder de meest gebruikte commands met hun output en wat je ervan moet vinden.

Inloggen op MySQLmysql -u root -p

Wat: Eerste stap — krijg shell-toegang tot de MySQL-instantie als root. Daarna kun je gebruikers, databases en permissies inspecteren.

Hoe: mysql -u root -p — typt om het wachtwoord. Op een geauditeerde server: noteer welke accounts kunnen inloggen — extra accounts met root-rechten = bevinding.

Verwacht: Prompt verandert in mysql>. Vanaf hier kun je SQL-statements uitvoeren. Als root niet kan inloggen, of het wachtwoord is leeg, is dat al een bevinding op zich.

Welke users bestaanSELECT user FROM mysql.user;

Wat: Snelle lijst van alle MySQL-accounts. Eerste check tijdens een audit — zijn er onbekende of overbodige accounts?

Hoe: SELECT user FROM mysql.user; — geeft alleen de usernames terug (één kolom).

Verwacht: Standaard accounts: root, mysql.session, mysql.sys, mysql.infoschema, eventueel een debian-sys-maint op Debian/Ubuntu. Alles daarbuiten checken — onbekende accounts = mogelijke bevinding.

Users + waar ze vandaan mogen verbindenSELECT user,host FROM mysql.user;

Wat: Per account zien vanaf welke host het mag inloggen. % betekent "vanaf overal" — vaak een bevinding.

Hoe: SELECT user,host FROM mysql.user; — twee kolommen: gebruikersnaam + host-pattern.

Verwacht: Meeste accounts op localhost of een specifiek IP. Verdacht: root@% (root mag overal vandaan inloggen) of een applicatie-account met host % in plaats van het web-server IP.

Volledige user-tabelSELECT * FROM mysql.user;

Wat: Toon ALLES wat MySQL over elke gebruiker weet — privileges, password-hash, account-status, etc. Grote output.

Hoe: SELECT * FROM mysql.user; — tip: gebruik \G aan het eind in plaats van ; voor een leesbare verticale weergave.

Verwacht: Per gebruiker tientallen kolommen: alle _priv-kolommen (Y/N), authentication_string (de password-hash), account_locked, password_expired. Verdacht: accounts met alle privileges op Y of met een lege authentication_string.

Databases zienshow databases;

Wat: Welke databases staan op deze server. Onbekende DB-namen of test/dev-DBs op productie = bevinding.

Hoe: show databases;

Verwacht: Standaard: information_schema, mysql, performance_schema, sys. Plus de productie-DBs van de applicatie. Verdacht: test, tmp, backup_2019 of DBs die niemand kent.

Een database selecterenuse database;

Wat: Schakel naar een specifieke database om zijn tabellen te bekijken. Vervang database met de echte naam uit show databases.

Hoe: use <naam>;, bv. use apotheek;

Verwacht: Database changed. Daarna doet show tables; de tabellen van die DB tonen.

Tabellen in geselecteerde DBshow tables;

Wat: Lijst van alle tabellen binnen de actieve database. Vooral relevant voor de AVG-check: bevatten ze persoonsgegevens?

Hoe: show tables;

Verwacht: Tabellen relevant voor je analyse: klanten, users, orders, medewerkers. AVG-aandachtspunt: tabellen met persoonsgegevens hoor je niet zomaar door te neuzen — beperk je tot wat noodzakelijk is.

Tabel-structuur opvragenDESC mysql.user;

Wat: Toon de kolomdefinities van een tabel zonder de data zelf op te halen. Veiliger en sneller dan SELECT *.

Hoe: DESC mysql.user; (alias voor DESCRIBE). Werkt op elke tabel: DESC apotheek.klanten;

Verwacht: Per kolom: naam, type, NULL-allowed, key, default. Voor mysql.user: ~50 kolommen, vooral _priv-velden, plus authentication_string, account_locked, password_expired.

Unieke users (zonder duplicaten)SELECT DISTINCT user FROM mysql.user;

Wat: Als een gebruiker meerdere host-rijen heeft (bv. root@localhost en root@127.0.0.1), toont DISTINCT 'm maar één keer. Schoner overzicht.

Hoe: SELECT DISTINCT user FROM mysql.user;

Verwacht: Een korte lijst met enkel unieke gebruikersnamen. Handig als eerste oriëntatie voordat je dieper kijkt naar host-restricties.

Account-status: locked en expiredSELECT user, account_locked, password_expired FROM mysql.user;

Wat: Welke accounts zijn vergrendeld (account_locked = Y) en bij welke is het wachtwoord verlopen (password_expired = Y)? Belangrijke audit-info.

Hoe: SELECT user, account_locked, password_expired FROM mysql.user;

Verwacht: Drie kolommen. Verwacht: alle mysql.-systeem-accounts zijn locked = Y. Verdacht: een normaal account dat locked = N EN password_expired = N én al jaren ongebruikt is.

Wie ben ik nu?SELECT current_user();

Wat: Verifieer met welke MySQL-identiteit je momenteel verbonden bent. Handig bij SU/SUDO-achtige situaties of bij audit-bewijs.

Hoe: SELECT current_user();

Verwacht: Output bv. root@localhost of auditor@10.0.0.5. Bevestigt onder welk account je je queries uitvoert — leg vast in je logboek.

Plan van Aanpak7 stappen

Een mogelijke aanpak om tot een gestructureerd security-advies te komen.

  1. 1

    Identificeer de doelen

    Wat zijn de belangrijkste risico's en beveiligingsuitdagingen in de Windows Server-omgeving die je wilt analyseren? Wat zijn de belangrijkste beveiligingsdoelen die je wilt bereiken met het advies?

  2. 2

    Analyseer de huidige beveiligingsmaatregelen

    Onderzoek de huidige beveiligingsmaatregelen die zijn geïmplementeerd in de Windows Server-omgeving. Beoordeel de effectiviteit van deze maatregelen en identificeer eventuele zwakke plekken.

  3. 3

    Voer een risicoanalyse uit

    Voer een risicoanalyse uit van de Windows Server-omgeving om de belangrijkste risico's te identificeren. Dit kan onder meer het identificeren van potentiële bedreigingen, kwetsbaarheden en de impact van een beveiligingsinbreuk omvatten.

  4. 4

    Adviseer passende beveiligingsmaatregelen

    Ontwikkel een reeks passende beveiligingsmaatregelen op basis van de risicoanalyse en de huidige beveiligingsmaatregelen. Dit kan onder meer het implementeren van nieuwe beveiligingsmaatregelen, zoals antivirus- en firewallsoftware, het bijwerken van bestaande software en systemen, en het afdwingen van sterke wachtwoordbeleid omvatten.

  5. 5

    Implementeer de aanbevelingen

    Implementeer de aanbevolen beveiligingsmaatregelen om de beveiliging van de Windows Server-omgeving te verbeteren.

  6. 6

    Test de nieuwe beveiligingsmaatregelen

    Test de nieuwe beveiligingsmaatregelen om te verifiëren dat ze werken zoals bedoeld en om eventuele fouten of problemen te identificeren. Maak een rapport met alle bevindingen en geef eventuele aanbevelingen voor verdere verbeteringen.

  7. 7

    Documenteer het proces

    Documenteer het proces van het ontwikkelen van de beveiligingsadviezen en het implementeren van de aanbevolen beveiligingsmaatregelen. Dit kan helpen bij het onderhouden en updaten van de beveiligingsmaatregelen en kan nuttig zijn voor andere beveiligingsprofessionals binnen de organisatie.

Event ViewerWindows Server 2019

Het gebruik van de Event Viewer op een Windows Server 2019:

  1. Open de Event Viewer: druk op Win + R, typ eventvwr.msc, druk op Enter.
  2. Navigeer door de logboeken: in de linkerkolom zie je verschillende logboeken — Toepassingslogboek, Beveiligingslogboek, Systeemlogboek. Klik er een aan om de gebeurtenissen te bekijken.
  3. Bekijk de details van een gebeurtenis: klik op een gebeurtenis in het rechterdeelvenster. Je ziet datum/tijd, bronprogramma, gebeurtenis-ID en beschrijving.
  4. Filteren van gebeurtenissen: klik op Filter Current Log en geef criteria op zoals bron, gebeurtenisniveau of trefwoorden.
  5. Exporteer gebeurtenissen: klik met rechtermuisknop op een gebeurtenis of logboek → Export Custom View. Kies locatie en bestandsnaam.
  6. Maak aangepaste weergaven: klik met rechtermuisknop op Aangepaste weergaven in de linkerkolom → Aangepaste weergave maken. Stel je filtercriteria in.

De Event Viewer is een krachtige tool om gebeurtenissen en logs op een Windows Server 2019 te bekijken en te analyseren — problemen opsporen, fouten identificeren en systeemprestaties controleren.

Firewall logCSV-formaat configureren

Om de Windows Server firewall log te configureren en beheren:

  1. Identificeer de doelstellingen: bepaal wat je wilt bereiken — monitoring van toegang tot applicaties, identificeren van potentiële aanvallen, etc.
  2. Bepaal welke gebeurtenissen gelogd moeten worden: hangt af van de doelstellingen van het project.
  3. Configureer de firewall log: stel de log in met de juiste settings. Zorg dat de log roteert en regelmatig wordt opgeslagen om gegevensverlies te voorkomen.
  4. Analyseer de loggegevens: identificeer potentiële aanvallen en afwijkingen. Gebruik tools zoals Microsoft Log Parser om de gegevens te filteren.
  5. Rapporteer de bevindingen aan de relevante belanghebbenden en onderneem actie waar nodig.
  6. Onderhoud en update de firewall log regelmatig.

Firewall-log in CSV genereren (Windows Server 2019)

  1. Open Windows Firewall met geavanceerde beveiliging: Win + Rwf.msc → Enter.
  2. Klik in het linker deelvenster op Windows Firewall met geavanceerde beveiliging.
  3. Klik rechts op Eigenschappen.
  4. Tabblad Domeinprofiel.
  5. Onder LogboekregistratieAanpassen.
  6. Selecteer:
    • Geregistreerde pakketten die zijn verworpen
    • Geregistreerde geslaagde verbindingen
  7. Onder Bestandsnaam: geef locatie + naam van het CSV-bestand op.
  8. Onder Maximale bestandsgrootte (KB): max grootte in KB.
  9. Onder Wanneer maximale bestandsgrootte is bereikt: kies Gebeurtenissen overschrijven indien nodig.
  10. Onder Naamnotatie: kies Bestandsnaam en geef notatie op.
  11. Klik OK om de instellingen op te slaan.
  12. Herstart de Windows Firewall-service via services.msc.

Voorbeeld output (CSV)

Date,Time,Action,Protocol,Source IP,Destination IP,Source Port,Destination Port
2023-05-15,10:15:23,Allow,TCP,192.168.1.100,8.8.8.8,53217,443
2023-05-15,10:17:42,Block,UDP,192.168.1.101,10.0.0.2,123,123
2023-05-15,10:20:19,Allow,TCP,192.168.1.102,74.125.24.100,55555,80
2023-05-15,10:22:05,Allow,TCP,192.168.1.103,192.168.1.104,3389,3389
2023-05-15,10:24:36,Block,ICMP,192.168.1.105,192.168.1.106,,

Kolommen: datum, tijd, actie (ALLOW/BLOCK), protocol, bron-IP, bestemmings-IP, bronpoort en bestemmingspoort. Werkelijke kolommen en inhoud zijn afhankelijk van je firewall-configuratie.

LoggingWindows Server

Logging is een belangrijk onderdeel van de beveiliging en het beheer van een Windows-server. Het stelt de beheerder in staat om belangrijke informatie te verzamelen over gebeurtenissen op de server: inlogpogingen, fouten en waarschuwingen.

Belangrijkste aspecten

  • Gebeurtenislogboeken — logboeken voor beveiliging, systeem en toepassingen. Bevatten gebeurtenissen zoals inlogpogingen, systeemfouten en waarschuwingen.
  • Logboekbeheer — tools om logboeken te bekijken, zoeken en filteren op datum, tijd, bron, categorie. Beleidsregels voor maximale grootte en bewaarbeleid.
  • Loggingniveaus — geen / minimaal / normaal / uitgebreid. Hoger niveau = meer data maar potentieel mindere serverprestaties.
  • Logboekanalyse — analyseer logboeken regelmatig met tools als Splunk, Graylog, ELK-stack.
  • Automatisering — stuur logboeken automatisch naar een externe locatie zodat ze veilig zijn, ook als de server wordt aangevallen of offline gaat.

Stappenplan voor logging op je Windows-server

  1. Analyse van de huidige logging: welke gebeurtenissen worden vastgelegd, welke niet? Is het loggingniveau adequaat?
  2. Bepalen van de vereisten: welke gebeurtenissen moeten worden vastgelegd en welke logboeken te gebruiken?
  3. Configuratie van logging: stel loggingniveaus in, selecteer de juiste logboeken, stel beleidsregels in.
  4. Testen van logging: controleer of alle vereiste gebeurtenissen worden vastgelegd en of niveaus en beleidsregels werken zoals bedoeld.
  5. Logboekanalyse: identificeer potentiële beveiligingsproblemen en fouten met tools als Splunk / Graylog / ELK-stack.
  6. Implementatie van verbeteringen: pas loggingniveaus en beleidsregels aan op basis van de analyse.
  7. Training en documentatie: train andere systeembeheerders en documenteer de logginginstellingen en -procedures.
AuditingProjectopdracht — security audit

Doel: een security audit uitvoeren op een Windows-server. Vereist kennis van Windows-systeembeheer, netwerkbeveiliging en beveiligingsmaatregelen.

Stappen

  1. Verzamel informatie over de serverconfiguratie en -omgeving.
  2. Controleer de toegangscontrolelijsten (ACL's) van bestanden, mappen en andere resources om te zorgen dat ze overeenkomen met de juiste beveiligingsniveaus.
  3. Controleer de toegangsrechten van gebruikers en groepen op de server, inclusief accounts voor beheerders.
  4. Controleer de configuratie van beveiligingsfuncties zoals de firewall, antivirus, anti-malware en andere beveiligingssoftware.
  5. Controleer de authenticatie- en autorisatie-instellingen, zoals wachtwoordbeleid en gebruikersrechten.
  6. Controleer de logboeken van het systeem en beveiligingssoftware voor ongebruikelijke activiteiten of inbraakpogingen.
  7. Voer penetratietests uit op de server om zwakke punten te identificeren en te verhelpen.
  8. Maak een beveiligingsrapport met aanbevelingen voor verbetering van de beveiliging.
  9. Implementeer de aanbevolen beveiligingsmaatregelen en voer opnieuw tests uit om te controleren of ze effectief zijn.
  10. Documenteer het project en geef een presentatie over de opgedane kennis en ervaring.

Vereiste vaardigheden: Windows-systeembeheer, netwerkbeveiliging, beveiligingsmaatregelen, werken met beveiligingssoftware. Kennis van penetratietesttechnieken en basisprincipes van ethisch hacken zijn een plus. Uitbreidingen: beoordelen van security van andere servers in de omgeving, implementeren van geavanceerde maatregelen zoals MFA en encryptie.