我有一个连接到数据库服务器的应用程序服务器。我希望能够为用户提供安装程序,并以适度的舒适度相信数据库架构是安全的。
我知道,如果不控制安装它的计算机,我将不得不接受一些风险——一个拥有正确工具和知识的坚定的人可以直接查看内存并提取信息。
最初,我认为我的重点领域只是将凭据添加到安装程序,而无需在十六进制编辑器中轻松查看它们。
然而,当我开始研究时,我了解到对于 PostGreSQL,即使我静默安装数据库并且不向用户提供凭据——他们也可以简单地更改基于文本的配置文件 (pg_hba.conf),并且重新启动服务器,无需凭据即可完全访问数据库。
这种情况在其他 DBMS 中是否安全?在这种情况下,大多数商业产品如何保护它们的模式?大多数产品会使用嵌入式数据库吗?
编辑:我假设(也许是错误的)某些产品依赖于用户从未真正直接接触过的数据库。我当然从来没有见过他们,因为他们以用户不需要的方式设计了它 - 可能使用嵌入式数据库。