De Haven Compliancy Checker
Binnen Common Ground (een Nederlands initiatief gericht op het moderniseren van de digitale infrastructuur van overheden en het bevorderen van interoperabiliteit en schaalbaarheid) is een tool gecreëerd waarmee je Kubernetes-clusters kunt scannen en valideren op de naleving van bepaalde beveiligings- en infrastructuurnormen, die voorgeschreven staan in de Haven standaard. Dit is de Haven Compliancy Checker. Het gebruik van deze checker vereist enige basiskennis van Kubernetes en de command-line tools. De check bestaat momenteel uit 16 verplichte en 2 voorgestelde checks. Binnen de 16 verplichte checks zijn 7 hoofdonderdelen; Fundamental, Infrastructure, Cluster, External, Deployment en Validation. Elk onderdeel heeft zijn checks en redenen waarom het Kubernetes Cluster eraan moet voldoen.
Fundamental
Onder Fundamental schrijft de checker voor dat het Kubernetes cluster de laatste major versie betreft of een minor versie die 3 maanden ouder is dan de laatste major. Daarnaast moet het Kubernetes cluster cluster-admin privileges hebben om zo de checker correct te laten werken.
Infrastructure
Onder Infrastructure schrijft de checker voor dat het Kubernetes cluster in meerdere beschikbaarheidszones moet draaien. Daarnaast moet het Kubernetes cluster bestaan uit minimaal 3 master nodes en 3 worker nodes. Het Kubernetes cluster moet in ieder geval SELinux, Grsecurity, AppArmor, LKRG, Talos of Flatcar ingeschakeld hebben. Als laatst moet het KubernetescCluster opgebouwd zijn in een private netwerktopologie.
Cluster
Onder Cluster schrijft de checker voor dat het Kubernetes cluster, net zoals in het onderdeel Fundamental, de laatste major versie van Kubernetes betreft of een minor versie die 3 maanden ouder is dan de laatste major. Daarnaast moet Role-Based Access Control zijn ingeschakeld binnen het Kubernetes cluster en basic authenticatie uitgeschakeld. Tot slot moet er binnen het Kubernetes cluster ondersteuning zijn voor ReadWriteMany persistent volumes.
Extern
Onder Extern schrijft de checker voor dat het Kubernetes cluster voldoet aan de standaard Kubernetes API’s.
Deployment
Onder Deployment schrijft de checker voor dat er een geautomatiseerd HTTPS-certificaatvoorziening beschikbaar is, dat logaggregatie op het Kubernetes cluster draait en dat er een monitoring op het cluster aanwezig is.
Validation
Tot slot schrijft de checker onder Validation voor dat de CLI-interface van het Kubernetes cluster gevalideerd is middels Secure Hash Algorithms (SHA).