2016-08-04 79 views
0

我想安全地將用戶的私鑰存儲在單獨的服務器上(我們稱它爲B),並且它用於簽名,解密信息。 B將密鑰存儲在數據庫(postgres)中。服務器A(公共)發送信息B。理想情況下B需要獲得私鑰,用信息簽署該令牌並將其發送回A。而不是將私鑰發送到A,這可能是一個安全問題(如果服務器A受到威脅)。兩臺服務器之間的安全通信

我的選擇是:

  1. 網絡插座
  2. HTTPS請求(https://nodejs.org/api/https.html#https_https_request_options_callback

問題:

  1. 是否有任何其他選項,從而安全有兩個服務器進行通信?
  2. 如果服務器B是在端口「7000」我怎麼能確保只有服務器A可以訪問它?
  3. HSM服務器如何幫助我的情況,以及它如何與其他服務器通信(websocket或https請求)?

我可能只是採取簡單的方法,並連接端口「7000」服務器的數據庫,並運行一個查詢,但正如我說這是不是安全的。我聽說HSM處理/解密信息並將其發回,所以我儘管可以對普通服務器做類似的事情。

感謝任何幫助,將不勝感激


UPDATE

@zaph已回答問題2和3

問:請問服務器一個需要做https要求幷包含私人ip服務器地址B,例如https://203.0.113.25?然後服務器B將使用API路由器來處理該請求。但是ip不是DNS,因此它不會因證書而工作。那麼服務器如何通信,發送/接收數據呢?

參考:http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario3.html

+1

Q2。請勿將服務器B連接到Internet,請使用服務器B與服務器A上的第二個以太網端口之間的直接以太網連接。這種服務器B使服務器B像HSM一樣無篡改。 – zaph

+0

@zaph哈哈,謝謝篡改resstance是我需要:)而在使用HSM的情況下服務器A需要特別/不同配置?除了防篡改還有特殊功能嗎?你如何將信息存儲在HSM,存儲器或數據庫中? – user6227254

+0

downvoters下面的評論... –

回答

0

對於其他人:使用安全組,配置它們所以只有特定的實例可以訪問它。提出正常請求,例如:domain.com:PORT。端口是在聽請求實例...

當您指定一個安全組作爲源或目標的 規則,該規則影響與安全 組相關聯的所有實例。根據與源安全組 (而不是公用IP或彈性IP地址)關聯的實例的私有IP地址 ,允許傳入流量。

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html

相關問題