繁体   English   中英

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

[英]Secure communication between two servers

我想将用户的私钥安全地存储在单独的服务器上(简称为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”上连接服务器B的数据库,并从A运行查询,但是正如我所说的那样,它并不安全。 我听说HSM处理/解密信息并将其发送回去,所以尽管我可以对普通服务器执行类似的操作。

谢谢任何帮助,将不胜感激


更新

@zaph回答了问题2和3。

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

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

对于其他用户:使用安全组,对其进行配置,以便仅特定实例可以访问它。 发出正常请求,例如: domain.com:PORT : domain.com:PORT PORT是正在侦听请求的实例...

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM