两台服务器之间的安全通信

时间:2016-08-04 22:20:33

标签: security amazon-web-services networking amazon-ec2 hsm

我希望将用户的私钥安全地存储在单独的服务器上(我们称之为 B ),并且它用于签名,解密信息。 B 将密钥存储在数据库上(postgres)。服务器 A (公开)将信息发送到 B 。理想情况下, B 需要获取私钥,使用信息对令牌进行签名,然后将其发送回 A 。而不是将私钥发送到 A ,这可能是一个安全问题(如果服务器 A 受到威胁)。

我的选择是:

  1. 网络套接字
  2. Https请求(https://nodejs.org/api/https.html#https_https_request_options_callback
  3. 问题:

    1. 是否还有其他选项可以安全地与两台服务器通信?
    2. 如果服务器 B 在端口" 7000"如何确保只有服务器 A 可以访问它?
    3. HSM服务器如何帮助我的情况以及它如何与其他服务器通信(websocket或https请求)?
    4. 我可以采取简单的路线,并在端口" 7000"上连接服务器 B 的数据库。并运行来自 A 的查询,但正如我所说,它并不安全。我听说HSM处理/解密信息并将其发回,所以我可以做一些与普通服务器类似的事情。

      感谢任何帮助将不胜感激

      更新

      @zaph回答了问题2和3.

      问题:服务器 A 是否需要执行 https 请求并包含服务器的私有 ip 地址 B ,例如https://203.0.113.25?然后,服务器 B 将使用 API路由器来处理请求。但 ip 不是DNS,因此由于证书而无法正常工作。那么服务器如何通信,发送/接收数据呢?

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

1 个答案:

答案 0 :(得分:0)

对于其他人:使用安全组,对其进行配置,以便只有特定实例才能访问它。提出正常请求,例如:domain.com:PORT。 PORT是正在收听请求的实例......

  

指定安全组作为a的源或目标时   规则,该规则影响与安全性相关的所有实例   组。允许基于私有IP地址的传入流量   与源安全组关联的实例的数量   (而不是公共IP或弹性IP地址)。

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