我的应用程序(PHP 论坛)和数据库位于不同的服务器上,我想确保它们之间的连接是安全的。我已所有初步步骤我已经知道了,并且想知道我是否应该通过 SSH 隧道或 OpenVPN 保护连接。
问题是,据我所知,SSH Tunnel 和 OpenVPN 会占用大量性能,尤其是当应用程序写入量很大时(即大量数据不断地传输到数据库和从数据库传输)。
我想知道的是,在现实世界中,人们是否使用 SSH 或 OpenVPN 连接应用程序和数据库服务器,或者他们认为这是不必要的,或者还有其他替代方案吗?
编辑(1):应用程序和数据库服务器通过我的托管服务提供商提供的专用网络连接,但我听说对于专用网络上的任何其他人(例如黑客)(即像我这样的其他客户)来说,它就像一个公共 IP 地址。
答案1
如果服务器位于同一个 LAN(或 EC2 VPC 等)上,则不会,我不会加密它们之间的数据。但是,如果流量穿越开放互联网(例如使用“传统”非 VPC EC2 服务器),则加密是个好主意。
话虽如此,我不会为此选择 OpenVPN 或 SSH 隧道。相反,我会考虑使用 IPSec,最有可能采用传输模式。这将加密数据包内容,但保留 IP 标头,这样您就不必费心处理路由。
我推荐使用 IPSec,而不是其他组件,因为一旦配置完成,它往往比其他两个选项稳定得多,而且从长远来看不需要太多的“摆弄”。