Inloggen
Gegevensbeveiliging in het BHP Panic-systeem: de NIST-standaard
Als CLOUDPANIC is het onze belangrijkste missie om veilige, krachtige applicaties te leveren. Wij zijn gespecialiseerd in het bouwen van oplossingen met veel verkeer, die door de aard van het bedrijfsleven bijzonder worden blootgesteld aan aanvalspogingen. Onze systemen hebben transacties verwerkt met een waarde van meer dan € 100 miljoen.
Architectuur gebaseerd op de NIST-standaard
Toen we de beveiligingsarchitectuur van BHP Panic ontwierpen, wilden we meer dan een checklist met eisen. NIST gaf ons een samenhangend denkmodel: wat te beschermen, hoe aanvalspogingen te detecteren en wat te doen als er iets misgaat. We hebben beveiliging in elke fase ingebouwd: van de eerste commit tot de uitrol naar productie.
Wat is de NIST-standaard?
NIST(National Institute of Standards and Technology) is een Amerikaans standaardisatie-instituut. ZijnCybersecurity Frameworkonderscheidt zich doordat het in plaats van een lijst met eisen een denkmodel biedt: Identificeren, Beschermen, Detecteren, Reageren en Herstellen.
Voordat we voor NIST kozen, hebben we ook andere frameworks overwogen, waaronder ISO 27001. We kozen NIST omdat het beter past bij cloudomgevingen en er niet van uitgaat dat de hele infrastructuur uniform is.
Voordat we voor NIST kozen, hebben we ook andere frameworks overwogen, waaronder ISO 27001. We kozen NIST omdat het beter past bij cloudomgevingen en er niet van uitgaat dat de hele infrastructuur uniform is.
Bescherming van de applicatielaag
WAF en firewall van de nieuwe generatie
Elk verzoek aan de applicatie passeert een Web Application Firewall voordat het een van onze services bereikt. De WAF blokkeert scanners, SQL-injectiepogingen en andere gangbare aanvallen automatisch, zonder dat wij ingrijpen. Wij werken de regels regelmatig bij, omdat bedreigingen sneller evolueren dan een kwartaalupdate. Naast de WAF hebben we tussen de applicatiezones een firewall van de nieuwe generatie met een IDS/IPS-module. Die heeft meerdere keren verdacht verkeer opgevangen voordat wij het zelf in de logs hadden opgemerkt.
Veilige containerarchitectuur
Het hele BHP Panic-systeem draait in containers. We bouwen basisimages op minimalistische Linux-distributies: enkele megabytes in plaats van enkele honderden, zonder overbodige systeemtools. Elke container krijgt alleen de rechten die hij daadwerkelijk nodig heeft, zonder shelltoegang en zonder de mogelijkheid om tijdens het draaien zijn eigen configuratie te wijzigen. Als een aanvaller in één container binnendringt, kan hij van daaruit niet naar de rest van het systeem springen.
Wat is containerisatie?
Containerisatie is een manier om applicaties uit te voeren in speciaal „verpakte” omgevingen, containers genoemd. U kunt zich een container voorstellen als een doos waarin alles zit wat een programma nodig heeft om te draaien: bestanden, bibliotheken, configuraties. Daardoor werkt de applicatie altijd hetzelfde, ongeacht de computer, server of cloud waarop ze draait. Het is een beetje alsof u iemand een maaltijd in een doos stuurt die niet alleen het eten bevat, maar ook precies de borden en het bestek die nodig zijn, zodat u weet dat het overal te eten is.
Het tweede belangrijke kenmerk van containerisatie is isolatie. Elke container draait afzonderlijk, zonder zich te vermengen met andere applicaties. Als één applicatie niet goed meer werkt, heeft dat geen invloed op de rest van het systeem. Bij de traditionele aanpak deelden programma's veel gemeenschappelijke systeemcomponenten, waardoor problemen of updates van het ene de werking van andere konden verstoren. Containers lossen dat op en zorgen voor meer veiligheid, stabiliteit en beheersgemak van de hele omgeving.
Het tweede belangrijke kenmerk van containerisatie is isolatie. Elke container draait afzonderlijk, zonder zich te vermengen met andere applicaties. Als één applicatie niet goed meer werkt, heeft dat geen invloed op de rest van het systeem. Bij de traditionele aanpak deelden programma's veel gemeenschappelijke systeemcomponenten, waardoor problemen of updates van het ene de werking van andere konden verstoren. Containers lossen dat op en zorgen voor meer veiligheid, stabiliteit en beheersgemak van de hele omgeving.
DevSecOps en penetratietests
Doorlopende beveiligingscontrole
Elke pull request doorloopt een SAST-analyse voordat hij bij de code review komt. De scanner zoekt naar kwetsbaarheden in de code: hardgecodeerde geheimen, onveilige bestandsoperaties, elementaire logische fouten. Afhankelijkheden controleren we afzonderlijk met een SCA-tool, omdat externe bibliotheken een aparte risicocategorie zijn en het makkelijk is dat te vergeten.
Eén keer per jaar laten we een externe pentest uitvoeren. Het laatste rapport leverde enkele bevindingen van de categorie medium op, geen enkele kritieke. De oplossingen hebben we binnen twee weken doorgevoerd. We willen liever weten wat we moeten herstellen dan leven met een vals gevoel van veiligheid.
De hele omgeving wordt bewaakt. Logs van elke service gaan naar een centraal systeem dat ons waarschuwt wanneer iets afwijkt van de norm. We versleutelen gegevens zowel in rust als tijdens transport. Het is geen optie, het is een voorwaarde.
Eén keer per jaar laten we een externe pentest uitvoeren. Het laatste rapport leverde enkele bevindingen van de categorie medium op, geen enkele kritieke. De oplossingen hebben we binnen twee weken doorgevoerd. We willen liever weten wat we moeten herstellen dan leven met een vals gevoel van veiligheid.
De hele omgeving wordt bewaakt. Logs van elke service gaan naar een centraal systeem dat ons waarschuwt wanneer iets afwijkt van de norm. We versleutelen gegevens zowel in rust als tijdens transport. Het is geen optie, het is een voorwaarde.
