Hey Ron, thanks for the KIP.

I believe the proposed configuration setting
`yes.virginia.i.really.do.want.to.allow.unsecured.oauthbearer.tokens.because.this.is.not.a.production.cluster`
might be too verbose. I acknowledge that we do not want to enable this in
production but we could maybe compromise on a more normal name.

I am wondering whether it would be more worth it to replace the default
implementation with a secure one. Disabling it by default can be seen as
just kicking the can down the road

Best,
Stanislav



On Wed, Feb 20, 2019 at 5:31 PM Ron Dagostino <rndg...@gmail.com> wrote:

> Hi everyone. I created KIP-432: Additional Broker-Side Opt-In for Default,
> Unsecure SASL/OAUTHBEARER Implementation
> <
> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=103091238
> >
>  (
> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=103091238
> ).
> The motivation for this KIPis as follows:
>
> The default implementation of SASL/OAUTHBEARER, as per KIP-255
> <https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=75968876
> >,
> is unsecured.  This is useful for development and testing purposes, and it
> provides a great out-of-the-box experience, but it must not be used in
> production because it allows the client to authenticate with any principal
> name it wishes.  To enable the default unsecured SASL/OAUTHBEARER
> implementation on the broker side simply requires the addition of
> OAUTHBEARER to the sasl.enabled.mechanisms configuration value (for
> example:
>  sasl.enabled.mechanisms=GSSAPI,OAUTHBEARER instead of simply
> sasl.enabled.mechanisms=GSSAPI). To secure the implementation requires the
> explicit setting of the
>
> listener.name.{sasl_plaintext|sasl_ssl}.oauthbearer.sasl.{login,server}.callback.handler.class
>  properties on the broker.  The question then arises: what if someone
> either accidentally or maliciously appended OAUTHBEARER to the
> sasl.enabled.mechanisms configuration value?  Doing so would enable the
> unsecured implementation on the broker, and clients could then authenticate
> with any principal name they desired.
>
> This KIP proposes to add an additional opt-in configuration property on the
> broker side for the default, unsecured SASL/OAUTHBEARER implementation such
> that simply adding OAUTHBEARER to the sasl.enabled.mechanisms configuration
> value would be insufficient to enable the feature.  This additional opt-in
> broker configuration property would have to be explicitly set to true
> before the default unsecured implementation would successfully authenticate
> users, and the name of this configuration property would explicitly
> indicate that the feature is not secure and must not be used in
> production.  Adding this explicit opt-in is a breaking change; existing
> uses of the unsecured implementation would have to update their
> configuration to include this explicit opt-in property before their cluster
> would accept unsecure tokens again.  Note that this would only result in a
> breaking change in production if the unsecured feature is either
> accidentally or maliciously enabled there; it is assumed that 1) this will
> probably not happen to anyone; and 2) if it does happen to someone it
> almost certainly would not impact sanctioned clients but would instead
> impact malicious clients only (if there were any).
>
>
> Ron
>


-- 
Best,
Stanislav

Reply via email to