2014-02-13 177 views
0

我正在开发基于Express框架的Node.js应用程序。在后端,我需要让服务器彼此交谈(即服务器1请求服务器2)。服务器到服务器通信的SSL证书替代

可以放弃DNS A-Record并只使用服务器的IP地址吗?

在这种情况下,我如何验证服务器和“客户端”(又名服务器)。我正在考虑要求服务器和“客户端”分别通过一个安全的cookie与他们的请求和响应。然后在采取任何其他行动之前验证安全cookie。

回答

1

使用IP可能比DNS更安全(例如,没有DNS欺骗),但它仍然允许ARP欺骗,例如,其他一些计算机声称拥有此IP。并且,如果两台计算机不在同一个网络中,也有办法劫持路由器中的请求等。

安全cookie没有别的作为共享密钥。与基于公钥的身份验证(例如使用证书)相反,共享秘密具有的缺点是您需要以安全的方式分发它们,以便其他人无法访问它们。

我不认为你的想法比带证书的SSL更容易处理,所以我没有看到自己制作安全协议的好处。历史告诉我们,这种自主开发的协议大多比现有的解决方案提供更差的安全性。

0

如果你不关心安全性(这些主机在你的网络上,你有信任),不要打扰自制饼干。

如果您关心安全性获取(或生成自己的)证书并使用SSL。

0

我正在考虑要求服务器和“客户端”分别通过一个安全的cookie与他们的请求和响应。然后在采取任何其他行动之前验证安全cookie。

这根本不安全!任何位于客户端和服务器之间的适当网络上的人都可以看到“安全cookie”以及任何后续通信。这将允许他们重新使用该cookie来模拟客户端或服务器,并且会公开在交换机中发送的任何敏感信息。

使用SSL。它已经解决了所有这些问题,等等。

+0

要说清楚,我会一直使用SSL。这个问题涉及验证每个服务器是谁,他们说他们是谁(即共享密钥,SSL证书等) –

+0

SSL已通过客户端证书支持。 – duskwuff