Couchbase 服务器的访问安全

Posted

技术标签:

【中文标题】Couchbase 服务器的访问安全【英文标题】:Access Security of Couchbase Server 【发布时间】:2014-12-30 23:56:42 【问题描述】:

我是 Couchbase 的新手,我找不到任何关于我的问题的来源。

我打算使用 Cordova(Phonegap) 开发一个移动应用程序。而且我认为 Couchbase 作为数据库是一个很好的解决方案。但我有一个关于安全性的问题。

如果我使用 Couchbase Lite PhoneGap 插件,我的服务器 IP 会出现在我的“Sync-Gateway-config.json”文件中。因此,人们可以使用 REST API 来访问由他们的渠道提供的所有数据。他们不能吗?

例如,用户通过这些代码获取自己的数据 ViewQuery.from('users', 'by_name').key("aUserName"); .如果有人读取这些代码并获取服务器地址、设计和存储桶名称,则他/她可以获取所有用户记录。

如何防止这种情况发生?

【问题讨论】:

要明确的是,您是在询问 Couchbase Lite 使用的同步网关 REST 端点的安全性吗?或者 Couchbase 服务器对使用 Node.JS SDK 的应用服务器的安全性? 【参考方案1】:

Couchbase 中的存储桶可以通过密码保护。您可以通过要求访问密码来定义安全存储桶。然后在运行时您可以注入该密码(因此没有明文密码存储在您的配置中)

了解Couchbase data storage “存储桶提供了一种用于组织、管理和分析数据存储资源的安全机制……SASL 验证 Couchbase 存储桶只能放置在端口 11211 上,每个存储桶通过其名称和密码来区分……Couchbase 服务器允许您配置不同的端口来访问不同的存储桶,并为您提供使用带有 SASL 身份验证的二进制协议访问隔离存储桶的选项”

【讨论】:

我认为这不是正确的答案。我相信这个问题是针对同步网关安全的。 我不这么认为,要保护 Couchbase 中的数据,需要保护数据所在的存储桶。存储桶保护机制与 Couchbase 服务器一起开箱即用。 很明显提问者正在使用同步门、Couchbase 服务器、Couchbase Node SDK 和 Couchbase lite。 SASL 是该模型中安全性的一部分。然而,这句话:“所以,人们可以使用 REST API 来访问由他们的频道提供的所有数据。不是吗?” 让我相信他们在询问同步网关和沙发库之间的安全性精简版。

以上是关于Couchbase 服务器的访问安全的主要内容,如果未能解决你的问题,请参考以下文章

NoSQL文档型数据库Couchbase的生产部署最佳实践

Memcache升级版:CouchBase的安装配置与使用说明

我如何从 pyspark 访问 couchbase

Couchbase - 创建视图并立即访问其数据

Spring & Couchbase - 如何通过代码创建索引

couchbase 服务器是不是支持 Unix 域套接字?