KZD*_*KZD -1 security sql-server encryption locking
我想知道是否有任何关于保护数据库结构的更新?我们提供了一个使用 SQL 作为其主要 DBMS 的许可应用程序,我们希望锁定数据库结构(模式)。
我知道我可以自己加密数据和存储过程......等。我想要最佳实践来加密/保护/锁定来自终端客户端 DBA 的数据结构和关系。
在我们安装和修复应用程序时,我可以访问最终客户端物理服务器。
该应用程序是使用 linq to sql 用 C# 编写的
恐惧是使用数据库方案对解决方案进行逆向工程(并且已经发生过一次)。所以我们需要在安全的环境中运行我们的应用程序,它只使用本地数据库。
Microsoft 没有提供此功能:https : //docs.microsoft.com/en-us/sql/relational-databases/security/protecting-your-sql-server-intellectual-property?view=sql-server-2017
我想知道是否有任何关于保护数据库结构的更新?
简短的回答是没有变化,这是一个傻瓜的差事。
我想要最佳实践来加密/保护/锁定来自终端客户端 DBA 的数据结构和关系。
使用 SQL Server,没有一个。如果您想这样做,请为数据层做一些完全合适的事情。
恐惧是使用数据库方案对解决方案进行逆向工程(并且已经发生过一次)。
然后,这应该通过诉讼或通过将数据层更改为鲜为人知或适当的内容来解决。我讨厌默默无闻的安全性,因为它根本不起作用,所以只要没有人真正关心反转您的代码或附加调试器,适当的就会起作用。
这是您将继续面临的问题,无论如何 - 适当的,加密的,或其他任何......另一方拥有硬件,因此可以复制硬件/软件,然后将调试器连接到它并查看他们的任何内容想。这取决于您权衡选择和选择保护方案的选项。
SQL Server 管理员可以看到数据库中的所有内容(架构明智),并且如果硬件所有者没有管理登录(同样是他们拥有硬件),则可以轻松接管实例。具有足够权限的数据库用户可以查看架构。事实上,只要使用您的应用程序,用户就可以猜测大部分模式,更不用说您是否有任何输入区域,他们可能会滥用这些区域来查找更多信息。
所以我们需要在安全的环境中运行我们的应用程序,它只使用本地数据库。
如果他们拥有硬件,这是不可能的,因为环境不再安全。
我们无法使用 Azure,因为客户端站点没有 Internet 连接。
这意味着你也不能在本地托管它,它只能在他们的地方使用——同样,你真的不能做任何事情,因为它会增加你的软件的巨大财务和技术负担。
你真的无能为力,使用诉讼作为一种手段来阻止或经济上破坏那些违反规则的人。
| 归档时间: |
|
| 查看次数: |
233 次 |
| 最近记录: |