2.1.1 Client certificate authentication should not be used for users

Warning! Audit Deprecated

This audit has been deprecated and will be removed in a future update.

View Next Audit Version

Information

Kubernetes provides the option to use client certificates for user authentication. However as there is no way to revoke these certificates when a user leaves an organization or loses their credential, they are not suitable for this purpose.

It is not possible to fully disable client certificate use within a cluster as it is used for component to component authentication.

Rationale:

With any authentication mechanism the ability to revoke credentials if they are compromised or no longer required, is a key control. Kubernetes client certificate authentication does not allow for this due to a lack of support for certificate revocation.

See also Recommendation 5.8.2 for GKE specifically.

Impact:

External mechanisms for authentication generally require additional software to be deployed.

NOTE: Nessus has not performed this check. Please review the benchmark to ensure target compliance.

Solution

Alternative mechanisms provided by Kubernetes such as the use of OIDC should be implemented in place of client certificates.
You can remediate the availability of client certificates in your GKE cluster. See Recommendation 5.8.2.

Default Value:

See the GKE documentation for the default value.

See Also

https://workbench.cisecurity.org/files/4135