SQL Server 2000的安全配置

原创 2007年09月19日 15:40:00

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身份认证和混合身份认证两种。如果数据库管理员不希望操作系统管理员来通过操作系统登陆来接触数据库的话,可以在帐号管理中把系统帐号“BUILTIN/Administrators”删除。不过这样做的结果是一旦sa帐号忘记密码的话,就没有办法来恢复了。很多主机使用数据库应用只是用来做查询、修改等简单功能的,请根据实际需要分配帐号,并赋予仅仅能够满足应用要求和需要的权限。比如,只要查询功能的,那么就使用一个简单的public帐号能够select就可以了。 

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

  审核数据库登录事件的“失败和成功”,在实例属性中选择“安全性”,将其中的审核级别选定为全部,这样在数据库系统和操作系统日志里面,就详细记录了所有帐号的登录事件。请定期查看SQL Server日志检查是否有可疑的登录事件发生,或者使用DOS命令。findstr /C:"登录" d:/Microsoft SQL Server/MSSQL/LOG/*.* 

  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_regdeletevalue 

  Xp_regenumvalues Xp_regread Xp_regremovemultistring 

  Xp_regwrite 

  还有一些其他的扩展存储过程,你也最好检查检查。在处理存储过程的时候,请确认一下,避免造成对数据库或应用程序的伤害。 

  5、使用协议加密 

  SQL Server 2000使用的Tabular Data Stream协议来进行网络数据交换,如果不加密的话,所有的网络传输都是明文的,包括密码、数据库内容等等,这是一个很大的安全威胁。能被人在网络中截获到他们需要的东西,包括数据库帐号和密码。所以,在条件容许情况下,最好使用SSL来加密协议,当然,你需要一个证书来支持。 

  6、不要让人随便探测到你的TCP/IP端口 

  默认情况下,SQL Server使用1433端口监听,很多人都说SQL Server配置的时候要把这个端口改变,这样别人就不能很容易地知道使用的什么端口了。可惜,通过微软未公开的1434端口的UDP探测可以很容易知道SQL Server使用的什么TCP/IP端口了。不过微软还是考虑到了这个问题,毕竟公开而且开放的端口会引起不必要的麻烦。在实例属性中选择TCP/IP协议的属性。选择隐藏 SQL Server 实例。如果隐藏了 SQL Server 实例,则将禁止对试图枚举网络上现有的 SQL Server 实例的客户端所发出的广播作出响应。这样,别人就不能用1434来探测你的TCP/IP端口了(除非用Port Scan)。 

  7、修改TCP/IP使用的端口 

  请在上一步配置的基础上,更改原默认的1433端口。在实例属性中选择网络配置中的TCP/IP协议的属性,将TCP/IP使用的默认端口变为其他端口. 

  9、拒绝来自1434端口的探测 

  由于1434端口探测没有限制,能够被别人探测到一些数据库信息,而且还可能遭到DOS攻击让数据库服务器的CPU负荷增大,所以对Windows 2000操作系统来说,在IPSec过滤拒绝掉1434端口的UDP通讯,可以尽可能地隐藏你的SQL Server。 

  10、对网络连接进行IP限制   

sqlserver安全加固

sqlserver必要的安全加固,避免使用普通用户登录后获取到不应该看见的系统信息....
  • yangzhawen
  • yangzhawen
  • 2015年03月13日 14:02
  • 1427

关于SQL Server 2000的安全配置

SQL Server 2000的安全配置在进行SQL Server 2000数据库的安全配置之前,首先你必须对操作系统进行安全配置,保证你的操作系统处于安全状态。然后对你要使用的操作数据库软件(程序)...
  • HotSummerGhost
  • HotSummerGhost
  • 2006年09月23日 11:26
  • 648

java连接SQL server 2000 详细步骤

java连接SQL server 2000 详细步骤(2008-07-03 21:05:50)标签:杂谈  分类:摸索的java参考资料地址 :http://hi.baidu.com/river200...
  • dxpws
  • dxpws
  • 2009年04月06日 19:25
  • 8621

sql server2000中的SSL安全错误的解决办法

前几次都用的好好的,今天打开sql server 2000企业管理器和查询分析器,都连不上服务器,一直提示:SSL安全错误 connectionopen(secdoclienthandshake())...
  • hudie1234567
  • hudie1234567
  • 2010年09月14日 21:54
  • 1685

SQL Server 2000安全配置

数据库是电子商务、金融以及ERP系统的基础,通常都保存着重要的商业伙伴和客户信息。大多数企业、组织以及政府部门的电子数据都保存在各种数据库中,他们用这些数据库保存一些个人资料,比如员工薪水、个人资料等...
  • David_Jin
  • David_Jin
  • 2007年10月18日 09:51
  • 824

使用JDBC 连接 Microsoft SQL Server 2000

 如何使用JDBC 连接 Microsoft SQL Server 2000 1.      安装JDBC驱动程序 JDBC驱动程序实际上就是指三个.jar包,他们是msbase.jar,msutil...
  • geruger
  • geruger
  • 2006年09月20日 11:35
  • 950

关于SQL server 2000中的权限和角色

       在上一篇文章中,我没有把权限和角色说的太清楚。因为的当时我也不知道该如何说,这隐含的意思就是我对这两个的关系不是很理解。查了些资料,有些理解,现在记下了。不对的话再改吧。       使...
  • the_fire
  • the_fire
  • 2009年06月01日 13:06
  • 879

SQL Server 2000 中的扩展存储过程

·XP_cmdshellxp_cmdshell 操作系统命令外壳 这个过程是一个扩展存储过程,用于执行指定命令串,并作为文本行返回任何输出。语法:    xp_cmdshell command_str...
  • vince6799
  • vince6799
  • 2006年02月15日 14:44
  • 1770

SQL Server2000系列教程(二)---企业管理器

[转帖]SQL Server2000系列教程(二)---企业管理器昨天我们学习了如何安装SQL Server 2000,今天我们就来学一些简单的应用。首先来看看企业管理器。从“开始”菜单上的程序组的“...
  • tanghc1983
  • tanghc1983
  • 2007年04月14日 03:47
  • 4385

sql server 2000 的网络配置

  • xys_777
  • xys_777
  • 2010年06月21日 13:20
  • 1145
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL Server 2000的安全配置
举报原因:
原因补充:

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