2014-02-13 70 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