不付费就静态加密数据库?

Encrypting the database at rest without paying?

目前加密 Cassandra 数据库的唯一方法似乎是使用他们的企业版,它的价格高达数千美元:

另一种解决方案是在每个值进入数据库之前对其进行加密,但随后密钥将以明文形式存储在每个服务器的某个位置,并且很容易找到。

我知道他们为某些公司提供 "free" 使用,但这不是一个选项,我无权支付 2000 美元/台服务器。传统企业如何加密分布式数据库?

谢谢指教

插入前先加密是个好办法。密钥将位于每个应用程序或每个 cassandra 节点上。实际上并没有太大区别,无论哪种方式,您都应该使用文件系统权限来限制对应用程序用户的关键访问。有一些步骤可以从那里获得更高的安全性,比如要求在启动时输入密码短语而不是存储在磁盘上,但这会使操作任务变得可怕。

我采用了AWS上数据盘加密的方式。我向实例添加了一个新卷并选中了加密该卷的选项。然后我编辑 cassandra.yaml 以指向加密卷。

我们在一个项目中做过类似的需求。基本上,我利用 Cassandra 中的触发器功能和自定义实现来执行加密。它似乎对我们来说工作正常。

您可以参考以下文档,了解如何创建 ITrigger 接口的触发器和示例实现

https://docs.datastax.com/en/cql/3.3/cql/cql_reference/cqlCreateTrigger.html

https://github.com/apache/cassandra/blob/2e5847d29bbdd45fd4fc73f071779d91326ceeba/examples/triggers/src/org/apache/cassandra/triggers/AuditTrigger.java