我的任务是创建两个系统的集成应用程序架构。
我将运行一个 Ubuntu LTS 实例,其中有一个需要连接到我们客户端的 MSSQL 数据库的应用程序。
客户端数据库将托管在客户端基础设施中的服务器上,可以使用 Fortigate 连接到该服务器。
我的问题是关于连接不同网络中的两台机器时的最佳做法和安全性。据我所知,有很多方法可以做到这一点:
- 在我们客户端的公共 IP 地址上直接打开一个随机端口到客户端的 MSSQL 数据库是一个危险的举动。
- 在我们的 VM 上安装 Forticlient 会强制该 VM 只有一个隧道连接到一个客户端,这意味着每个 VM 一个客户端,这非常昂贵。
- 设置 Fortigate 路由器来创建到我们网络的多个 VPN 连接,但困难在于配置设备以具有不重叠的子网 IP 寻址,因为流行的 IP 网络(例如 192.168.1.x.)经常被占用。
最好的方法是什么? 目标是将我们的服务器与托管在其网络内不同客户端服务器上的许多数据库连接起来。我试图避免在客户端网络中设置任何类型的虚拟机并将数据推送给我们,因为维护多台机器比仅维护一台机器更困难。
编辑 我确实知道在客户端没有接口(例如公开数据库的 API)并通过 VPN 直接连接到数据库存在安全风险,但我试图了解选择 VPN 路由的权衡,因为我创建解决方案的时间有限。
权衡是:
- 开发解决方案的时间和难度
- 安全问题
- 可扩展性
客户端正在使用 Fortigate 管理其内部 VPN,目前我们正在尝试创建站点到站点 VPN 连接
答案1
虽然大多数企业 VPN 技术都会使用标准协议,但这些协议的配置隐藏在大量营销宣传的背后,迫使您在所有端点上使用相同的产品。遗憾的是,其中大多数都移植得很糟糕,在 Linux 上的支持也非常差。您一开始就提到了产品而不是协议,这让我觉得您已经陷入了这个陷阱。
使用“路由器”设备是一种快速解决方法,但如果您尚未运营车队,则很难维护安全性,并且很难提供支持。
而如果由我决定,我会考虑在客户端应用程序主机上终止相互认证的 SSL 隧道,或者在必要时使用 openvpn/tails。但您需要客户端可以支持的东西 - 我们对此一无所知。
与您的客户交谈并演练多种故障场景 - 监控如何检测问题?您如何运行诊断?您的客户如何运行诊断?