Apache Cassandra是否提供可用来防止数据破坏(恶意节点)的度量?

问题描述 投票:3回答:1

我们正在与20个人一起进行一个大型学校项目。该案是一个分散的匿名聊天平台。因此我们不允许设置中央服务器,因此我们正在研究分布式数据库,并发现Cassandra最适合我们的项目。

这意味着所有正在运行该应用程序的人都将是一个Cassandra节点。这对我引起了很多关注,主要是恶意节点。如果每个人都在他们的计算机上运行一个Cassandra节点,我们如何才能防止他们进行操纵/破坏,甚至只是直接删除数据?

我正在做一些研究,并且开始得出结论,Cassandra(以及我研究过的其他分布式数据库)是用于公司拥有,运行和维护数据库的公司解决方案的。在我们的情况下,这是不正确的,因为一旦应用程序启动,就不会有“所有者”。每个用户都是系统的一部分。

我知道在分散式/分布式系统中防止恶意节点的一种(或也许是唯一的)方法是让节点相互检查。我在Cassandra中找不到这样做的方法,因此我的问题是,我们可以防止数据破坏和恶意节点成为威胁吗?

cassandra distributed cassandra-3.0 distributed-system decentralized-applications
1个回答
0
投票

正如您提到的,Cassandra的设计假定您将控制所有节点,因为一旦任何第三方都可以访问您的数据副本,您就失去了对其处理权限的控制,类似于互联网上的任何帖子。

一个确保只有“授权节点”加入集群的选项,您可以强制执行SSL节点间加密,这可以使您有所控制,但有一些警告:

  • 如果节点被授予访问权限后变得无赖或受到损害,将其踢出将非常困难。
  • 使用过期证书的节点将能够继续与集群交互,直到服务重新启动为止。
  • SSL证书的管理增加了管理的另一层复杂性。

关于语句I know one (or maybe the only) way to prevent malicious node in a decentralized/distributed system is to have nodes keep each other in check.,Cassandra已经在使用八卦机制来使每个节点相互检查。

© www.soinside.com 2019 - 2024. All rights reserved.