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

MSSQL
SQL Server:SQL Server Maintenance Plan Wizard
SQL Server:SQL mai的配置和使用,你有所研究吗?
SQLServer:数据库的定时作业设置(经典)
SQL Server:小编浅谈SQL全文本检索方法
SQL Server:小编经验谈设计数据库表和字段
SQL Server:小编浅谈数据库完整性之约束
SQL Server:容易忽视的动态约束
SQL Server:时态数据库的时间间隔
SQL Server:浅谈数据库的安全性
SQL Server:不得不看的数据库设计技巧(看了终身受益)
SQL Server:数据库中的快照
SQL Server:数据库管理中关系代数的语法
SQL Server:关系代数中的语义
验证SQL保留字
精妙的SQL语句
SQL Server 数据库管理常用的SQL和T-SQL语句
SQL SERVER 与ACCESS、EXCEL的数据转换
SQL SERVER的数据类型
未公开的SQL Server口令的加密函数
SQl 语句(常见)

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


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

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

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

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

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

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

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