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

MSSQL
系统存储过程sp_MSforeachtable和sp_MSforeachdb使用说明
一些文件未注册导致mssql表文件无法找开的解决方法
用sql获取某字符串中的数字部分的语句
SQL 判断字段类型语句
MSSQL 生成日期列表代码
MSSQL 计算两个日期相差的工作天数的语句
SqlServer 实用操作小技巧集合
sql中all,any,some用法
最常用的SQL语句
SQL语法 分隔符理解小结
sql 服务器知识
隐藏在SQLServer 字段中的超诡异字符解决过程
将备份数据还原到数据库的步骤
SQL Server 高速缓存依赖分析
SQL 多表连接查询实现语句
sql convert函数使用小结
sqlserver2005 行列转换实现方法
跨服务器查询导入数据的sql语句
返回SQL执行时间的存储过程
MSSQL ISQL命令详解

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


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

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

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

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

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

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

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