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

MSSQL
使用SQL Server数据库嵌套子查询的方法
SQL Server SQL Agent服务使用教程小结
五种提高 SQL 性能的方法
非常不错的SQL语句学习手册实例版
SQL语言查询基础:连接查询 联合查询 代码
SQL SERVER的优化建议与方法
简单的SQL Server备份脚本代码
sql基本函数大全
SQL查询语句精华使用简要
数据库分页存储过程代码
SQL查询连续号码段的巧妙解法
sql server中千万数量级分页存储过程代码
sql2000各个版本区别总结
如何远程连接SQL Server数据库图文教程
一个SQL语句获得某人参与的帖子及在该帖得分总和
通用分页存储过程,源码共享,大家共同完善
SQL查找某一条记录的方法
使用 GUID 值来作为数据库行标识讲解
非常详细的SQL--JOIN之完全用法
收缩后对数据库的使用有影响吗?

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


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

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

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

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

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

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

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