Check: CNTR-K8-000320
Kubernetes STIG:
CNTR-K8-000320
(in versions v1 r10 through v1 r7)
Title
The Kubernetes API server must have the insecure port flag disabled. (Cat I impact)
Discussion
By default, the API server will listen on two ports. One port is the secure port and the other port is called the "localhost port". This port is also called the "insecure port", port 8080. Any requests to this port bypass authentication and authorization checks. If this port is left open, anyone who gains access to the host on which the Control Plane is running can bypass all authorization and authentication mechanisms put in place, and have full control over the entire cluster. Close the insecure port by setting the API server's --insecure-port flag to "0", ensuring that the --insecure-bind-address is not set.
Check Content
Change to the /etc/kubernetes/manifests directory on the Kubernetes Control Plane. Run the command: grep -i insecure-port * If the setting insecure-port is not set to "0" or is not configured in the Kubernetes API server manifest file, this is a finding. NOTE: --insecure-port flag has been deprecated and can only be set to 0, **This flag will be removed in v1.24.*
Fix Text
Edit the Kubernetes API Server manifest file in the /etc/kubernetes/manifests directory on the Kubernetes Control Plane. Set the argument --insecure-port to "0".
Additional Identifiers
Rule ID: SV-242386r879530_rule
Vulnerability ID: V-242386
Group Title: SRG-APP-000033-CTR-000095
Expert Comments
CCIs
Number | Definition |
---|---|
CCI-000213 |
Enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies. |
Controls
Number | Title |
---|---|
AC-3 |
Access Enforcement |