MSSQL 2000 安全设置1(一)

2014-11-24 08:31:15 来源: 作者: 浏览: 2

1、使用安全的密码策略

我们把密码策略摆在所有安全配置的第一步,请注意,很多数据库帐号的密码过于简单,这跟系统密码过于简单是一个道理。对于sa更应该注意,同时不要让sa帐号的密码写于应用程序或者脚本中。
健壮的密码是安全的第一步!
SQL Server2000安装的时候,如果是使用混合模式,那么就需要输入sa的密码,除非你确认必须使用空密码。这比以前的版本有所改进。
同时养成定期修改密码的好习惯。数据库管理员应该定期查看是否有不符合密码要求的帐号。
比如使用下面的SQL语句:
Use master
Select [name],[Password] from syslogins where [password] is null

2、使用安全的帐号策略

由于SQL Server不能更改sa用户名称,也不能删除这个超级用户,所以,我们必须对这个帐号进行最强的保护,当然,包括使用一个非常强壮的密码,最好不要在数据库应用中使用sa帐号,只有当没有其它方法登录到 SQL Server 实例(例如,当其它系统管理员不可用或忘记了密码)时才使用 sa。
建议数据库管理员新建立一个拥有与sa一样权限的超级用户来管理数据库。
安全的帐号策略还包括不要让管理员权限的帐号泛滥。
SQL Server的认证模式有Windows身份认证和混合身份认证两种。
如果数据库管理员不希望操作系统管理员来通过操作系统登陆来接触数据库的话,可以在帐号管理中把系统帐号“BUILTINAdministrators”删除。
不过这样做的结果是一旦sa帐号忘记密码的话,就没有办法来恢复了。
很多主机使用数据库应用只是用来做查询、修改等简单功能的,请根据实际需要分配帐号,并赋予仅仅能够满足应用要求和需要的权限。
比如,只要查询功能的,那么就使用一个简单的public帐号能够select就可以了。

3、加强数据库日志的记录

审核数据库登录事件的“失败和成功”,在实例属性中选择“安全性”,将其中的审核级别选定为全部,这样在数据库系统和操作系统日志里面,就详细记录了所有帐号的登录事件。

请定期查看SQL Server日志检查是否有可疑的登录事件发生,或者使用DOS命令。
findstr /C:"登录" d:Microsoft SQL ServerMSSQLLOG*.*

4、管理扩展存储过程

对存储过程进行大手术,并且对帐号调用扩展存储过程的权限要慎重。
其实在多数应用中根本用不到多少系统的存储过程,而SQL Server的这么多系统存储过程只是用来适应广大用户需求的,
所以请删除不必要的存储过程,
因为有些系统的存储过程能很容易地被人利用起来提升权限或进行破坏。
如果你不需要扩展存储过程xp_cmdshell请把它去掉。使用这个SQL语句:
use master
sp_dropextendedproc xp_cmdshell

xp_cmdshell是进入操作系统的最佳捷径,是数据库留给操作系统的一个大后门。
如果你需要这个存储过程,请用这个语句也可以恢复过来。

sp_addextendedproc xp_cmdshell, xpsql70.dll

如果你不需要请丢弃OLE自动存储过程(会造成管理器中的某些特征不能使用),这些过程包括如下:
Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty
Sp_OAMethod Sp_OASetProperty Sp_OAStop
去掉不需要的注册表访问的存储过程,注册表存储过程甚至能够读出操作系统管理员的密码来,如下:
Xp_regaddmultistring Xp_regdeletekey Xp_regdeleteva lue
Xp_regenumvalues Xp_regread Xp_regremovemultistring
Xp_regwrite
还有一些其他的扩展存储过程,你也最好检查检查。
在处理存储过程的时候,请确认一下,避免造成对数据库或应用程序的伤害。
附: Extended Stored Proc Removal and Restore Scripts
1.remove mssql2000 extended stored procedures.sql

use master
exec sp_dropextendedproc xp_cmdshell
go
exec sp_dropextendedproc xp_dirtree
go
exec sp_dropextendedproc xp_enumgroups
go
exec sp_dropextendedproc xp_fixeddrives
go
exec sp_dropextendedproc xp_loginconfig
go
exec sp_dropextendedproc xp_regaddmultistring
go
exec sp_dropextendedproc xp_regdeletekey
go
exec sp_dropextendedproc xp_regdeleteva lue
go
exec sp_dropextendedproc xp_regread
go
exec sp_dropextendedproc xp_regremovemultistring
go
exec sp_dropextendedproc xp_regwrite
go
exec sp_dropextendedproc xp_enumerrorlogs
go
exec sp_dropextendedproc xp_getfiledetails
go
exec sp_dropextendedproc xp_regenumvalues
go

2.restore mssql2000 extended stored procedures.sql

use master
exec sp_addextendedproc xp_cmdshell, xplog70.dll
go
exec sp_addextendedproc xp_dirtree, xpstar.dll
go
exec sp_addextendedproc xp_enumgroups, xplog70.dll
go
exec sp_addextendedproc xp_fixeddrives, xpstar.dll
go
exec sp_addextendedproc xp_loginconfig, xplog70.dll
go
exec sp_addextendedproc xp_regaddmultistring, xpstar.dll
go
exec sp_addextendedproc xp_regdeletekey, xpstar.dll
go
exec sp_addextendedproc xp_regdeleteva lue, xpstar.dll
go
exec sp_addextendedproc xp_regread, xpstar.dll
go
exec sp_addextendedproc xp_regremovemultistring, xpstar.dll
go
exec sp_addextendedproc xp_regwrite, xpstar.dll
go
exec sp_addextendedproc xp_enumerrorlogs, xpstar.dll
go
exec sp_addextendedproc xp_getfiledetails, xpstar.dll
go
exec sp_adde

-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: