arrow_backTerug naar veldaantekeningen
DEVOPS Gepubliceerd 7 Jul 2026

Applied Kubernetes Hardening: A Practical Playbook

Een praktische gids voor het beveiligen van Kubernetes-clusters, die RBAC, pod-beveiliging, netwerkbeleid en supply chain-controles behandelt.

Kubernetes wordt geleverd met flexibiliteit, niet beveiliging, als standaardinstelling. Elke open poort, permissieve RBAC-rol en onbeperkte pod is een uitnodiging. Het beveiligen van een cluster betekent het systematisch dichten van die gaten zonder de workloads die ervan afhangen te beschadigen. Dit is geen checklist-oefening—het is een voortgaande discipline die identiteits-, netwerk-, workload- en supply chain-lagen raakt.

Lock Down the Control Plane First

De API-server is het meest waardevolle doel in elk cluster. Begin met het uitschakelen van anonieme authenticatie en het afdwingen van sterke authenticatiemethoden—OIDC-integratie met uw identiteitsprovider is beter dan statische tokens of clientcertificaten die nooit verlopen. Beperk de toegang tot de etcd-datastore, omdat deze elk geheim en configuratieobject in platte tekst bevat tenzij encryptie at rest is ingeschakeld. Zet encryptie voor secrets in met een KMS-provider in plaats van te vertrouwen op base64-codering, die geen echte bescherming biedt. Audit-logging moet vanaf dag één zijn ingeschakeld; zonder het hebt u geen forensisch spoor wanneer iets fout gaat.

RBAC: Least Privilege, Not Convenience

De meest voorkomende misconfiguratie in productionclusters is te brede RBAC-bindingen—cluster-admin verleend aan service accounts die alleen pods in één namespace hoeven te lezen. Bouw rollen rond werkelijke functies en beperk ze waar mogelijk tot namespaces. Vermijd wildcard-werkwoorden en resources in Role en ClusterRole-definities. Controleer bindingen regelmatig met tools zoals kubectl auth can-i --list of rbac-lookup om privilege creep te vangen. Service accounts verdienen dezelfde controle als menselijke gebruikers—schakel automounting van service account-tokens uit voor pods die geen API-toegang nodig hebben.

Pod Security: Assume Compromise

Pod Security Admission (die het verouderde PodSecurityPolicy verving) stelt u in staat baseline- of restricted-profielen op namespaceniveau af te dwingen. Schakel op zijn minst privileged containers, sharing van host-namespaces en privilege escalation uit. Stel runAsNonRoot: true in en laat standaard alle Linux-mogelijkheden vallen, en voeg alleen expliciet vereiste mogelijkheden weer toe. Read-only rootfilesystems voorkomen dat aanvallers kwaadaardige binaire bestanden in een actieve container schrijven. Deze controles zijn belangrijk omdat een container escape of beveiligingslek in een toepassing niet zou moeten leiden tot volledige node compromise.

Network Policies Are Not Optional

Standaard kan elke pod in een Kubernetes-cluster met elke andere pod communiceren. Dat platte netwerkmodel is een droomscenario voor lateral movement voor aanvallers. Implementeer NetworkPolicy-resources om default-deny ingress en egress af te dwingen, en sta vervolgens alleen de verkeersstromen toe die uw applicaties nodig hebben. Dit vereist een CNI-plugin die NetworkPolicy-enforcement echt ondersteunt—Calico, Cilium en anderen vervullen deze rol omdat het basisnetwerk-model van Kubernetes zelf niets afdwingt. Het segmenteren van namespaces naar trust boundary en het stapelen van beleid erop geeft u echte defense in depth.

Image and Supply Chain Integrity

Hardening stopt niet bij runtimeconfiguratie—het begint met wat u implementeert. Scan containerimages op bekende beveiligingslekken voordat ze uw registry bereiken, en dwing af dat alleen ondertekende, geverifieerde images in uw cluster kunnen worden uitgevoerd met behulp van admission controllers zoals Kyverno of OPA Gatekeeper. Zet imagetags vast op digests in plaats van mutable tags zoals latest, die stilletjes kunnen veranderen. Beperk welke registries pods mogen pullen, en sluit een gebruikelijk pad af voor supply chain-aanvallen waarbij gecompromitteerde of typosquatte-images in productie terechtkomen.

Secrets Management Beyond Kubernetes Defaults

Natieve Kubernetes Secrets zijn beter dan niets, maar ze zijn geen echte secrets management-oplossing. Overweeg de integratie van een externe secrets manager—Vault, AWS Secrets Manager of vergelijkbare—en injecteer secrets bij runtime in plaats van ze als clusterobjecten op te slaan. Als u native Secrets moet gebruiken, zorg ervoor dat etcd-encryptie is ingeschakeld en RBAC lezing strikt beperkt, omdat elke pod of gebruiker met get-machtiging op secrets in een namespace referenties kan exfiltreren.

Continuous Verification, Not One-Time Setup

Hardening-configuraties drijven in de loop van de tijd af naarmate nieuwe workloads worden geïmplementeerd en prioriteiten verschuiven naar snelheid boven beveiliging. Tools zoals kube-bench controleren naleving tegen de CIS Kubernetes Benchmark, terwijl kube-hunter aanvaller-verkenning tegen uw cluster kan simuleren. Bak deze controles in CI/CD-pipelines in zodat misconfiguraties worden opgemerkt voordat ze productie bereiken in plaats van tijdens een incident response-oproep.

Kubernetes hardening gaat minder over een enkel silver-bullet-controle en meer over het stapelen van verdedigingen over identiteits-, netwerk-, workload- en supply chain-lagen—zodat een storing in één laag niet in volledige compromise escaleert. Voor meer informatie over cloudinformatiebeveiliging-patronen en defensieve tooling, verken gerelateerde secties op het DEFENSE_GRID-platform van Korra Studio.

Geschreven met AI-ondersteuning, herzien en gepubliceerd door Michal Pilch (CISSP), Korra Studio.

Klaar om verder te gaan?

Dit is één aantekening uit de kennisbasis van Korra Studio — het platform koppelt elk onderwerp aan 1-op-1 mentoring.

Gratis beginnenarrow_forward