Git Product home page Git Product logo

Comments (14)

stapelberg avatar stapelberg commented on August 28, 2024 14

Built-in basic auth would be appreciated from my end as well. Of course I can reverse-proxy the node-exporter, but that’s one more config file and dependency in my setup :|.

from node_exporter.

Jasper-Ben avatar Jasper-Ben commented on August 28, 2024 13

As a reverse proxy is now needed for any security/authentication measurement, shouldn't the node exporter only listen on localhost by default?

from node_exporter.

m-o-e avatar m-o-e commented on August 28, 2024 10

@juliusv Sorry, my goal was to express strong disagreement, not to be impolite.

For perspective and reference, here's a list of competing/related tools that have TLS:

I was going to add a list of monitoring tools that don't implement TLS as well, but couldn't find any. Not a single one.

from node_exporter.

svagner avatar svagner commented on August 28, 2024 9

Yes, I agree with you. But I think system must have his own basic simple auth for simple installation with security support. It is very important, beleave me:) This option can be disable by default.

from node_exporter.

pete0emerson avatar pete0emerson commented on August 28, 2024 4

I agree with @svagner. I understand the desire to not go down the slippery slope of supporting a plethora of auth types, but having basic auth in there is very valuable for people who want simple protection and don't want the added cost of installing, configuring, and running a reverse proxy.

from node_exporter.

discordianfish avatar discordianfish commented on August 28, 2024 2

Agreeing in general. I also think this should be added (well, no suprise given that I added basic auth back then).

from node_exporter.

svagner avatar svagner commented on August 28, 2024 1

Why? May be you should add oppotunity for anable or disable this auth? The point is that many systems doesn't have any reverse proxyes and install this proxies at all nodes isn't correct politic for organization (in highload systems it can give many problems). If we install some reverse proxy we have more one point of deniel. It isn't good.

from node_exporter.

juliusv avatar juliusv commented on August 28, 2024 1

Let's say we did support basic auth (which doesn't seem like the plan), then we'd also need to support TLS to make the basic auth useful. So now we have a much more complex problem already (there are many ways of configuring TLS). There's an FAQ item on this now btw.: https://prometheus.io/docs/introduction/faq/#why-don't-the-prometheus-server-components-support-tls-or-authentication?-can-i-add-those?

from node_exporter.

m-o-e avatar m-o-e commented on August 28, 2024 1

This should really be implemented in prometheus where it
can be peer-reviewed and is then available to all users.

Shifting the burden onto your users is not only a royal pain in the ass
but also results in brittle and insecure deployments all over the place.

node_exporter is supposed to run on many hosts, which in most environments
translates to many different OS's and patch levels.

Prometheus should not ask admins to build and maintain multi-platform
training wheels for something as basic as their monitoring probe.

from node_exporter.

SuperQ avatar SuperQ commented on August 28, 2024 1

Yes, transport security and auth very much on my mind. I've already added this to the agenda for the next developer's summit which happens in a couple weeks as part of PromCon.

This issue is not the place to discuss changes, as it's an ecosystem wide policy change.

Feel free to start a conversation on the Prometheus community developers list. We need to consider the whole scope of securing monitoring endpoints.

Please keep the discussion professional. Rants and aggressive language will not be tolerated.

from node_exporter.

brian-brazil avatar brian-brazil commented on August 28, 2024

Basic auth is just one of many potential ways that a user could do auth, there's LDAP, Kerberos, OTP plus all the directory systems and policies that may be associated with them.
Rather than spending an ever increasing amount of time creating and maintaining such integrations, we've chosen to delegate the responsibility to other projects that handle this problem already.

from node_exporter.

klobucar avatar klobucar commented on August 28, 2024

I understand this slippery slope as well +1 to adding in only basic support and an option to disable (if both are blank) or a flag.

from node_exporter.

juliusv avatar juliusv commented on August 28, 2024

@m-o-e "should" is a subjective judgement. There's pros and cons to each side, but the fact is that anything that is in Prometheus proper needs to be maintained by Prometheus people, and that needs capacity and ongoing commitment.

I am personally ambivalent about this issue, as I feel both sides have good arguments. I would personally like to have a Prometheus supporting all that, I'm less sure about wanting to maintain it :) People like @SuperQ (also Prometheus team) are very much in favor of adding TLS+auth to Prometheus components themselves, but that isn't consensus yet. @brian-brazil has been historically the most cautious person against it, but also indicated that he might be willing to reconsider that if someone puts together a security and response plan for all this, along with recommendations from security people on what to watch out for. I think there was a mailing list thread about this once started by @SuperQ, maybe he can dig it out.

from node_exporter.

discordianfish avatar discordianfish commented on August 28, 2024

I'd suggest to raise this general topic on the prometheus mailing list and discuss it there. Not sure what the latest state of this discussion is.

@Jasper-Ben Yeah, that could make sense indeed.. @SuperQ wdyt?

from node_exporter.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.