Containerization is hot, Kubernetes daarvoor zowat onmisbaar en Azure Kubernetes Services (AKS) hét platform voor Kubernetes in Microsoft Azure. Elke DevOps-developer werkt ermee. Maar lang niet iedereen kent de fronten waarop je een AKS-cluster en de software die erop draait kunt beveiligen. Zeker niet omdat AKS zich razendsnel ontwikkelt. Joost Went licht in deze blog een tipje van de sluier over de beveiligingsopties binnen AKS – en hoe je ze kunt bijbenen.
Grote datalekken vliegen ons om de oren. Recent vond ik het meest indrukwekkend toch wel het Log4j-lek. Dat had zoveel impact dat verschillende sites wereldwijd er dagen uit lagen. De zwakste schakel? Niet de netwerkbeveiliging, maar onveilige software. Het bewijst maar weer eens hoe belangrijk het is om ook je software op verschillende niveaus te beschermen. En ja, iedereen die een productieomgeving draait weet dat je die moet beveiligen. Maar dat het met AKS op zóveel verschillende levels kan, weten veel developers niet.

Op alle fronten

Over welke niveaus ik het heb? Laat me een paar voorbeelden geven. Het is belangrijk je te realiseren dat goede beveiliging verder gaat dan alleen de interactie vanuit eindgebruikers met AKS. Het is ook belangrijk andere in- en uitgaande kanalen onder de loep te nemen.
External bronnen hoeven bijvoorbeeld helemaal niet extern te zijn, door ze een private endpoint te geven binnen het virtuele netwerk waarin AKS ook opereert. Verder is het belangrijk om de managementinterface van Kubernetes (de API Server) af te schermen of zelfs alleen intern beschikbaar te maken. Zo is het beheer van AKS niet meer mogelijk via het internet – en daarmee voor het merendeel van de hackers.
Om je applicaties te configureren heb je veelal secrets nodig, zoals bijvoorbeeld wachtwoorden, certificaten of connection strings. Elke Azure developer zal gewend zijn om deze secrets beveiligd op te slaan in een Azure Keyvault. Het koppelen van de secrets in een Keyvault naar de secrets in Kubernetes kan op verschillende manieren, zodat de secrets nooit extern zichtbaar zijn.

Buiten naar binnen

Een van de nieuwste manieren om workload uit je AKS-cluster te identificeren is door het impersoneren binnen Pods met behulp van OpenID Connect (OIDC) en Azure Workload Identity. Hiermee kunnen Pods acteren binnen Azure als een managed identity. Doordat ze een managed identity zijn kun je veel gerichter de toegang van de Pods binnen Azure afschermen en heb je bovendien geen tokens meer nodig om de bronnen binnen Azure te mogen raadplegen.
Overigens is op moment van schrijven OIDC alleen nog als preview beschikbaar, maar de kans is groot dat wanneer jij dit leest OIDC gewoon te installeren is. Daarmee is het ook meteen een voorbeeld van hoe snel de beveiligingsopties van AKS veranderen.

Alert blijven

Let wel op: omdat AKS aan de voorkant Kubernetes is, maar aan de achterkant bestaat uit native Azure-componenten, biedt dat veel speelruimte. Inclusief de ruimte om fouten te maken. Goede sources voor slimme beveiliging vind je bij Microsoft zelf, bijvoorbeeld informatie over network security, Kubernetes Secrets, build security en registry security. En vergeet ook niet alle andere beveiligingsopties, zoals pentesting, workspace en adequate logging. Je beveiliging is zo sterk als je zwakste schakel.
Op operationeel niveau is het noodzakelijk om er rekening mee te houden dat écht goede beveiliging op je AKS-cluster multidisciplinair is. Zo zijn netwerk- en softwarebeveiliging lang niet altijd bij dezelfde persoon belegd. Een goede overdracht of nauwe samenwerking met een netwerkbeheerder is essentieel.

Op de hoogte

Met mijn Tech Talk ben je voor nu op de hoogte van de beste beveiliging binnen AKS. Maar over niet al te lange tijd is het alweer oud nieuws. Zo bestonden de meeste opties die ik in mijn talk noem een jaar geleden nog niet eens. Hoe blijf je dan op de hoogte ondanks de snelle ontwikkelingen? Ik doe dat zelf met deze GitHub-groep van Microsoft. Hier houdt Microsoft dagelijks bij aan welke open issues ze voor AKS werken en worden releases traceerbaar. Een heel transparante en vrij vooruitstrevende manier om hun gebruikers in het proces mee te nemen. En dat leidt meteen tot de belangrijkste takeaway die ik mee wil geven: beveiliging van AKS is werkelijk op álle fronten mogelijk, ontzettend veranderlijk en alleen bij te houden door continu up-to-date te blijven.

Tech Talk: AKS Security Tips and Tricks

Een échte deep dive in de huidige mogelijkheden om AKS te beveiligen? In zijn Tech Talk vertelt Joost je in ruim een half uur over de nieuwste beveiligingsopties. Van bescherming van je API-server, VNET en private endpoint tot je Key Vault, identities en containers.

Kijk hier Joost's Tech Talk terug!

Over Joost Went

Hij is dan wel managing software engineer bij Capgemini, hij probeert nog steeds zoveel mogelijk tijd te besteden aan coderen. Hij verpandde zijn hart aan Azure, omdat het BareMetal-onderhoud overbodig maakt en gebruik van expertplatforms gemakkelijker. REST is Joosts tweede moedertaal en hij is gek op alles wat met tech te maken heeft. Daarnaast is hij een onvervalst familieman die in zijn vrije tijd waterpolo speelt, al doet hij dat allang niet meer op zijn voormalige niveau.
job alert

Ontvang de laatste vacatures