Ensure that the --address argument is set to 127.0.0.1 (Scheduler)
Do not bind the scheduler service to non-loopback insecure addresses. The Scheduler API service which runs on port 10251/TCP by default is used for health and metrics information and is available without authentication or encryption. As such it should only be bound to a localhost interface, to minimize the cluster's attack surface
Risk Level: High
Cloud Entity: Pods
CloudGuard Rule ID: D9.K8S.NET.17
Covered by Spectral: Yes
Category: Compute
GSL LOGIC
KubernetesPod where labels contain [value='kube-scheduler'] and namespace = 'kube-system' should have spec.containers with [(parsedArgs contain [key like 'address' and value = '127.0.0.1']) or (parsedArgs contain-none [key like 'address'])]
REMEDIATION
Edit the Scheduler pod specification file $schedulerconf
file on the master node and ensure the correct value for the
--address parameter.
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.4.0
- Kubernetes NIST.SP.800-190
- Kubernetes v.1.13 CloudGuard Best Practices
- Kubernetes v.1.14 CloudGuard Best Practices
Updated over 1 year ago