Ensure that the --cert-file and --key-file arguments are set as appropriate (etcd)

Risk Level: High
Cloud Entity: Pods
CloudGuard Rule ID: D9.K8S.CRY.12
Covered by Spectral: Yes
Category: Compute

GSL LOGIC

KubernetesPod where labels contain [value='etcd'] and namespace = 'kube-system' should have spec.containers with [(parsedArgs contain [key like 'cert-file' ]) and (parsedArgs contain [key like 'key-file' ])]

REMEDIATION

  1. Follow the etcd service documentation and configure TLS encryption.
  2. edit the etcd pod specification file $etcdconf on the
  3. master node and set the below parameters.
    --cert-file=</path/to/ca-file>
    --key-file=</path/to/key-file>

References

  1. https://coreos.com/etcd/docs/latest/op-guide/security.html
  2. https://kubernetes.io/docs/admin/etcd/

Pods

Pods are the smallest deployable units of computing that can be created and managed in Kubernetes.A Pod is a group of one or more containers (such as Docker containers), with shared storage/network, and a specification for how to run the containers.

Compliance Frameworks

  • CIS Kubernetes Benchmark v1.20
  • CIS Kubernetes Benchmark v1.23
  • CIS Kubernetes Benchmark v1.24
  • CIS Kubernetes Benchmark v1.4.0
  • CIS Kubernetes Benchmark v1.5.1
  • CIS Kubernetes Benchmark v1.6.1
  • Kubernetes NIST.SP.800-190
  • Kubernetes v.1.13 CloudGuard Best Practices
  • Kubernetes v.1.14 CloudGuard Best Practices