SQL Server 2005 安全设置

原创 2007年09月19日 09:01:00
 总的来说,MS SQL 2005的安全性比SQL 2000要强上不少,不过默认设置还是有和原来一样的漏洞,下面我们来修改一下默认设置。

  1、修改默认SA密码。

  安装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_regaddmultistring xp_regdeletekey xp_regdeletevalue xp_regenumvalues
  xp_regread xp_regremovemultistring 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_regaddmultistring
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_regremovemultistring
exec master..sp_dropextendedproc sp_OACreate
DROP PROCEDURE sp_addextendedproc 


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

   5、使用IPSec策略阻止所有地址访问本机的TCP1433与UDP1434端口,也可对TCP1433端口进行修改,但是在SQL2005中,可以 使用TCP动态端口,(在SQL Server Configuration Manager的SQL 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'


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

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


  启用C2审核的命令为

EXEC sys.sp_configure N'c2 audit mode', N'1'

【SQL Server】SQL2005的安装与配置、简单使用

印象中,以前电脑不发达,自身编程经历不多的时候,由于Microsoft SQL Server版本众多,在不同版本的windows下必须要求装相应版本的SQL Server,否则有可能出现兼容性的问题,...
  • yongh701
  • yongh701
  • 2015年12月29日 20:30
  • 7596

sql server2005完全卸载与重装

注意: (1)该网站提供的msicuu2.exe和SRVINSTW.exe文件貌似有病毒,请自行搜索下载。msicuu2.exe 大约351kb ,SRVINSTW.exe 大约28 kb。msic...
  • linghao00
  • linghao00
  • 2013年02月15日 10:15
  • 18014

win7环境下完全卸载、安装SQL Server2005详细教程

win7环境下彻底删除重装SQL server2005  写在前面:现在普通用户基本普遍用的是WIN7系统,由于win7跟winxp系统安装数据库的差异给很多人带来了困扰,明明在xp下一步到底就装成...
  • u012019376
  • u012019376
  • 2014年12月27日 15:11
  • 2975

sql server2005安全管理之用户、角色、架构 与 权限

最后一步,为具体的用户设置具体的访问权限,这个可以参考下面的最简示例: --添加只允许访问指定表的用户: exec sp_addlogin '用户名','密码','默认数据库名' --添...
  • xushichang
  • xushichang
  • 2011年04月29日 09:46
  • 978

sql server2005安全管理之用户、角色、架构 与 权限

sql server2005安全管理之用户、角色、架构 与 权限 2008-12-04 16:47 --打开数据库 Use databaseName --创建角色 create...
  • pengxuan
  • pengxuan
  • 2011年11月13日 17:29
  • 4120

SQL Server 2005的安全管理

  • 2011年12月21日 14:30
  • 314KB
  • 下载

VS 2005开发安全的SQL Server 2005应用.rar

  • 2008年02月19日 14:12
  • 7.69MB
  • 下载

VS 2005开发安全的SQL Server 2005应用

  • 2008年07月23日 23:28
  • 7.69MB
  • 下载

asp.net 连接sql server 2005 数据库的设置

在Visual Studio 2005连接SQL Server 2000中,我们可能会知道,连接字符串会比较简单,一般远程连接的时候,只需要在Web.config文件配置如下: Time...
  • ImYancey
  • ImYancey
  • 2014年04月27日 10:37
  • 399

SQL server 2005远程访问设置

1、查看sqlserver服务的引用的实例名 以及默认端口 开始  -----> 程序--------------->microsoft SQL Server2005---------->配...
  • xiadingling
  • xiadingling
  • 2012年09月10日 10:16
  • 277
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL Server 2005 安全设置
举报原因:
原因补充:

(最多只允许输入30个字)