CouchDB中的基本HTTP身份验证是否足够安全,可以跨EC2区域进行复制?

时间:2011-08-13 16:17:36

标签: security http authentication couchdb replication

我可以理解,在同一句话中看到“基本认证”和“足够安全”就像阅读“没有降落伞跳伞仍然安全吗?”,所以我会尽力澄清我得到的东西在

从我在网上看到的情况来看,人们通常将基本的HTTP身份验证描述为由于凭证以明文形式从客户端传递到服务器而不安全;这使得您可以通过网络配置中的恶意人员或中间人嗅探您的凭据,您的流量可能会通过不受信任的访问点(例如,咖啡店的开放式AP)。

为了确保您和服务器之间的对话安全,解决方案通常是使用基于SSL的连接,您的凭据可能以纯文本形式发送,但您和服务器之间的通信通道本身是安全的。< / p>

所以,在我的问题上......

在将一个CouchDB实例从一个区域(例如us-west)中的EC2实例复制到另一个区域(例如新加坡)的另一个CouchDB实例的情况下,网络流量将穿过我认为的路径“可靠的“骨干服务器。

鉴于(假设我没有复制高度敏感的数据),任何人/每个人都会认为CouchDB复制的基本HTTP身份验证足够安全吗?

如果没有,请说明我在这里缺少哪些方案会使这种设置无法接受。我确实理解敏感数据这是不合适的,我只是想更好地理解在相对可信赖的网络上复制的非敏感数据的细节。

3 个答案:

答案 0 :(得分:5)

鲍勃是对的,最好小心谨慎,但我不同意。鲍勃在这种情况下可能是正确的(详见下文),但他的一般方法的问题是它忽略了偏执的代价。它在桌子上留下了“和平红利”的钱。我更喜欢Bruce Schneier的评估,认为这是一种权衡。

简短回答

立即开始复制!不要担心HTTPS。

最大的风险不是电线嗅探,而是你自己的人为错误,其次是软件错误,这可能会破坏或破坏你的数据。 制作副本!。如果您要定期复制,请计划转移到HTTPS或类似的东西(SSH隧道,stunnel,VPN)。

原理

使用CouchDB 1.1,HTTPS是否容易?它就像HTTPS一样容易,换句话说,不,不容易。

您必须制作SSL密钥对,购买证书或运行自己的证书颁发机构 - 当然,您并不愚蠢到自我签名!从远程沙发上可以清楚地看到用户的哈希密码!为防止破解,您是否会实施双向SSL身份验证? CouchDB支持吗?也许你需要VPN呢?你的密钥文件的安全性如何?不要将它们检入Subversion!并且不要将它们捆绑到您的EC2 AMI中!这违背了目的。你必须将它们分开并保持安全。从备份部署或还原时,请手动复制它们。此外,密码保护它们,所以如果有人获取文件,他们不能窃取(或更糟,修改!)您的数据。启动CouchDB或复制时,必须手动输入密码才能复制。

简而言之,每项安全决策都有成本。

一个类似的问题是,“我应该在晚上锁房子吗?这取决于。你的个人资料说你在Tuscon,所以你知道有些社区是安全的,有些则没有。是的总是把所有的门都锁在门上总是比较安全。但是你的时间和心理健康成本是多少?这个比喻有点因为最坏情况安全准备的时间远远超过扭曲螺栓锁。

亚马逊EC2是一个中等安全的社区。主要风险是对常见错误进行机会性,广谱扫描。基本上,有组织犯罪是扫描常见的SSH帐户和Wordpress等网络应用程序,因此他们可以使用信用卡或其他数据库。

你是一个巨大的海洋中的小鱼。没有人特别关心你。除非你是政府或有组织犯罪的特定目标,或者是有资源和动力的人(嘿,这是发生的CouchDB!),否则担心这个蠢货者是无效的。你的敌人正在投入广泛的网络以获得最大的收获。没有人试图捕鱼。

我把它看作高中积分:测量曲线下的面积。时间向右(x轴)。风险行为上升(y轴)。当你做一些有风险的事情时,你节省了时间和精力,但是图表上升了。当您以安全的方式执行某些操作时,会花费时间和精力,但图表会向下移动。您的目标是尽量减少曲线下的长期面积,但每个决策都是逐案决定的。每天,大多数美国人乘坐汽车:美国人生活中最危险的行为。我们直观地了解风险 - 收益权衡。互联网上的活动是一样的。

答案 1 :(得分:4)

正如您所暗示的那样,没有传输层安全性的基本身份验证是100%不安全的。 EC2上可以嗅探您的数据包的任何人都可以看到您的密码。假设没有人可以是一个错误。

在CouchDB 1.1中,您可以启用本机SSL。在早期版本中,使用stunnel。添加SSL / TLS保护非常简单,没有理由不这样做。

答案 2 :(得分:1)

我刚从亚马逊发现这个声明,可能有助于任何人试图了解EC2上数据包嗅探的风险。

  

其他租户的数据包嗅探:在混杂模式下运行的虚拟实例无法接收或“嗅探”针对其他租户的流量。虽然客户可以将其接口置于混杂模式,但虚拟机管理程序不会向他们提供任何未发送给他们的流量。这包括由同一客户拥有的两个虚拟实例,即使它们位于同一物理主机上也是如此。 ARP缓存中毒等攻击在EC2中不起作用。虽然Amazon EC2确实为无意或恶意尝试查看其他客户的客户提供了充分的保护,但作为标准做法,客户应加密敏感流量。

http://aws.amazon.com/articles/1697