【问题标题】:Connect windows application to SQL Server througn VPN通过 VPN 将 windows 应用程序连接到 SQL Server
【发布时间】:2014-11-22 02:23:46
【问题描述】:

我们开发了一个基于云的 POS 系统,该系统在超过 75 个网点上运行,所有交易数据需要每 5 分钟发布到我们总部的相关数据库(POS 系统正在连接到它自己的本地数据库)。为此,我们使用的是通过 VPN 直接连接到我们总部数据库的 Windows 应用程序。但最近我们的一位客户提出了我们总部数据库暴露的担忧,因为如果有人潜入网络(显然是在 VPN 内部),他可以看到所有 CRUD 操作。所以通过这种方式,他可以对总部数据库做任何事情。

所以我们决定采用加密 JSON 调用的 WCF 解决方案。如果我们使用网络服务,我们可以完全消除这个问题。这是最佳做法吗?请指教。

【问题讨论】:

    标签: sql wcf vpn


    【解决方案1】:

    在您的情况下,有几个安全方面需要考虑。如果您当前的网络拓扑不将 VPN 客户端的可见性限制在您的数据库服务器上,那么是的,我同意转向发布 Web 服务端点并使用 HTTPS 将通过阻止客户端访问您内部网络上的其他服务器来提高安全性。但是,Web 服务解决方案引入了一些其他注意事项。您会使用防火墙规则来限制哪些客户端可以访问 Web 服务吗?您如何对客户端进行身份验证,以及如何保护这些凭据免受未经授权的用户的侵害?

    【讨论】:

    • 客户端只能看到数据库服务器。但需要考虑的是,如果有人监听 VPN,就有可能获得对数据库服务器的访问权限。因此,我们将使用一个 Web 服务,该 Web 服务将由客户端使用加密的 JSON 字符串调用,Web 服务将解密该 JSON 字符串并完成剩下的工作。我们的主要目的是从 VPN 中删除数据库服务器
    • "如果有人监听 VPN" - 您是否使用站点到站点 VPN,以便整个客户端网络连接到您的总部?我同意,这是一个风险。如果您要取消 VPN 并将 Web 服务放在公共 Internet 上,我需要某种强大的客户端身份验证来确保您只从客户端获取数据。除此之外,TLS 应该足以确保信息在传输过程中不会被窃听。
    • 您是否考虑过在 VPN 上加密您的 SQL 服务器连接?即使有人获得了 VPN 连接的访问​​权限,这也可以防止窃听。
    • 我们考虑在 SQL 服务器上安装证书并保护所有连接。但是我们需要从 VPN 中删除数据库。如果我们使用加密字符串,是否有任何安全漏洞?
    • 我不会在应用程序级别加密 JSON 字符串本身。我会使用 TLS (SSL) 来保护客户端和 Web 服务之间的连接。这可以防止任何窃听者了解有关通信的任何信息,除非它正在发生。如果您尝试在应用程序级别仅加密 JSON 字符串,您可能最终会使用对称加密算法,这会给您带来客户端上的密钥管理问题。使用 SSL 意味着您不必担心在客户端上存储密钥。
    猜你喜欢
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-08
    • 2011-07-06
    • 1970-01-01
    • 2015-10-20
    • 2018-07-07
    相关资源
    最近更新 更多