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

Allow override of metrics URL in client for security #41

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

snarlysodboxer
Copy link
Contributor

Some use cases require being able to protect against a bad actor on the proxy side. E.G. someone with access to the proxy could send valid yet malicious requests through the client, defeating the purpose of the network barrier.

For example, even with RBAC setup properly, running a Kubernetes Pod with a sidecar client container would allow access to the other services in the pod by a compromised prometheus environment. I think many people's security requirements won't allow that.

This patch adds a backwards compatible --override-url option to the client.

@snarlysodboxer
Copy link
Contributor Author

A number of others have looked for this same thing. For example PR #26, and some forks, such as Adobe's.

@SuperQ
Copy link
Contributor

SuperQ commented Jul 8, 2019

Maybe better than a single override would be to have a allow filter list like --scrape-filter="http://client:9[12]\d\d/metrics".

@brian-brazil
Copy link
Contributor

A whitelist like that makes more sense.

@rahulsrivastava71
Copy link

@SuperQ if you add filter and allow multiple urls then how will you add this in request URL as that take only url , can you provide some example the the scrape filter which you gave in comment

@CorentinDeBoisset
Copy link

CorentinDeBoisset commented Sep 27, 2022

I feel this risk is mitigated by the check in this file: https://github.com/prometheus-community/PushProx/blob/master/cmd/client/main.go#L131

It blocks the client from making requests to any host on the network

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 this pull request may close these issues.

5 participants