You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by franck102 <fr...@yahoo.com> on 2017/10/13 07:52:30 UTC

Security question

Hi all,

Stepping through the code during a cache.get() request from a client node to
a server node, I don't see that GridSecurityProcessor.authorize will ever be
called on the server node?

Authorize is called on the client node, but on the server node the code goes
straight to GridCacheAdapter#getAllAsync0 which skips the ctx.checkSecurity
call??

If that is the case any node which is able to connect can easily do anything
on a cache using custom client code to bypass client-side security... am I
missing something?

Thanks!
Franck



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Security question

Posted by franck102 <fr...@yahoo.com>.
Thanks Dmitry, that makes sense, we will make sure that client-side code is
trusted.

Franck



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Security question

Posted by dkarachentsev <dk...@gridgain.com>.
Franck,

You're definitely right, but this is more like client roles than regular
security.

On "they have a number of connected clients with actual applications" I
meant that user's application is connected to the grid via clients with
their local permissions. But end user cannot access the grid directly, only
via user's API.

Anyway, I don't think that it would be changed in nearest time.

Thanks!
-Dmitry



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Security question

Posted by franck102 <fr...@yahoo.com>.
Wow. That means any client who can get past node authentication on join can
do anything they like on all caches, including all admin commands.

The node validation logic won't help at all - the join request may claim
that a given security processor is used, but subsequent requests can
perfectly be contructed client-side without going through client-side
security.

Unless I am missing something this sounds like a pretty serious issue.

Franck



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Security question

Posted by dkarachentsev <dk...@gridgain.com>.
Hi Franck,

Yes, here is used client-side security, looks like it was made to allow
connect of different clients with different permissions. But it depends on
GridSecurityProcessor. For example, it may have a node validation logic that
will not accept nodes with unapproved security processor. 

In most cases Ignite users place cluster in private network where they have
number of connected clients with actual applications, to which they provide
access for end users. So there is no way for a third party person to connect
to the grid from outside.

Thanks!



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/