The Kubernetes API server must have the secure port set.

STIG ID: CNTR-K8-000350  |  SRG: SRG-APP-000033-CTR-000100 |  Severity: medium |  CCI: CCI-000213 |  Vulnerability Id: V-242389

Vulnerability Discussion

By default, the API server will listen on what is rightfully called the secure port, port 6443. Any requests to this port will perform authentication and authorization checks. If this port is disabled, anyone who gains access to the host on which the Control Plane is running has full control of the entire cluster over encrypted traffic.

Open the secure port by setting the API server's "--secure-port" flag to a value other than "0".

Check

Change to the /etc/kubernetes/manifests directory on the Kubernetes Control Plane. Run the command:

grep -i secure-port *

If the setting "--secure-port" is set to "0" or is not configured in the Kubernetes API manifest file, this is a finding.

Fix

Edit the Kubernetes API Server manifest file in the /etc/kubernetes/manifests directory on the Kubernetes Control Plane.

Set the value of "--secure-port" to a value greater than "0".