Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to secure AWS EKS L-IPAMD introspection endpoint #408

Closed
reenrik opened this issue Apr 23, 2019 · 4 comments
Closed

How to secure AWS EKS L-IPAMD introspection endpoint #408

reenrik opened this issue Apr 23, 2019 · 4 comments
Labels

Comments

@reenrik
Copy link

reenrik commented Apr 23, 2019

I'm in the process of standing up my first EKS cluster, and one of my co-workers expressed concern that he could curl http://[internal NODE IP]:61678/v1/enis and http://[internal NODE IP]:61678/v1/pods and receive sensitive information about the cluster.

The concern was that there is no SSL or token required to retrieve all the ENI pool information and the IPs of all the pods in the cluster.

When I embarked to understand what this api is used for and whether we could enable some form of security to lock it down, I was lead to the introspection endpoint used by L-IPAMD from amazon-vpc-cni-k8s.

Querying this API can be done from both inside any pod and from any other machine on the VPC.

What can be done to secure it? Is there an option to enforce a SSL or a token that I'm missing?

Currently running Kubernetes 1.12.6 and amazon-vpc-cni-k8s 1.3.3

@mogren
Copy link
Contributor

mogren commented Apr 26, 2019

Hi @reenrik, thanks for reporting this issue! If you want to discuss further please email me at mogren@amazon.com

@mogren
Copy link
Contributor

mogren commented May 4, 2019

@reenrik Release v1.4.1 has flags to disable the introspection endpoints.

@mogren mogren closed this as completed May 4, 2019
@reenrik
Copy link
Author

reenrik commented May 5, 2019 via email

@aws aws deleted a comment from reenrik May 6, 2019
@mogren
Copy link
Contributor

mogren commented May 6, 2019

@reenrik It is used by aws-cni-support.sh when debugging issues. The /metrics endpoint is used by the cni-metrics-helper to send metrics to CloudWatch, or by Prometheus if you have that running.

If you set DISABLE_INTROSPECTION to true, we can only get debug data about the CNI itself from the ipamd log files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants