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

David Allsopp edited comment on CASSANDRA-2274 at 11/5/11 3:35 PM:
-------------------------------------------------------------------

>From a quick scan through the code, it looks as though we'd need 
>MessagingService (and possibly JMX) to check the list of IPs or a supplied 
>token, in addition to the existing Thrift authentication.

Currently it appears that (in the absence of a firewall) there is no security 
against reading data from a cluster - the Thrift interface requires 
authentication, but the MessagingService doesn't, so I _think_ you can just 
send Read messages etc to pull data out of a cluster. Is that right, or is 
there something I've missed? 

I think we need to be precise about what threat we are trying to defend 
against, so we can weight up whether it's worth the effort. For example, does 
our hypothetical attacker have root access to a host on the LAN? If so, then 
presumably they may be able to spoof IP addresses, completely bypassing any IP 
checks? What happens if they simply set their IP to the same as that of one of 
the genuine nodes? I assume that you can defend against this with a suitably 
configured switch/router (with Sticky ARP / Dynamic ARP Inspection), but our 
scenario here seems to be that we don't have control over this sort of detail 
(which makes any kind of security very difficult).  If our attacker has the 
same privileges as us, then IP-based checks are probably OK.

Note also that none of the defences discussed so far would defend against 
denial-of-service attacks from an insider on the network (by trying to overload 
or crash nodes in the cluster). 

Physical attacks require physical defences - if untrusted people have access to 
your hardware then it's game over.
                
      was (Author: dallsopp):
    From a quick scan through the code, it looks as though we'd need 
MessagingService (and possibly JMX) to check the list of IPs or a supplied 
token, in addition to the existing Thrift authentication.

Currently it appears that (in the absence of a firewall) there is no security 
against reading data from a cluster - the Thrift interface requires 
authentication, but the MessagingService doesn't, so I _think_ you can just 
send Read messages etc to pull data out of a cluster. Is that right, or is 
there something I've missed? 

I think we need to be precise about what threat we are trying to defend 
against, so we can weight up whether it's worth the effort. For example, does 
our hypothetical attacker have root access to a host on the LAN? If so, then 
presumably they may be able to spoof IP addresses, completely bypassing any IP 
checks? What happens if they simply set their IP to the same as that of one of 
the genuine nodes? I assume that you can defend against this with a suitably 
confgured router, but our scenario here seems to be that we don't have control 
over this sort of detail (which makes any kind of security very difficult).  If 
our attacker has the same privileges as us, then IP-based checks are probably 
OK.

Note also that none of the defences discussed so far would defend against 
denial-of-service attacks from an insider on the network (by trying to overload 
or crash nodes in the cluster). 

Physical attacks require physical defences - if untrusted people have access to 
your hardware then it's game over.
                  
> Restrict Cassandra cluster node joins to a list of named hosts
> --------------------------------------------------------------
>
>                 Key: CASSANDRA-2274
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2274
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7.2
>         Environment: All
>            Reporter: Andrew Schiefelbein
>
> Because firewalls and employees are not infallible it would be nice to 
> restrict the ability of any node to join a cluster to a list of named hosts 
> in the configuration so that someone would be unable to start a node and 
> replicate all the data locally.  I understand that in order to do this the 
> person must know the seed servers and the cluster name and to extract the 
> data they will need a userid and password but another level of security would 
> be to force them to execute any brute force attack from a locked down server 
> instead of replicating all the data locally.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to