PushProx icon indicating copy to clipboard operation
PushProx copied to clipboard

Allow override of metrics URL in client for security

Open snarlysodboxer opened this issue 6 years ago • 5 comments

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 avatar Feb 27 '19 19:02 snarlysodboxer

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

snarlysodboxer avatar Feb 27 '19 20:02 snarlysodboxer

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

SuperQ avatar Jul 08 '19 13:07 SuperQ

A whitelist like that makes more sense.

brian-brazil avatar Jul 08 '19 13:07 brian-brazil

@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

rahulsrivastava71 avatar Jun 01 '22 10:06 rahulsrivastava71

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

CorentinDeBoisset avatar Sep 27 '22 14:09 CorentinDeBoisset