专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »安全防护 » mssql数据库:MSSQL 2005数据库安全设置(图) »正文

mssql数据库:MSSQL 2005数据库安全设置(图)

来源: 发布时间:星期四, 2009年3月12日 浏览:0次 评论:0
拿到MS SQL 2005还没有来说MS SQL 2005安全性比SQL 2000要强上不少不过默认设置还是有和原来漏洞下面我们来修改下默认设置

1、安装MSSQL时使用混合模式当然SA密码最好不能为空在SQL2005中可以对SA这个超级用户名进行修改或删除
use master
ALTER LOGIN [sa] WITH NAME=[zxs] /*修改SA帐号*/
sp_password '111111','123456','sa' /*修改SA密码*/
使用以上命令可修改SA帐号也可进行图形化修改
使用安全帐号策略对SA或等同用户进行最强保护当然包括使用个非常强壮密码如下图



这里可以看到SQL 2005比SQL 2000 增强地方了

2、SQL认证有Windows身份认证和混合身份认证在2005中登陆SQL可以使用indows身份认证和混合身份认证方便如果不希望系统管理员接触数据库可以在安全性登录名是把系统帐号“BUILTIN\Administrators”删除当然还有别多余帐号也可同禁止只需要在帐号属性状态中把是否允许连接到数据库引擎改为拒绝还有登录改为禁用即可不过这样坏处就是当你忘了SA密码时我也没办法帮你啦



也可用命令sp_change_users_login 'report' 搜索下独立帐户再删除

3、管理扩展存储过程
删除不必要存储过程有些存储过程能很容易地被人利用起来提升权限或进行破坏
如果你不需要扩展存储过程xp_cmdshell请把它去掉xp_cmdshell根本就是个大后门

如果不需要请丢弃OLE自动存储过程(会造成管理器中某些特征不能使用)这些过程包括如下:
sp_OACreate sp_OADestroy sp_OAGetErrorInfo sp_OAGetProperty
sp_OAMethod sp_OASetProperty sp_OAStop
去掉不需要注册表访问存储过程注册表存储过程甚至能够读出操作系统管理员密码来如下:
xp_regaddmulti xp_regdeletekey xp_regdeletevalue xp_regenumvalues
xp_regread xp_regremovemulti xp_regwrite
还有些其他扩展存储过程你也最好检查检查
在处理存储过程时候请确认避免造成对数据库或应用伤害运行以下SQL语句可删除所有危险SP

DROP PROCEDURE sp_makewebtask
exec master..sp_dropextendedproc xp_cmdshell /*命令行*/
exec master..sp_dropextendedproc xp_dirtree /*可以展开你需要了解目录获得所有目录深度*/
exec master..sp_dropextendedproc xp_fileexist /*用来确定个文件是否存在*/
exec master..sp_dropextendedproc xp_getnetname /*可以获得服务器名称*/
exec master..sp_dropextendedproc xp_terminate_process
exec master..sp_dropextendedproc sp_oamethod
exec master..sp_dropextendedproc sp_oacreate
exec master..sp_dropextendedproc xp_regaddmulti
exec master..sp_dropextendedproc xp_regdeletekey
exec master..sp_dropextendedproc xp_regdeletevalue
exec master..sp_dropextendedproc xp_regenumkeys
exec master..sp_dropextendedproc xp_regenumvalues
exec master..sp_dropextendedproc sp_add_job
exec master..sp_dropextendedproc sp_addtask
exec master..sp_dropextendedproc xp_regread
exec master..sp_dropextendedproc xp_regwrite
exec master..sp_dropextendedproc xp_readwebtask
exec master..sp_dropextendedproc xp_makewebtask
exec master..sp_dropextendedproc xp_regremovemulti
exec master..sp_dropextendedproc sp_OACreate
DROP PROCEDURE sp_addextendedproc

5、SQL Server 2005本身就具有加密功能完全集成了个密钥管理架构不过最好远程网络连接时使用SSL来加密协议这就需要个证书来支持这里搜索下就会有很多这方面介绍说明就不多说了

6、使用IPSec策略阻止所有地址访问本机TCP1433和UDP1434端口也可对TCP1433端口进行修改但是在SQL2005中可以使用TCP动态端口(在SQL Server Configuration ManagerSQL 2005网络配置中)如下图



这是SQL帮助中介绍说明
如果某个 SQL Server 例子已配置为侦听动态端口则在启动时该例子将检查操作系统中可用端口并为该端口打开个端点传入连接必须指定要连接端口号由于每次启动 SQL Server 时端口号都可能会改变因此 SQL Server 提供 SQL Server 浏览器服务器来监视端口并将传入连接指向该例子当前端口
也可对每个IP进行侦听



这是SQL帮助中介绍说明
指定 SQL Server 是否侦听所有绑定到计算机网卡 IP 地址如果设置为“否”则使用每个 IP 地址各自属性对话框对各个 IP 地址进行配置如果设置为“是”则 IPAll 属性框设置将应用于所有 IP 地址默认值为“是”

当然你也可以下面SQL Native Client 配置中新建别名来指定你SQL服务器和端口也可在服务器属性连接==远程服务器链接把允许远程链接到本服务器勾去掉
关闭远程链接命令行为
EXEC sys.sp_configure N'remote access', N'0'

8、对远程网络连接进行IP限制SQL Server 2005如同SQL 2000样没有提供网络连接安全解决办法但是Windows 2K以上系统了提供了IPSec策略对远程网络连接IP进行限制只保证需要IP能够访问拒绝其他 IP进行端口连接把安全威胁降到最低

9、在服务器属性安全中启用登录审核中失败和成功登陆启用C2审核跟踪C2是个政府安全等级它保证系统能够保护资源并具有足够审核能力C2模式允许我们监视对所有数据库实体所有访问企图如图



启用C2审核命令为
EXEC sys.sp_configure N'c2 audit mode', N'1'

以上思路方法不是很完整时间关系以后再慢慢研究



0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: