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

[DEV]Protect insecure cloud-init endpoints for everything but GET #14

Open
travisbcotton opened this issue Oct 2, 2024 · 4 comments · May be fixed by #16
Open

[DEV]Protect insecure cloud-init endpoints for everything but GET #14

travisbcotton opened this issue Oct 2, 2024 · 4 comments · May be fixed by #16

Comments

@travisbcotton
Copy link
Collaborator

Short Description
The current insecure cloud-init endpoint does not require a JWT to GET cloud-init data. This is the intended behavior as the configs served by this endpoint should be fine to be read by anyone. BUT, it is also possible to POST/DELETE/PATCH etc which is a major flaw, as this would allow someone on the clients/computes to update what is in cloud-init. Like giving themselves sudo access maybe.

Definition of Done
A JWT should be required to perform any action on the insecure cloud-init endpoint that is not GET

@LRitzdorf
Copy link
Collaborator

LRitzdorf commented Oct 2, 2024

Very good point! Just to clarify how this interacts with the existing setup:

  • Currently, a JWKS URL is optional, and specifying one will enable the secured endpoint
  • In the process of fixing this issue, we'd make the JWKS URL required, and could either:
    • Add another flag to control the secure endpoint, or
    • Always enable the secured endpoint

Thoughts on those last two options?

@travisbcotton
Copy link
Collaborator Author

I think always enabling the secured endpoint is my preference.

@davidallendj
Copy link
Contributor

By having it always enabled, does that mean cloud-init will throw an error if the JWKS URL is not set?

@travisbcotton
Copy link
Collaborator Author

Since cloud-init is a cluster facing service I think it should throw errors if JWKS URL is not set.

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

Successfully merging a pull request may close this issue.

3 participants