Over Mij
Afgestudeerde Cloud & Cybersecurity
- Geboortedatum: 4 oktober 2004
- Woonplaats: Lommel, België
- Website: https://www.michielkuyken.com/
- Leeftijd: 21
- Email: michiel.kuyken@gmail.com
- LinkedIn: Michiel Kuyken
Ik ben Michiel Kuyken. Ik ben recent afgestudeerd van de opleiding Electronica-ICT op Thomas More Geel met afstudeerrichting Cloud and Cybersecurity. Ik heb deze afstudeerrichting gekozen omdat ik interesse heb in netwerken, systemen en de beveiliging hiervan. Ik ben een zeer gedreven en gemotiveerde persoon die zowel in team als zelfstandig goed kan werken. Ik heb een passie voor netwerken en security en ik wil hier verder mee aan de slag in mijn carrière.
Als hobby doe ik aan volleybal en ik ben meerdere keren kapitein geweest van mijn ploeg. Ik ben ook tijdelijk coach van de Dames B geweest, door afwezigheid van hun vaste coach.
Ook game ik graag en luister ik veel naar muziek. Vooral Drum and Bass is mijn favoriete genre.
Het kijken van films en series met mijn vriendin is ook één van mijn favoriete activiteiten.
Skills
Operations
Development
CV
Hieronder kunt u mijn cv vinden. U kunt deze downloaden door op de knop te drukken.
Stage
SOC MPI Oosterlo VZW
Voor mijn afstudeerstage binnen de opleiding Elektronica-ICT, afstudeerrichting Cloud & Cybersecurity, kreeg ik de kans om drie maanden lang ervaring op te doen bij MPI Oosterlo VZW. Deze organisatie biedt begeleiding aan jongeren en volwassenen met een mentale beperking. Het beschermen van vertrouwelijke cliëntgegevens is hier van essentieel belang en daarom werd ik gevraagd om een Security Operations Center (SOC) op te zetten.
Tot op dat moment beschikte MPI Oosterlo VZW niet over een centraal systeem dat beveiligingsincidenten automatisch kon detecteren, analyseren en opvolgen. Dit zorgde ervoor dat mogelijke dreigingen onopgemerkt konden blijven, met alle risico’s van dien voor hun netwerk en data. Mijn opdracht bestond uit het ontwikkelen van een beveiligingsdashboard waarmee incidenten zichtbaar en beheerbaar worden. Het dashboard moest onder meer CVE-informatie tonen en automatisch meldingen doorsturen naar Microsoft Teams. Belangrijke vereisten waren het gebruik van Wazuh als centrale SIEM-oplossing en een mogelijke integratie met CrowdSec. Bovendien moest het project binnen een zo beperkt mogelijk budget blijven, wat betekende dat de nadruk lag op open-source software. Mijn originele plan van aanpak kunt u bekijken door onderstaande "Projectplan" te downloaden.
Tijdens de stage werd de scope van het project regelmatig bijgestuurd in overleg met het IT-team. Doorheen het traject verfijnden we het systeem tot een oplossing die goed aansluit bij de specifieke noden van de organisatie. Het eindresultaat bestaat uit een geautomatiseerde workflow waarbij Wazuh een alert detecteert, deze via Shuffle doorstuurt naar TheHive, waar automatisch een case wordt aangemaakt. Observables worden toegevoegd en geanalyseerd via Cortex. Ten slotte ontvangt het IT-team een melding in Microsoft Teams met de nodige context over het incident. Een diepere kijk op hoe dit exact gebeurde, kunt u vinden in mijn realisatiedocument, dat u kunt downloaden met onderstaande knop.
Ik heb natuurlijk veel bijgeleerd tijdens deze stage. Niet alleen op technisch vlak, waar ik dieper ben gaan kijken naar verschillende tools die we tijdens de lessen besproken hadden, maar ook op persoonlijk vlak. Ik heb een toekomstvisie gekregen over wat ik later wil doen als job. Een uitgebreide reflectie over mijn stage kunt u vinden in het reflectiedocument.
Projecten
Project 4.0
Voor het vak Project 4.0 werkte ik samen met drie developers en een AI-specialist aan een project voor Forward. Met ons team, dat uit studenten met verschillende IT-achtergronden bestaat, hebben we een applicatie uitgewerkt waarmee medewerkers van de Explore Group werkplekken, zoals bureaus of stoelen, kunnen reserveren op kantoor.
Voor dit project heb ik me bezig gehouden met het CCS gedeelte, wat vooral inhield de applicatie hosten. Dit gebeurde in de AWS-omgeving van Forward. Ik heb hiervoor Terraform-code geschreven waarmee de volledige omgeving opgezet werd. Om dit automatisch te laten gebeuren, heb ik drie pipelines geschreven. Twee van deze pipelines zorgen ervoor dat de code omgezet wordt naar een Docker-image. Deze pipelines draaide in de Gitlab-repositories voor de frontend en backend. De developers konden hier nieuwe code naar pushen en dan werd er een nieuwe Docker-image gemaakt die gehost werd. De derde pipeline zorgde ervoor dat als er een aanpassing gemaakt werd aan de Terraform-code, dat de omgeving opnieuw opgebouwd werd. Links naar deze repositories is helaas niet mogelijk, omdat enkel mensen met een schoolaccount toegang kunnen krijgen hiertoe.
De applicatie draait op ECS-instances die geschaald werden met Fargate. Deze instances waren bereikbaar via een Application loadbalancer, waarvan de URL omgevormd werd naar onze eigen domeinnaam. Dit zorgde voor gemakkelijke toegang voor de gebruikers. De gegevens, zoals wie welke stoel gereserveerd had, werden opgeslagen in een RDS. Door hiervan gebruik te maken, kon onze AI-specialist de gegevens makkelijk ophalen om in Sagemaker voorspellingen te maken. Voor een extra laag security werd gevoelige data opgeslagen in een Secrets manager.
Hosting op AWS
- VPC
- ECS op Fargate
- Application loadbalancer
- RDS
- Sagemaker
- Secrets manager
Codebeheer
- Java Springboot-framework
- Angular
- OpenTofu
- Github-pipelines
Cybersecurity & Security Operation Center
Voor het vak Cybersecurity & Security Operation Center heb ik een SOC opgezet op de server-stack van de school. Hierbij baseerde ik me op de kennis en technieken die tijdens de lessen aan bod kwamen. Aangezien mijn stageopdracht bestond uit het opzetten van een SOC, vormde dit project een waardevolle voorbereiding hierop. Het gaf me bovendien de kans om al vertrouwd te raken met diverse tools en zo meer zelfvertrouwen op te bouwen in het gebruik ervan.
Voor het SOC heb ik een Ubuntu-server opgezet met hierop een webserver die ik ging beveiligen. Voor de beveiliging maakte ik gebruik van verschillende tools, waarbij Wazuh het hart vormde als SIEM-oplossing. Wazuh monitorde de webserver op mogelijke bedreigingen. Wanneer er een dreiging werd gedetecteerd, werd deze via een Shuffle-workflow doorgestuurd naar TheHive, waar automatisch een alert werd aangemaakt. Deze alert werd vervolgens gedeeld in een Discord-server, zodat ik meldingen snel kon opvolgen.
Naast deze workflow implementeerde ik nog andere tools om de beveiliging verder te versterken. Zo voegde ik de blocklists van CrowdSec toe om IP-adressen, die bekend stonden om aanvallen uit te voeren, automatisch te blokkeren. Met Zeek realiseerde ik netwerkmonitoring, terwijl ik met pfSense firewallregels instelde zodat enkel verkeer op poorten 80 en 443 werd toegestaan. Tot slot zette ik ook Suricata in om aanvullende dreigingsmeldingen te genereren.
Workflow
- Ubuntu Server
- Apache Webserver
- Wazuh
- Shuffle
- TheHive
- Discord
Overige tools
- Crowdsec
- Zeek
- pfSense
- Suricata
Project hosting
Dit is ons uitwerking voor Project Hosting. Voor dit project heb ik samen met vier medestudenten een hosting-platform gemaakt voor de derdejaarsstudenten. Op dit platform kunnen ze hun project van Project PHP hosten.
Vanuit onze opleiding hebben we onze eigen server-stack gekregen per team. Deze hebben we zelf moeten configureren vooraleer we ermee aan de slag konden. Hierna hebben we een applicatie gemaakt waarmee gebruikers applicaties konden hosten op onze server.
Voor onze applicatie heb ik me vooral bezig gehouden met het maken van de frontend en documentatie. Dit diende als communicatiemiddel tussen de gebruiker en API. Ik heb hiervoor een template gebruikt die één van onze teamgenoten had en deze omgevormd naar onze eigen website. De code hiervoor kunt u bekijken met volgende link.
In de documentatie heb ik controle uitgevoerd op de teksten van de rest. Ik heb een spellingscontrole gedaan en een logische indeling van de pagina's gemaakt. De algemene teksten, zoals het voorwoord, inleiding, slot en bibliografie, heb ik allemaal geschreven en laten controleren door mijn team.
Doorheen het jaar heb ik mijn team ook ondersteund met het configureren van onze server-stack. Ik kende hier het minste van, dus heb ik vooral veel kunnen bijleren van mijn teamgenoten en heb ik zelf geprobeerd om te helpen waar ik kon.
Server-stack
- Dell servers
- NetApp storage
- Juniper switch
- pfsense firewall
- OpenVPN
Hosting-platform
- MySQL Database
- NodeJS API
- Ticket System
- FTP server
Systems Engineering & Analysis
Dit was ons project voor het vak Systems Engineering & Analysis. We kregen de opdracht van onze klant om een inchecksysteem te maken dat de aanwezigheden bij een examen bijhoudt.
Wij hebben gekozen om met de studentenkaart en facial recognition te werken. Hierdoor konden we controleren of de student de eigenaar was van de studentenkaart, of hij zich had ingeschreven voor het examen en konden de in- en uitchecktijd bijhouden worden.
Voor dit project heb ik me vooral bezig gehouden met het maken van de API en het samenvoegen van de verschillende stukken code. De API hield bij welke examens er gehouden werden, wie zich voor deze examens had ingeschreven, en ook de inchecktijd en uitchecktijd van de studenten. Aan de hand van deze API hebben we een UI opgesteld, waarop de docenten deze informatie konden zien.
In onze main-file stond de code die de Raspberry Pi moest uitvoeren. Deze heb ik opgesteld door de verschillende stukken code, die geschreven zijn door de rest, samen te voegen tot een werkend geheel.
Met deze link kunt u onze Github zien waarin alle code staat.
- IoT
- Raspberry pi
- RFID-scanner
- Camera
- LCD-scherm
- MariaDB Database
- API
- Facial recognition
- Mailserver
Professional Skills 1
Voor het vak PS1 werkte ik samen met drie medestudenten aan een leerproject voor de leerlingen van basisschool De Toverboom. Het doel van het project was om leerlingen van de derde graad op een toegankelijke manier iets bij te brengen over IT. Wij kozen ervoor om hen kennis te laten maken met Cybersecurity. Hiervoor maakten we gebruik van een interactieve TryHackMe-room, waarin de leerlingen via spelletjes leerden over onderwerpen zoals scams, sterke wachtwoorden, veilig online gedrag en fake nieuws.
Binnen dit project hield ik me bezig met het opzetten van de TryHackMe-room en het bedenken van de thema’s. Samen met mijn teamgenoten ontwikkelde ik per onderwerp leuke en leerrijke spelletjes die aansloten bij de inhoud. Zo lieten we de leerlingen bijvoorbeeld hun wachtwoorden testen via PasswordMonster, zodat ze konden ontdekken hoe lang het zou duren voordat hun wachtwoord gekraakt werd.
In de TryHackMe-room verwerkte ik zoveel mogelijk aantrekkelijke en toegankelijke informatie om de aandacht van de leerlingen vast te houden. Daarbij verwees ik naar herkenbare thema’s zoals Fortnite en Roblox bij het onderdeel over oplichterij, of liet ik Enzo Knol opduiken als waarnemer bij de lancering van een raket in Frans-Guyana. Op die manier maakten we het leerproces niet alleen boeiend, maar ook plezierig en herkenbaar voor de leerlingen.
- TryHackMe
- Informatie CyberSecurity
IoT Essentials
Voor het vak IoT essentials kregen we de opdracht om een muizenval te maken. Dit moesten we doen aan de hand van de componenten die we tijdens de lessen gebruikt hadden. We moesten zelf onze muizenval opbouwen en ik heb dit samen met mijn vader gedaan. Samen hebben we een houten val gemaakt waar achterin ruimte was voor de componenten.
De componenten van de muizenval worden aangestuurd door een Orange Pi. Op deze Pi staat de code die geschreven is in Python.
Wanneer de muizenval geactiveerd is, begint de ultrasone sensor te werken. Deze meet de afstand tot de ingang van de val, en detecteert dus wanneer er iets binnenkomt. Wanneer dit gebeurt schiet de steppermotor in actie. Deze trekt aan een touwtje waardoor de val dichtklapt. De muis is nu gevangen.
Er is ook een LCD-scherm verbonden waarop extra informatie te zien is. Zo kun je bijvoorbeeld kijken hoelaat het is en hoe vaak de muizenval al getriggered is. Er staat ook bij of de muizenval momenteel aan of uit staat.
Tenslotte zijn er nog twee knoppen die de muizenval kunnen uitzetten of resetten. De deur moet enkel terug geopend worden en de val is terug actief.
- Orange Pi
- Steppermotor
- Ultrasone sensor
- Knoppen
- Python script
- LCD-scherm
- Houten val
Contact
Email:
michiel.kuyken@gmail.com