gpt4 book ai didi

sql-server - 保护多个桌面应用程序直接调用的 SQL Azure 数据库

转载 作者:行者123 更新时间:2023-12-03 02:25:34 26 4
gpt4 key购买 nike

我继承了 Azure 中托管的 SQL Server 数据库的支持。

各个用户的桌面上安装了 5 - 10 个访问此数据库的 WPF 应用程序。

由于住宅宽带的原因,用户都拥有具有动态 IP 的个人 PC(即不由组织集中管理)。

应用程序通过 ADO 连接直接连接到数据库。

应用程序的所有实例都使用一个用户名和强密码(大约 40 个字符)。

未加密的凭据仅存储在密码保险箱中,而不存储在 GitHub 或其他任何地方等。

连接字符串经过严格加密,存储在 app.config 中,并在运行时在应用程序的工作内存中进行解码。

数据库已启用 TLS 安全性(即静态加密)。 PII 数据以及银行帐户详细信息存储在数据库中(注意:财务详细信息存储在额外加密的列中)

已通过将所有 IP 地址列入白名单来授予数据库访问权限:

enter image description here

从安全角度来看,此设置可以接受吗?如果没有,需要改变什么或者可以做些什么来改进?

这个问题与我发现的另外两个帖子类似,Is Azure SQL secure when using it for a desktop program?How can I allow unknown users to access my SQL (Azure) DB?

我相信我的问题与这些问题足够不同,因为那里的答案基本上分为两个阵营 1)。 “将所有 IP 列入白名单”和 2)。 “引入中间层”。

虽然我在构建 WebAPI 服务方面经验丰富,但我并不认为在数据库前面使用 HTTPS 引入中间 Web 服务层一定会使其更安全(如果我错了请告诉我)。

理想情况下,为了简单起见,我希望保留当前的架构,但让自己满意的是,从安全角度来看,该设置是可以接受的。

最佳答案

问题是您的 Azure SQL 数据库有一个公共(public)终结点 .database.windows.net。因此,通过允许任何 IP 访问数据库,您将删除防火墙规则安全层,并且您的数据库将面临恶意攻击。这不被视为安全最佳实践。这就是为什么总是建议使用这种“中间层”解决方案来解决动态 IP 的问题。

您可以在此处找到更多信息和可能的解决方案(私有(private)端点、VPN S2S):https://learn.microsoft.com/en-us/azure/azure-sql/database/security-best-practice#minimize-attack-surface

关于sql-server - 保护多个桌面应用程序直接调用的 SQL Azure 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67164316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com