+1 for d) don't print any env vars in the web UI

In the longer term, instead of a flag to hide/show certain variables, I
would be more inclined to move towards role based access for the Flink
dashboard.

Thanks,

On Wed, Nov 16, 2022 at 10:22 PM Thomas Weise <t...@apache.org> wrote:

> +1 for d) don't print any env vars in the web UI (at least by default)
>
> There could be an option to allow-list printing of env vars but it should
> be off by default.
>
> Generally I think that those that should be able to see env vars probably
> can get there by other means, like kubetcl exec
>
> Thanks,
> Thomas
>
>
> On Wed, Nov 16, 2022 at 4:43 PM Konstantin Knauf <kna...@apache.org>
> wrote:
>
> > Hi everyone,
> >
> > thanks a lot for your feedback so far. Right now, we have pretty much a
> > consensus to not show environment variables at all in the Web UI going
> > forward.
> >
> > I think, we can address this in 1.16.1, as I consider this a
> vulnerability
> > that should be addressed in a patch release rather than waiting for the
> > next minor release.
> >
> > Are there any other suggestions on how to proceed?
> >
> > Cheers,
> >
> > Konstantin
> >
> >
> >
> > Am Mi., 16. Nov. 2022 um 09:23 Uhr schrieb Gyula Fóra <
> > gyula.f...@gmail.com
> > >:
> >
> > > I am not opposed to removing this completely based on Chesnay's
> > reasoning.
> > > In general I agree that this feature probably does more harm than good.
> > >
> > > Gyula
> > >
> > > On Wed, Nov 16, 2022 at 9:13 AM Chesnay Schepler <ches...@apache.org>
> > > wrote:
> > >
> > > > I'm inclined to go with d), removing it entirely.
> > > >
> > > > I must admit that I liked the idea behind the change; exposing more
> > > > information about what might impact Flink's behavior is a good thing,
> > > > although I'm irked that the statement in the FLIP about env variables
> > > > already being exposed in the logs just isn't correct.
> > > >
> > > > I was quite disappointed when I saw that b) wasn't already
> implemented.
> > > > It is concerning that this actually made it's way through the review
> > > > rounds as-is.
> > > >
> > > > That being said I don't think that b) would be sufficient in anyway;
> > the
> > > > desensitization logic for config options is quite limited (and
> > > > inherently not perfect), but config options are too important to not
> > log
> > > > them. This isn't really the case for environment variables that have
> > > > limited effects on Flink, and it's just too easy to leak secrets.
> > > > Oh you abbreviated PASSWORD to PW? Well you just leaked it.
> > > >
> > > > This brings us to c), where my immediate gut instinct was that no
> ones
> > > > gonna bother to do that.
> > > >
> > > > as for e*) (opt-in flag that Gyula proposed); I think it's to easy to
> > > > shoot yourself in the foot somewhere down the line. It may be fine at
> > > > one point but setups evolve after all, and this seems like something
> to
> > > > easily slip through.
> > > >
> > > > On 15/11/2022 15:41, Konstantin Knauf wrote:
> > > > > Hi everyone,
> > > > >
> > > > > important correction, this is since 1.16.0, not 1.17+.
> > > > >
> > > > > Best,
> > > > >
> > > > > Konstantin
> > > > >
> > > > > Am Di., 15. Nov. 2022 um 14:25 Uhr schrieb Gyula Fóra <
> > > > gyula.f...@gmail.com
> > > > >> :
> > > > >> Thanks for bringing this important issue to discussion Konstantin!
> > > > >>
> > > > >> I am in favor of not showing them by default with an optional
> > > > configuration
> > > > >> to enable it.
> > > > >> Otherwise this poses a big security risk of exposing previously
> > hidden
> > > > >> information after upgrade.
> > > > >>
> > > > >> Gyula
> > > > >>
> > > > >> On Tue, Nov 15, 2022 at 2:15 PM Maximilian Michels <
> m...@apache.org>
> > > > wrote:
> > > > >>
> > > > >>> Hey Konstantin,
> > > > >>>
> > > > >>> I'd be in favor of not printing them at all, i.e. option (d). We
> > have
> > > > the
> > > > >>> configuration page which lists the effective config and already
> > > removes
> > > > >> any
> > > > >>> known secrets.
> > > > >>>
> > > > >>> -Max
> > > > >>>
> > > > >>> On Tue, Nov 15, 2022 at 11:26 AM Konstantin Knauf <
> > kna...@apache.org
> > > >
> > > > >>> wrote:
> > > > >>>
> > > > >>>> Hi all,
> > > > >>>>
> > > > >>>> since Flink 1.17 [1] the Flink Web UI prints *all* environment
> > > > >> variables
> > > > >>> of
> > > > >>>> the Taskmanager or Jobmanagers hosts (Jobmanager ->
> Configuration
> > ->
> > > > >>>> Environment). Given that environment variables are often used to
> > > store
> > > > >>>> sensitive information, I think, it is wrong and dangerous to
> print
> > > > >> those
> > > > >>> in
> > > > >>>> the Flink Web UI. Specifically, thinking about how Kubernetes
> > > Secrets
> > > > >> are
> > > > >>>> usually injected into Pods.
> > > > >>>>
> > > > >>>> One could argue that anyone who can submit a Flink Job to a
> > cluster
> > > > has
> > > > >>>> access to these environment variables anyway, but not everyone
> who
> > > has
> > > > >>>> access to the Flink UI can submit a Flink Job.
> > > > >>>>
> > > > >>>> I see the the following options:
> > > > >>>> a) leave as is
> > > > >>>> b) apply same obfuscation as in flink-conf.yaml based on some
> > > > heuristic
> > > > >>> (no
> > > > >>>> "secret", "password" in env var name)
> > > > >>>> c) only print allow-listed values
> > > > >>>> d) don't print any env vars in the web UI (at least by default)
> > > > >>>>
> > > > >>>> What do you think?
> > > > >>>>
> > > > >>>> Cheers,
> > > > >>>>
> > > > >>>> Konstantin
> > > > >>>>
> > > > >>>> [1] https://issues.apache.org/jira/browse/FLINK-28311
> > > > >>>>
> > > > >>>> --
> > > > >>>> https://twitter.com/snntrable
> > > > >>>> https://github.com/knaufk
> > > > >>>>
> > > > >
> > > >
> > > >
> > >
> >
> >
> > --
> > https://twitter.com/snntrable
> > https://github.com/knaufk
> >
>

Reply via email to