我有两个服务器(server1 & server2)
Server1需要向server2发送一个文件才能进行处理。
如何在这两个服务器之间建立安全连接,以便确保文件仅从server1发送,而没有人模拟该服务器并发送其他文件?
因为这两个服务器使用nodejs,所以我想到了JWT,所以server1发送一个令牌和server2来验证。
我也可以检查IP,但我想知道是否有更安全的方法。
发布于 2022-02-09 14:48:30
您可能需要考虑通过ssh协议将文件从服务器a传输到服务器b,使用安全的文件复制工具(如scp )。
为了防止攻击者(如MITM)模拟服务器b,可以通过将服务器b的公钥存储在服务器a的known_hosts
文件中,将服务器b的公钥固定在服务器a上。当服务器a连接到服务器b以传输文件时,服务器a上的ssh客户端将验证服务器b显示的公钥是否与known_hosts
文件中固定的公钥相同,而服务器a拥有与此公钥匹配的私钥。这使得另一台服务器很难模拟服务器b。
为了防止攻击者模拟服务器a,可以将服务器a的公钥存储在服务器b的authorized_keys
文件中,并将服务器b上的sshd服务器配置为使用基于公钥的身份验证,其中只允许来自公钥位于authorized_keys
文件中的客户端的连接。
https://security.stackexchange.com/questions/259464
复制相似问题