•为不同的数据库和表建立(并管理)不同的用户账号(讨厌!)
•为每个用户建立唯一的加密密钥,这样他们就可以访问他们存放在数据库中的自己的数据了(说起来容易做起来难!)
但是所有这些都没有完成整个画面。这里有太多的变数了。大多数数据库安全技术的问题是,如果前端应用程序或者经过授权的SQL Server账号可以访问并且解密敏感数据,那么那些进行SQL注入的攻击者或者破解了弱密码的人也可以做。最大多数情况中,无论你是在服务器上有一个单独的数据库,还是有多个数据库分散在多个系统中,这一点都是适用的。底线——如果你的前端应用程序虚弱的话,那么你的数据库中的敏感数据仍然是有风险的。
看看实现这些额外的数据库安全控制需要涉及多少方面。把你的方式解释给他们听,你如何分隔每个数据库,加密敏感信息等。胡,给他们一个你不能做的理由。按照你已经部署的其它控制,减少数据库分离和加密的需求,例如,输入过滤,强有力的认真,甚至是所有磁盘的加密,以防你的整个数据库服务器或者硬盘被偷去。还有,不要忽视利用好工具和人工评估进行的渗透测试。还有正式的利用一些工具的数据库安全审计,例如AppDetective 和NGSSQuirreL,甚至是源代码分析工具,例如Compuware, Ounce Labs, Fortify Software, SPI Dynamics, 和 Klocwork公司提供的针对你的应用程序的分析工具。
我想要说的是,数据库安全控制,例如分离和加密都不轻松或者便宜。尽管有一件事情是必然的——如果你把敏感数据和私人数据放在了你的数据库里面,那么它基本上是安全的,人们会开始问,你做了什么来保护它。你不会让它离开你的视线的。
转截请注明:文章来自 pc捍卫者 http://www.pchwz.com
本站发布此文为传递更多信息之目的,不表明pc捍卫者赞同其观点