[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14107813#comment-14107813
 ] 

Patrick Hunt commented on ZOOKEEPER-2014:
-----------------------------------------

Yes, this is a concern for me as well.

1) mixing the client api and the admin api is not great. It would be better to 
have them separate. We should fix this asap.

2) this (controlling access to reconfig) is a big issue from a security 
perspective IMO.

A few comments on the comments so far:

bq. ensure that only the Admin can reconfigure a cluster

sounds sensible to me

bq. Perhaps restricting access to /zookeeper/config as well

in the past we've (ben in particular) tried to limit the amount of information 
we provide to the client/session. For example we don't tell them which server 
they are connected to. I see this in the same vein.

bq. one could ensure Admin only access via an ACL, but that would leave 
everyone who doesn't use ACLs unprotected.

well, you're already unprotected in this situation so I don't really see it as 
a sticking point.

bq.  clients may need read access for example in order to run the new 
client-side load balancing functionality

perhaps this argues for pushing this to the the server? encapsulate the 
information on the service I mean and expose as a specific api.

bq. Actually perhaps we should open a JIRA to hide the client-side rebalancing 
from clients (not for 3.5.0). 

yes, that's what I was trying to get at in the previous item in this comment. 
Although I think we'd need to fix this now - while we can still change the apis 
w/o worrying about b/w compat (we can change new apis during the alpha period 
w/o worrying about back compat)

bq. should this be similar to how updating the quota znode works ? or do you 
think changing configuration is different ?

if quotas are "admin" functions we probably need to fix those as well - lock 
them down to just admin level authz I mean.


> Only admin should be allowed to reconfig a cluster
> --------------------------------------------------
>
>                 Key: ZOOKEEPER-2014
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2014
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: server
>    Affects Versions: 3.5.0
>            Reporter: Raul Gutierrez Segales
>            Assignee: Raul Gutierrez Segales
>            Priority: Blocker
>         Attachments: ZOOKEEPER-2014.patch
>
>
> ZOOKEEPER-107 introduces reconfiguration support via the reconfig() call. We 
> should, at the very least, ensure that only the Admin can reconfigure a 
> cluster. Perhaps restricting access to /zookeeper/config as well, though this 
> is debatable. Surely one could ensure Admin only access via an ACL, but that 
> would leave everyone who doesn't use ACLs unprotected. We could also force a 
> default ACL to make it a bit more consistent (maybe).
> Finally, making reconfig() only available to Admins means they have to run 
> with zookeeper.DigestAuthenticationProvider.superDigest (which I am not sure 
> if everyone does, or how would it work with other authentication providers). 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to