关于SQL Server 2000的安全配置

2016-01-29 16:43 18 1 收藏

关于SQL Server 2000的安全配置,关于SQL Server 2000的安全配置

【 tulaoshi.com - SQLServer 】

SQL Server 2000的安全配置在进行SQL Server 2000数据库的安全配置之前,首先你必须对操作系统进行安全配置,保证你的操作系统处于安全状态。然后对你要使用的操作数据库软件(程序)进行必要的安全审核,比如对ASP、PHP等脚本,这是很多基于数据库的WEB应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类似“,;@/”等字符,防止破坏者构造恶意的SQL语句。接着,安装SQL Server2000后请打上补丁sp3。 
  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_regdeletevalue 
Xp_regenumvalues Xp_regread Xp_regremovemultistring 
Xp_regwrite 

  还有一些其他的扩展存储过程,你也最好检查检查。在处理存储过程的时候,请确认一下,避免造成对数据库或应用程序的伤害。 
  5、使用协议加密 
  SQL Server 2000使用的Tabular Data Stream协议来进行网络数据交换,如果不加密的话,所有的网络传输都是明文的,包括密码、数据库内容等等,这是一个很大的安全威胁。能被人在网络中截获到他们需要的东西,包括数据库帐号和密码。所以,在条件容许情况下,最好使用SSL来加密协议,当然,你需要一个证书来支持。 
  6、不要让人随便探测到你的TCP/IP端口 
  默认情况下,SQL Server使用1433端口监听

来源:https://www.tulaoshi.com/n/20160129/1499381.html

延伸阅读
标签: SQLServer
SQL Server开发人员和管理员们都需要了解可用特性,只要他们安装了SQL Server 2005。这个最新的SQL Server 版本包含了一个经过改善的安全模型,可以对数据库服务器和里面的数据库对象进行更好的控制。在这篇文章中,我们将会重点讨论两个新的工具:表面区域配置工具和SQL 浏览器服务。我们还会讨论SQL Server配置管理器,虽然从SQL Server2000以...
标签: SQLServer
涉及程序: SQL Server 2000 Desktop Engine,MSDE 1.0 描述: MSDE/SQL Server 2000桌面引擎默认配置空口令漏洞 详细: Microsoft SQL Server Desktop Engine(MSDE)是一款Microsoft用来提供数据库管理服 务的产品. Microsoft SQL Server 2000 Desktop Engine是一款Microsoft分发的数据库SQL SERVER2000共享数据引擎。 Microsoft SQL...
视图的好处,它可以横纵分割表,在视图上的可以执行与在表上一至的操作,如:Insert、Update、Delete。这些操作与在表上的相应操作大至相同,不过也有些不同之处。在视图上进行操作的列是只属于视图的列,这些列不一定包含对应表中的所有列,所以在执行Insert操作或Update操作时,如果视图中有未被包含的列,并且这些列是Not NULL的,那么...
到网上下载以上三个软件并安装 jdk1.4安装目录:D:/jdk14 Tomcat5.0安装目录:D:/tomcat5 SQL Server2000安装目录默认 /////////////////////////////////////////////// 一、设置环境变量 Classpath D:jdk14libools.jar;D:jdk14libdt.jar; D:omcat5in;D:Program Files Microsoft SQL...
1.3.4 Profiler SQL Server Profiler 是一个图形化的管理工具用于监督记录和检查SQL Server 数据库的使用情况对系统管理员来说它是一个监视用户活动的间谍 1.3.5 Client Network Utility SQL Server Client Network Utility 用于配置客户端的连接测定网络库的版本信息以及设定本地数据库的相关选项 1.3.6 Server Netwo...

经验教程

980

收藏

80
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部