The Haven Compliancy Checker
Within Common Ground (a Dutch initiative aimed at modernizing the digital infrastructure of government bodies and promoting interoperability and scalability), a tool has been created to scan and validate Kubernetes clusters for compliance with specific security and infrastructure standards prescribed by the Haven standard. This is the Haven Compliancy Checker. Using this checker requires some basic knowledge of Kubernetes and command-line tools. The check currently consists of 16 mandatory and 2 suggested checks. The 16 mandatory checks are divided into 7 main categories: Fundamental, Infrastructure, Cluster, External, Deployment, and Validation. Each category has its own checks and reasons why the Kubernetes cluster must comply with them.
Fundamental
Under Fundamental, the checker requires that the Kubernetes cluster be on the latest major version or a minor version no more than 3 months older than the latest major version. Additionally, the Kubernetes cluster must have cluster-admin privileges for the checker to function correctly.
Infrastructure
Under Infrastructure, the checker requires that the Kubernetes cluster run across multiple availability zones. Furthermore, the Kubernetes cluster must consist of at least 3 master nodes and 3 worker nodes. The Kubernetes cluster must have at least one of the following enabled: SELinux, Grsecurity, AppArmor, LKRG, Talos, or Flatcar. Finally, the Kubernetes cluster must be built within a private network topology.
Cluster
Under Cluster, the checker requires that the Kubernetes cluster, just as in the Fundamental section, be on the latest major version of Kubernetes or a minor version no more than 3 months older than the latest major version. Additionally, Role-Based Access Control must be enabled within the Kubernetes cluster, and basic authentication must be disabled. Finally, the Kubernetes cluster must support ReadWriteMany persistent volumes.
External
Under External, the checker requires that the Kubernetes cluster complies with standard Kubernetes APIs.
Deployment
Under Deployment, the checker requires that an automated HTTPS certificate provision is available, that log aggregation is running on the Kubernetes cluster, and that monitoring is present on the cluster.
Validation
Finally, under Validation, the checker requires that the Kubernetes cluster's CLI interface is validated using Secure Hash Algorithms (SHA).