我被指派开发一个应用程序,该应用程序将部署在 1000 多个位置。我对我正在使用的数据库有一些安全问题。我只想确保数据库对我的应用程序的可访问性。数据库包含有关数据库的一些非常敏感的信息(要转移资金的冻结银行账户编号),这些信息将保持只读状态,直到远程服务器允许(仅由我访问)。
我实现上述的想法如下,
- 在安装应用程序的过程中,sa 密码会被应用程序更改并且密码会被应用程序知道。
- 应用程序将禁用 Windows 身份验证,没有 Windows 用户将能够访问 sql management studio。
虽然我的担忧如下,
- 任何人在不同的安装中取消附加数据库并附加,数据库的访问权限将由用户获得。
- 我必须提供备份数据库的选项,用户可以在不同的安装中恢复数据库。
- 我想会有一些方法可以替换 ldf-mdf 文件,因为用户拥有完整的文件系统 Windows 访问权限。
我不介意用户是否获得对数据库的只读访问权限,但我会强烈坚持不允许对数据库进行写操作。
任何建议如何实现这一点。
示例: .net 的 SQLite 具有数据库加密等功能,可确保数据库对应用程序的访问,同时对文件系统具有完全访问权限,但不建议将 sqlite 用于大型应用程序,因为 SQLite 一次只支持单个写入器。