我正在构建一个数据库驱动的 Web 应用程序。该 Web 应用程序基本上是一个电子投票网站,用户可以在其中注册并就与他们的社区有关的事情进行投票……等等。
使用的数据库引擎是 SQL Server Express 2008。我知道我的域模型和应用程序代码不允许任何愚蠢的安全漏洞,例如用户查看其他用户的投票......等等。
但除此之外,我可以做些什么(免费)来确保我的数据库安全?所以即使黑客可以访问我的 Db,他也不能对它做任何事情?或者让他很难过。
我意识到这个问题可能有点开放性,但是一些简单的提示将不胜感激。
安全是一个非常广泛的话题,它完全取决于您公司的政策和您试图避免的威胁级别。
您可以在 SQL 2005 Express 中使用本机非对称加密,如SQL Server 2005 Express Edition - 第 6 部分 - 安装后配置任务(加密)和SQL Server 2005 安全 - 第 3 部分加密中所述。
您可以使用主密钥加密/证书/对称密钥。阅读:SQL SERVER – SQL Server 加密简介和带脚本的对称密钥加密教程
此外,如果您试图阻止已经可以通过某些第三方软件(如BitLocker或开源True Crypt )访问数据库服务器的黑客,您也可以在文件级别或整个磁盘上保护 sql server 备份。
Brian Kelley 有一篇关于使用 SQL Server 实施加密文件系统 (EFS)的有趣文章。
还有一份关于SQL Server 安全最佳实践的白皮书。