Linux

加密本地網路上的通信

  • October 2, 2014

我正在開發一個 Web 應用程序,該應用程序在與客戶端位於同一網路的本地伺服器上執行 - 基本上,每個客戶站點都將在網路上託管自己的伺服器,而不是中央 Web 伺服器。伺服器是 CentOS,客戶端是任何網路瀏覽器。

我想對網路瀏覽器和伺服器之間的通信進行加密,這樣網路上的其他人就很難看到客戶端和伺服器之間的通信。但是,由於客戶端不會通過公共 URL 訪問伺服器,我的理解是我不能使用簽名的 SSL 證書,這讓我很容易受到 SSL 證書注入攻擊。

我也無法控制正在安裝這些系統的網路,所以我不能可靠地進行 MAC 過濾或 IP 範圍過濾(儘管這些在很大程度上是無效的,所以不會有太大的損失)。

我的問題是: 1. 我是否正確理解這一點,或者我是否能夠使用 SSL?如果是這樣,怎麼做?2. 除了 SSL 證書,我還有哪些選擇?我寧願不求助於滾動我自己的加密,因為這必須在 JavaScript 中實現,這會讓我對攻擊者開放,只是在將加密程式碼傳遞給瀏覽器時重寫它。

感謝您的幫助/評論!

但是,由於客戶端不會通過公共 URL 訪問伺服器,我的理解是我不能使用簽名的 SSL 證書,這讓我很容易受到 SSL 證書注入攻擊。

那是胡說八道。沒有要求由受信任的 CA 簽名的證書只能用於可公開訪問的 URL。

其他選擇?IPSec、OpenVPN 等。但老實說,使用可信證書設置 SSL 可能是您最快、最簡單的選擇。讓您的客戶能夠將自己的密鑰/證書上傳到伺服器,然後他們可以決定是否要使用私有 CA 或公共 CA。

引用自:https://serverfault.com/questions/632928