+1

On Monday, September 12, 2016, John Blum <jb...@pivotal.io> wrote:

> +1
>
> On Mon, Sep 12, 2016 at 11:31 AM, Udo Kohlmeyer <ukohlme...@pivotal.io
> <javascript:;>>
> wrote:
>
> > So it seems that we are all in agreement.
> >
> > The communication channel security (via SSL) is to be separated from the
> > RBAC.
> >
> > I suggest the enum that deals with the securing of the communication
> > channels is renamed to: SecurableCommunicationChannels. This internal
> > enum will not be shared with RBAC anymore nor exposed as a public API.
> >
> > In addition to this http will be renamed to web, which is non-protocol
> > specific.
> >
> > --Udo
> >
> >
> >
> > On 10/09/2016 3:17 AM, Michael Stolz wrote:
> >
> >> Cool! I agree with this completely. Wasn't clear to me in the earlier
> >> thread that we were keeping the thoughts separate.
> >>
> >> --
> >> Mike Stolz
> >> Principal Engineer, GemFire Product Manager
> >> Mobile: 631-835-4771
> >>
> >> On Fri, Sep 9, 2016 at 1:06 PM, John Blum <jb...@pivotal.io
> <javascript:;>> wrote:
> >>
> >> I agree with Udo here.  Securing the channel between component/services
> >>> has
> >>> really very little to do with Authentication/Authorization, and by
> >>> "Authentication", I mean in the user-centric sense, not the SSL
> "trusted"
> >>> sense (with "trusted" keys and such).
> >>>
> >>> Whether a user can or cannot do something (in other words, is
> >>> "authorized",
> >>> or allowed to invoke an action, given an ACL) is a function of the
> action
> >>> being performed and the privileges/rights that a user has been granted.
> >>> That is independent of whether or not the channel has been secured.
> >>>
> >>> I also agree with Kirk that HTTP should perhaps be renamed to WEB.
> >>>
> >>> Finally, while SSL is usually a cause to reboot the system, Auth has no
> >>> such restrictions.  I could easily change Auth credentials of a user
> >>> (e.g.
> >>> revoke privileges) at runtime.
> >>>
> >>> My $0.02,
> >>> -John
> >>>
> >>>
> >>> On Fri, Sep 9, 2016 at 10:00 AM, Michael Stolz <mst...@pivotal.io
> <javascript:;>>
> >>> wrote:
> >>>
> >>> In a pure world I would go for all or nothing, but I always worry about
> >>>>
> >>> the
> >>>
> >>>> upgrade path. If I have to redeploy and restart EVERYTHING around the
> >>>>
> >>> whole
> >>>
> >>>> world simultaneously, it's a non-starter.
> >>>>
> >>>> --
> >>>> Mike Stolz
> >>>> Principal Engineer, GemFire Product Manager
> >>>> Mobile: 631-835-4771
> >>>>
> >>>> On Fri, Sep 9, 2016 at 12:51 PM, Anthony Baker <aba...@pivotal.io
> <javascript:;>>
> >>>>
> >>> wrote:
> >>>
> >>>> Mike, I was suggesting ON | OFF only for RBAC security, not for SSL
> >>>>> configuration.  Any thoughts on that?
> >>>>>
> >>>>> Anthony
> >>>>>
> >>>>> On Sep 9, 2016, at 9:44 AM, Michael Stolz <mst...@pivotal.io
> <javascript:;>> wrote:
> >>>>>>
> >>>>>> I think a reason that we might need to be less than all-or-nothing
> is
> >>>>>>
> >>>>> for
> >>>>
> >>>>> at least these two situations:
> >>>>>>
> >>>>>> 1. a user who started out with SSL disabled, and now wants to enable
> >>>>>>
> >>>>> it,
> >>>>
> >>>>> but can't take a full global outage, so needs to get it enabled for
> >>>>>>
> >>>>> the
> >>>
> >>>> WAN
> >>>>>
> >>>>>> first, and then for server-to-server and then for client/server.
> >>>>>>
> >>>>>> 2. SSL enabled over the WAN because that is not a trusted network,
> >>>>>>
> >>>>> but
> >>>
> >>>> they
> >>>>>
> >>>>>> can live without SSL for the server/server and client/server
> >>>>>>
> >>>>> connections
> >>>>
> >>>>> because they ARE in a trusted network and they don't need to pay the
> >>>>>> overhead for SSL on those links.
> >>>>>>
> >>>>>> There are probably other scenarios as well, but these are the two
> >>>>>>
> >>>>> that
> >>>
> >>>> come
> >>>>>
> >>>>>> to mind quickly.
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> Mike Stolz
> >>>>>> Principal Engineer, GemFire Product Manager
> >>>>>> Mobile: 631-835-4771
> >>>>>>
> >>>>>> On Fri, Sep 9, 2016 at 12:05 PM, Jinmei Liao <jil...@pivotal.io
> <javascript:;>>
> >>>>>>
> >>>>> wrote:
> >>>>
> >>>>> That is my original thought as well. If we are protecting resources
> >>>>>>> (CLUSTER and DATA), it should be protected no matter which way user
> >>>>>>>
> >>>>>> is
> >>>
> >>>> trying to access it. I guess I'll leave this to the PMs to decide.
> >>>>>>>
> >>>>>>> On Thu, Sep 8, 2016 at 7:37 PM, Anthony Baker <aba...@pivotal.io
> <javascript:;>>
> >>>>>>>
> >>>>>> wrote:
> >>>>>
> >>>>>> Udo, Kirk - this makes sense and thanks for the discussion to help
> >>>>>>>>
> >>>>>>> clarify
> >>>>>>>
> >>>>>>>> the issue.
> >>>>>>>>
> >>>>>>>> Regarding GEODE-1648, does it make sense to do at all?  That is,
> >>>>>>>>
> >>>>>>> what
> >>>
> >>>> if
> >>>>>
> >>>>>> role-based access control is either ON | OFF instead of per
> >>>>>>>>
> >>>>>>> component.
> >>>>
> >>>>> If
> >>>>>>>
> >>>>>>>> we allow disabling RBAC for certain components, wouldn’t that make
> >>>>>>>>
> >>>>>>> it
> >>>
> >>>> possible to create a backdoor?  Could we start with a binary option
> >>>>>>>>
> >>>>>>> and
> >>>>
> >>>>> enable more granular control when requested by users?
> >>>>>>>>
> >>>>>>>> Anthony
> >>>>>>>>
> >>>>>>>> On Sep 8, 2016, at 4:11 PM, Kirk Lund <kl...@pivotal.io
> <javascript:;>> wrote:
> >>>>>>>>>
> >>>>>>>>> +1 overall with some feedback...
> >>>>>>>>>
> >>>>>>>>> 1) I think the list is reasonable with a few nitpicks below
> >>>>>>>>>
> >>>>>>>>> 2) If these are Channels and not Components, then I would
> probably
> >>>>>>>>>
> >>>>>>>> name
> >>>>>
> >>>>>> it
> >>>>>>>>
> >>>>>>>>> SecurableChannels or SecurableCommunicationChannels or whatever.
> >>>>>>>>>
> >>>>>>>>> 3) I'd prefer HTTP be renamed to Web or other non-protocol word
> --
> >>>>>>>>>
> >>>>>>>> HTTP
> >>>>>
> >>>>>> is
> >>>>>>>>
> >>>>>>>>> a protocol and the names of the other channels are conceptual
> >>>>>>>>>
> >>>>>>>> channels
> >>>>
> >>>>> rather than a protocol (the others use TCP/IP or RMI but we don't
> >>>>>>>>>
> >>>>>>>> label
> >>>>>
> >>>>>> them as such). Or am I missing something here?
> >>>>>>>>>
> >>>>>>>>> 4) JMX is probably ok. Currently we are using (and securing) JMX
> >>>>>>>>>
> >>>>>>>> over
> >>>>
> >>>>> RMI
> >>>>>>>
> >>>>>>>> (javax.management.remote.rmi.RMIConnectorServer). There are other
> >>>>>>>>> connectors for JMX including HTTP (ex: mx4j.tools.adaptor.http.
> >>>>>>>>>
> >>>>>>>> HttpAdaptor)
> >>>>>>>>
> >>>>>>>>> and SNMP (ex: com.sun.jmx.snmp.daemon.SnmpAdaptorServer). We
> only
> >>>>>>>>>
> >>>>>>>> need
> >>>>>
> >>>>>> JMX
> >>>>>>>>
> >>>>>>>>> over RMI for now, but would we add those others as new enums to
> >>>>>>>>> SecurableChannels later if we add anything like that to Geode? Or
> >>>>>>>>>
> >>>>>>>> would
> >>>>>
> >>>>>> we
> >>>>>>>>
> >>>>>>>>> try to group those all together under the name JMX? Or decide
> when
> >>>>>>>>>
> >>>>>>>> the
> >>>>
> >>>>> time
> >>>>>>>>
> >>>>>>>>> comes?
> >>>>>>>>>
> >>>>>>>>> I think we should try to steer away from being overly controlled
> >>>>>>>>>
> >>>>>>>> by
> >>>
> >>>> specs
> >>>>>>>
> >>>>>>>> especially for reasonable changes. We all follow agile process,
> >>>>>>>>>
> >>>>>>>> so a
> >>>
> >>>> decision made one iteration could easily be undone or changed in
> >>>>>>>>>
> >>>>>>>> the
> >>>
> >>>> next
> >>>>>>>
> >>>>>>>> iteration and most of us are following weekly iterations.
> >>>>>>>>>
> >>>>>>>>> After a release anything exposed in a User API is very difficult
> >>>>>>>>>
> >>>>>>>> to
> >>>
> >>>> change
> >>>>>>>>
> >>>>>>>>> due to backwards compatibility constraints. I think we should be
> >>>>>>>>>
> >>>>>>>> much
> >>>>
> >>>>> more
> >>>>>>>>
> >>>>>>>>> careful with User APIs in Geode going forward to avoid some of
> the
> >>>>>>>>>
> >>>>>>>> problems
> >>>>>>>>
> >>>>>>>>> we have with pre-existing Geode User APIs that we inherited.
> >>>>>>>>>
> >>>>>>>>> -Kirk
> >>>>>>>>>
> >>>>>>>>> On Thu, Sep 8, 2016 at 2:07 PM, Udo Kohlmeyer <
> >>>>>>>>>
> >>>>>>>> ukohlme...@pivotal.io <javascript:;>>
> >>>>
> >>>>> wrote:
> >>>>>>>>
> >>>>>>>>> As GEODE-420 deals with SSL comms configuration and GEODE-1648
> >>>>>>>>>>
> >>>>>>>>> with
> >>>
> >>>> Authentication&Authorization I think we need to be careful in
> >>>>>>>>>>
> >>>>>>>>> what
> >>>
> >>>> is
> >>>>
> >>>>> feasible and what is logical.
> >>>>>>>>>>
> >>>>>>>>>> For SSL comms it was decided that the following components are
> >>>>>>>>>>
> >>>>>>>>> relevant
> >>>>>>>
> >>>>>>>> [1] <https://cwiki.apache.org/confluence/display/GEODE/Revised+S
> >>>>>>>>>> SL+properties>:
> >>>>>>>>>>
> >>>>>>>>>> * Locator => The comms channel between Locators + the initial
> >>>>>>>>>>
> >>>>>>>>> comms
> >>>
> >>>>   channel between clients and locator
> >>>>>>>>>> * Cluster => Internode comms channel (peer to peer)
> >>>>>>>>>> * Server => Client-server comms channel
> >>>>>>>>>> * Gateway => Comms channel between WAN Gateway senders/receivers
> >>>>>>>>>> * HTTP => Any HTTP comms. incl REST and Pulse
> >>>>>>>>>> * JMX => Any JMX comms
> >>>>>>>>>>
> >>>>>>>>>> These components were selected as they seem to be logical
> >>>>>>>>>>
> >>>>>>>>> boundaries
> >>>>
> >>>>> and
> >>>>>>>
> >>>>>>>> communication interfaces.
> >>>>>>>>>>
> >>>>>>>>>> I think the specialization of HTTP, for
> >>>>>>>>>>
> >>>>>>>>> Authentication&Authorization
> >>>>
> >>>>> are
> >>>>>>>
> >>>>>>>> functions of those interfaces:
> >>>>>>>>>>
> >>>>>>>>>> * REST-admin
> >>>>>>>>>> * REST-dev
> >>>>>>>>>> * Pulse
> >>>>>>>>>>
> >>>>>>>>>> I think that comms and functions exposed by those comms should
> >>>>>>>>>>
> >>>>>>>>> not
> >>>
> >>>> be
> >>>>
> >>>>> mixed. I think that securing the comms channel is a factor of
> >>>>>>>>>>
> >>>>>>>>> "trust".
> >>>>>
> >>>>>> Do I
> >>>>>>>>
> >>>>>>>>> implicitly trust the interface/system that I am connected to or
> >>>>>>>>>>
> >>>>>>>>> are
> >>>
> >>>> connecting to.
> >>>>>>>>>>
> >>>>>>>>>> I think concepts like "management" is a concept in function. Do
> I
> >>>>>>>>>>
> >>>>>>>>> allow
> >>>>>>>
> >>>>>>>> a
> >>>>>>>>
> >>>>>>>>> user to access admin API's? The function of management should not
> >>>>>>>>>>
> >>>>>>>>> determine
> >>>>>>>>
> >>>>>>>>> if a system trusts another systems connection. When a new comms
> >>>>>>>>>>
> >>>>>>>>> interface
> >>>>>>>>
> >>>>>>>>> is added (say messaging), we want to be able to trust that comms
> >>>>>>>>>>
> >>>>>>>>> channel.
> >>>>>>>>
> >>>>>>>>> The "management" function should still work regardless of
> >>>>>>>>>>
> >>>>>>>>> interface,
> >>>>
> >>>>> be
> >>>>>>>
> >>>>>>>> it
> >>>>>>>>
> >>>>>>>>> jmx,http/rest,prop tcp,messaging.
> >>>>>>>>>>
> >>>>>>>>>> --Udo
> >>>>>>>>>>
> >>>>>>>>>> [1]: https://cwiki.apache.org/confluence/display/GEODE/
> >>>>>>>>>>
> >>>>>>>>> Revised+SS
> >>>
> >>>> L+properties
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> On 9/09/2016 5:49 AM, Swapnil Bawaskar wrote:
> >>>>>>>>>>
> >>>>>>>>>> GEODE-1648 and GEODE-420 are both trying to add geode properties
> >>>>>>>>>>>
> >>>>>>>>>> to
> >>>>
> >>>>> secure
> >>>>>>>>
> >>>>>>>>> only some components.
> >>>>>>>>>>> GEODE-1648 is intending to add a property named
> >>>>>>>>>>> "security-enabled-components" that will allow users to turn off
> >>>>>>>>>>> authentication/authorization for some components
> >>>>>>>>>>> GEODE-420 is intending to add a property named
> >>>>>>>>>>>
> >>>>>>>>>> "ssl-enabled-components"
> >>>>>>>
> >>>>>>>> that will allow users to turn off ssl. for either client/server,
> >>>>>>>>>>> peer-to-peer or wan communication.
> >>>>>>>>>>>
> >>>>>>>>>>> Since both deal with security, I think we should have the same
> >>>>>>>>>>>
> >>>>>>>>>> list
> >>>>
> >>>>> of
> >>>>>>>
> >>>>>>>> components for these new geode properties. Intent of this thread
> >>>>>>>>>>>
> >>>>>>>>>> is
> >>>>
> >>>>> to
> >>>>>>>
> >>>>>>>> arrive at a consensus on what these components are.
> >>>>>>>>>>>
> >>>>>>>>>>> I would like to propose the following components:
> >>>>>>>>>>> Cluster => stands for peer-to-peer
> >>>>>>>>>>> Server => client/server and developer rest API
> >>>>>>>>>>> WAN => gateway sender/receiver
> >>>>>>>>>>> Management => jmx, admin-rest, pulse
> >>>>>>>>>>>
> >>>>>>>>>>> Thanks!
> >>>>>>>>>>> Swapnil.
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>
> >>>>>>> --
> >>>>>>> Cheers
> >>>>>>>
> >>>>>>> Jinmei
> >>>>>>>
> >>>>>>>
> >>>>>
> >>>
> >>> --
> >>> -John
> >>> 503-504-8657
> >>> john.blum10101 (skype)
> >>>
> >>>
> >
>
>
> --
> -John
> 503-504-8657
> john.blum10101 (skype)
>

Reply via email to