Ensure that your Amazon EKS cluster has private endpoint access enabled and that the Kubernetes API server endpoint is not publicly accessible from the Internet, in order to avoid exposing private data and minimizing security risks. The level of access to your Kubernetes API server endpoints depends on your EKS application use cases, however, for most use cases Cloud Conformity recommends that private endpoint access must be enabled and that the API server endpoints should be accessible only from within your AWS Virtual Private Cloud (VPC). Enabling private endpoint access is a mandatory control required by CIS Amazon EKS Benchmark v1.8.0 (5.4.1).
This rule can help you with the following compliance standards:
- PCI
- HIPAA
- GDPR
- APRA
- MAS
For further details on compliance standards supported by TrendAI Vision One™ Cloud Risk Management, see here.
During each cluster launch, Amazon EKS creates an endpoint for the managed Kubernetes API server that you can use to communicate with your newly created cluster. By default, this API server endpoint, managed by AWS EKS, can be accessed directly, outside of a Virtual Private Cloud (VPC), therefore every machine on the Internet can reach your EKS cluster through its public endpoint and this can increase the opportunity for malicious activities and attacks. To follow security best practices, you can completely disable public access to your API server endpoint so that it's not accessible anymore from the Internet.
Audit
To determine if your Amazon EKS cluster endpoints are publicly accessible, perform the following actions:
Remediation / Resolution
To reconfigure the visibility of your Amazon EKS cluster API server endpoints to the Internet in order to disable public accessibility, perform the following actions:
References
- AWS Documentation
- Amazon EKS FAQs
- Amazon EKS clusters
- Amazon EKS cluster endpoint access control
- AWS Command Line Interface (CLI) Documentation
- list-clusters
- describe-cluster
- update-cluster-config
- describe-update