Is it possible to apply & maintain the CIS Benchmarks Compliance on Managed Kubernetes Clusters such as Azure Kubernetes Service?

9/18/2019

I have a managed Kubernetes cluster over Azure Public Cloud. I tried to make some changes on the nodes to satisfy 1 Host Compliance provided by CIS Benchmark Guide for Kubernetes. Then I upgraded a node regarding size. And the host compliance failed again. It was reset on that node. How do I maintain all the changes on the nodes?

I did ssh over the nodes and did the change over there. But compliance failed after the node upgrade.

-- mkb_mc
azure-aks
benchmarking
kubernetes

1 Answer

9/23/2019

You can Reconfigure a Node's Kubelet in a Live Cluster, but it's for Cluster configuration.

As for the changes on the node itself, I recommend reading Security hardening in AKS virtual machine hosts.

AKS clusters are deployed on host virtual machines, which run a security optimized OS. This host OS is currently based on an Ubuntu 16.04.LTS image with a set of additional security hardening steps applied (see Security hardening details).

The goal of the security hardened host OS is to reduce the surface area of attack and allow the deployment of containers in a secure fashion.

Important

The security hardened OS is NOT CIS benchmarked. While there are overlaps with CIS benchmarks, the goal is not to be CIS-compliant. The goal for host OS hardening is to converge on a level of security consistent with Microsoft’s own internal host security standards.

If you need to make any changes then I would advice setting up your own cluster manually using kubeadm. Just get virtual servers configure them your way and use Creating a single control-plane cluster with kubeadm or any other guide that fits your needs.

-- Crou
Source: StackOverflow