当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server数据库安全管理经验谈

MSSQL
MySQL中SQL的单字节注入与宽字节注入
解决MySQL 5数据库连接超时问题
通过事务日志解决SQL Server常见四大故障
将SQL 2000日志迁移到SQL Server 2008
在应用环境中如何构造最优的数据库模式
数据库安全管理的三个经验分享
SQL Server应用程序的高级Sql注入
Oracle数据库与SQL Server数据库镜像对比
讲解SQL Server安装sp4补丁报错的解决方法
SQL Server 2005数据库批量更新解决办法
编写和优化SQL Server的存储过程
从数据行入手保护SQL Server数据安全
SQL Server数据体系和应用程序逻辑详解
网友分享:Oracle数据库开发技术经验浅谈
把你的数据库置于版本控制之下
SQL Server 2005实现数据库缓存依赖
SQL Server数据库管理常用SQL和T-SQL语句
初学者必读:提高SQL执行效率的几点建议
初探MS SQL CE+Codesmith
优化SQLServer数据库服务器内存配置的策略

MSSQL 中的 SQL Server数据库安全管理经验谈


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 108 ::
收藏到网摘: n/a

很长时间以前,我听说在SQL Server上工作要随时做好出现糟糕情况的心理准备。实际上,为了保护您的软件以防止恶意攻击,您最好先尝试自己攻击这些软件,恶意攻击可能来自怀有不满情绪的员工、出于经济目的犯罪活动或者竞争对手在试图获取您的用户列表等等。

您的代码可以帮助进行测试:编写一个存储过程然后用错误的输入格式来施展进攻,例如,在需要日期的地方,传递一个错误的日期或一个字符串,在需要货币格式的地方,输入一个日期等等。

作为一个数据库管理员,您应当阻挡各种攻击,并将这些攻击方法写在一个存储过程或者UDF中,然后对系统进行测试。如果存在安全隐患,那么将这些问题向前台软件的作者进行汇报也是您的职责所在。

没有意义的输入应当尽可能地被前台软件阻挡在外,错误的和恶意的输入(也就是具有破坏性但并不是完全没有实意的信息)可能会通过前台软件的检测,这时,您应当在此处与它们展开战斗。

最安全的办法是强制前台软件调用存储过程或者UDF,这样,SQL Server将会处理通过了前台软件检测的这些有问题的输入,然后将它们退回,这样,问题就回到了前台软件的开发团队,您可以将错误号码、您的存储过程中自定义的文本一同递交给开发团队,或者什么都不必做,就等着错误自己浮出水面。

相信我(或者最好不要相信我),总有一天会有人恶意进攻您的数据库,如果您没有任何防备,那就等于将数据库大门的钥匙拱手相送。