`
chilongxph
  • 浏览: 138302 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

sql server 2000数据库安全问题

阅读更多
1.使用健壮安全的密码策略
    很多数据库帐号的密码过于简单,这跟系统密码过于简单是一个道理。对于sa更应该注意,同时不要让sa帐号的密码写于应用程序或者脚本中。健壮的密码是安全的第一步!SQL Server2000安装的时候,如果是使用混合模式,那么就需要输入sa的密码,除非你确认必须使用空密码。这比以前的版本有所改进。同时养成定期修改密码的好习惯。数据库管理员应该定期查看是否有不符合密码要求的帐号。
    比如使用下面的SQL语句:
    Use master
    Select name,Password from syslogins where password is null
    要分配sa密码,请按下列步骤操作:
  1) 展开服务器组,然后展开服务器。
  2) 展开安全性,然后点击登录。
  3) 在细节窗格中,右键点击SA,然后点击属性。
  4) 在密码方框中,输入新的密码。
2.2.使用安全的帐号策略和Windows认证模式
    由于SQL Server不能更改sa用户名称,也不能删除这个超级用户,所以,我们必须对这个帐号进行最强的保护,当然,包括使用一个非常强壮的密码,最好不要在数据库应用中使用sa帐号,只有当没有其它方法登录到 SQL Server 实例(例如,当其它系统管理员不可用或忘记了密码)时才使用 sa。建议数据库管理员新建立个拥有与sa一样权限的超级用户来管理数据库。安全的帐号策略还包括不要让管理员权限的帐号泛滥。
    SQL Server的认证模式有Windows身份认证和混合身份认证两种。在任何可能的时候,您都应该对指向SQL Server的连接要求Windows身份验证模式。
    Windows认证模式比混合模式更优越,原因在以下:
    1) 它通过限制对Microsoft Windows用户和域用户帐户的连接,保护SQL Server免受大部分Internet工具的侵害。
    2) 服务器将从Windows安全增强机制中获益,例如更强的身份验证协议以及强制的密码复杂性和过期时间 。
    3) 使用Windows认证,不需要将密码存放在连接字符串中。存储密码是使用标准SQL Server登录的应用程序的主要漏洞之一。
    4) Windows认证意味着你只需要将密码存放在一个地方。
    要在SQL Server的Enterprise Manager安装Windows身份验证模式,请按下列步骤操作:
    1)展开服务器组。
    2)右键点击服务器,然后点击属性。
    3)在安全性选项卡的身份验证中,点击仅限Windows。
3.在防火墙上禁用SQL Server端口
SQL Server的默认安装将监视TCP端口1433以及UDP端口1434。配置您的防火墙来过滤掉到达这些端口的数据包。而且,还应该在防火墙上阻止与指定实例相关联的其他端口。  默认情况下,SQL Server使用1433端口监听,很多人都说SQL Server配置的时候要把这个端口改变,这样别人就不能很容易地知道使用的什么端口了。可惜,通过微软未公开的1434端口的UDP探测可以很容易知道SQL Server使用的什么TCP/IP端口了。不过微软还是考虑到了这个问题,毕竟公开而且开放的端口会引起不必要的麻烦。在实例属性中选择TCP/IP协议的属性。选择隐藏 SQL Server 实例。如果隐藏了 SQL Server 实例,则将禁止对试图枚举网络上现有的 SQL Server 实例的客户端所发出的广播作出响应。这样,别人就不能用1434来探测你的TCP/IP端口了(除非用Port Scan)。

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

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

 5.拒绝来自1434端口的探测
  由于1434端口探测没有限制,能够被别人探测到一些数据库信息,而且还可能遭到DOS攻击让数据库服务器的CPU负荷增大,所以对Windows 2000操作系统来说,在IPSec过滤拒绝掉1434端口的UDP通讯,可以尽可能地隐藏你的SQL Server。
6.审核指向SQL Server的连接
    SQL Server可以记录事件信息,用于系统管理员的审查。至少您应该记录失败的SQL Server连接尝试,并定期地查看这个日志。在可能的情况下,不要将这些日志和数据文件保存在同一个硬盘上。
  要在SQL Server的Enterprise Manager中审核失败连接,请按下列步骤操作:
    1) 展开服务器组。
    2) 右键点击服务器,然后点击属性。
    3) 在安全性选项卡的审核等级中,点击失败。
    4) 要使这个设置生效,您必须停止并重新启动服务器。
7.管理扩展存储过程
    对存储过程进行大手术,并且对帐号调用扩展存储过程的权限要慎重。其实在多数应用中根本用不到多少系统的存储过程,而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
    还有一些其他的扩展存储过程,你也最好检查检查。在处理存储过程的时候,请确认一下,避免造成对数据库或应用程序的伤害。
8.使用视图和存储程序以分配给用户访问数据的权利
    使用视图和存储程序以分配给用户访问数据的权利,而不是让用户编写一些直接访问表格的特别查询语句。通过这种方式,你无需在表格中将访问权利分配给用户。视图和存储程序也可以限制查看的数据。例如,如果你的雇员表格包含一些秘密的工资信息,你可以建立一个省略了工资栏的视图。
9.使用最安全的文件系统
    NTFS是最适合安装SQL Server的文件系统。它比FAT文件系统更稳定且更容易恢复。而且它还包括一些安全选项,例如文件和目录ACL以及文件加密(EFS)。在安装过程中,如果侦测到 NTFS,SQL Server将在注册表键和文件上设置合适的ACL。不应该去更改这些权限。
    通过EFS,数据库文件将在运行SQL Server的帐户身份下进行加密。只有这个帐户才能解密这些文件。如果您需要更改运行SQL Server的帐户,那么您必须首先在旧帐户下解密这些文件,然后在新帐户下重新进行加密。
10.安装升级包
    为了提高服务器安全性,最有效的一个方法就是升级到SQL Server 2000 Service Pack 3a (SP3a)。另外,您还应该安装所有已发布的安全更新。
11.使用Microsoft基线安全性分析器(MBSA)来评估服务器的安全性
  MBSA 是一个扫描多种Microsoft产品的不安全配置的工具,包括SQL Server和Microsoft SQL Server 2000 Desktop Engine(MSDE 2000)。它可以在本地运行,也可以通过网络运行。该工具针对下面问题对SQL Server安装进行检测:
    1) 过多的sysadmin固定服务器角色成员。
    2) 授予sysadmin以外的其他角色创建CmdExec作业的权利。
    3) 空的或简单的密码。
    4) 脆弱的身份验证模式。
    5) 授予管理员组过多的权利。
    6) SQL Server数据目录中不正确的访问控制表(ACL)。
    7) 安装文件中使用纯文本的sa密码。
    授予guest帐户过多的权利。
    9) 在同时是域控制器的系统中运行SQL Server。
    10) 所有人(Everyone)组的不正确配置,提供对特定注册表键的访问。
    11) SQL Server 服务帐户的不正确配置。
    12) 没有安装必要的服务包和安全更新。
    Microsoft 提供 MBSA 的免费下载。
12.其他安全策略
    另外,在安装SQL Server时,还有一些技巧值得注意。
    使用TCP/IP作为SQL Server的网络库。这是微软推荐使用的库,是经受考验的。如果服务器将与网络连接,使用非标准端口会被一些别有用心的人破坏。
    使用一个低级别的帐号来运行SQL Server,而不是一个管理帐号。这对系统崩溃的时候起着保护作用。
    不要允许未获得安全许可的客人访问任何包括安全数据的数据库。
    将数据库保护于一个“被锁的房间”。记住,很多骚扰都是来自于内部的人。

13、对网络连接进行IP限制
  SQL Server 2000数据库系统本身没有提供网络连接的安全解决办法,但是Windows 2000提供了这样的安全机制。使用操作系统自己的IPSec可以实现IP数据包的安全性。请对IP连接进行限制,只保证自己的IP能够访问,也拒绝其他IP进行的端口连接,把来自网络上的安全威胁进行有效的控制。关于IPSec的使用请参看:http://www.microsoft.com/china/technet/security/ipsecloc.asp

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

相关推荐

    SQL Server 2000数据库教程(华夏学院)

    SQL Server 2000概述、SQL Server 2000安装和配置、SQL Server 2000工具、数据库系统基础、SQL Server 2000数据类型、SQL Server 2000...SQL Server 2000数据库的安全性管理、数据库的备份和恢复、基于Web的数据库应用...

    sql server 2000数据库驱动包

    标签列出了三个关键文件:"sqlserver2000 数据库驱动包 msbase.jar mssqlserver.jar msutil.jar"。这些文件是驱动包的核心组成部分,它们的作用如下: 1. **msbase.jar**:这是SQL Server JDBC驱动的基础组件,包含...

    SQLSERVER2000数据库例子

    标题"SQLSERVER2000数据库例子"指的是这个压缩包包含的是SQL Server 2000的一些示例数据库,这些示例通常用于教学、学习和测试环境,帮助用户了解如何设计、创建和管理数据库。这些例子可以展示SQL Server 2000的...

    SQLServer2000数据库的安装

    ### SQL Server 2000 数据库安装指南与常见问题解决 #### 一、服务器端数据库的安装 ##### Microsoft SQL 2000 SERVER 安装说明 由于系统需要 SQL Server 2000 的支持,因此在服务端必须首先安装 SQL Server 2000...

    SQL Server 2000 数据库安装手册

    《SQL Server 2000 数据库安装手册》是针对该版本数据库系统的一份详尽指南,主要涵盖了SQL Server 2000的安装流程和补丁应用,旨在确保用户能够顺利地在不同操作系统上部署和维护数据库服务器。 在选择SQL Server ...

    SQL Server 2000数据库系统管理与维护1-42百度网盘地址

    根据提供的文件信息,我们可以推断出这是一份关于SQL Server 2000数据库系统管理与维护的学习资料,包括了第1至42节的内容。接下来,我们将详细地阐述SQL Server 2000数据库系统管理与维护的核心知识点。 ### SQL ...

    SQL Server 2000数据库程序设计

    SQL Server 2000作为微软公司推出的企业级数据库管理系统,它在数据存储、查询处理、安全性、可扩展性等方面具有显著特点,广泛应用于各种业务系统开发。 首先,我们要理解SQL(Structured Query Language),它是...

    操作Sql Server 2000数据库的工具

    SQL Server 2000是由Microsoft公司推出的一款关系型数据库管理系统,广泛应用于企业级的数据管理和分析。本文将深入探讨操作Sql Server 2000数据库所使用的工具及其相关知识点。 1. **SQL Server Management Studio...

    SqlServer2000数据库备份还原工具

    SQL Server 2000作为一款广泛应用的关系型数据库管理系统,其数据的安全性和可恢复性至关重要。数据库备份与还原是数据库管理中的基础操作,确保在系统故障、数据丢失或需要回滚到特定状态时能够迅速恢复。本文将...

    SQL Server 2000数据库应用教程

    《SQL Server 2000数据库应用教程》是一本针对初学者和专业人员的全面教程,旨在教授如何有效地使用Microsoft SQL Server 2000这一关系型数据库管理系统。SQL Server 2000是微软公司推出的一款强大的数据库平台,...

    SQL Server 2000数据库应用教程(邱李华主编)(包括课件、习题答案和源码)

    这本书旨在帮助读者掌握SQL Server 2000的核心概念、操作方法以及实际应用,包括数据管理、查询、编程、安全管理和数据库设计等多个方面。同时,该资源包还提供了丰富的课件、习题答案和源码,以辅助学习者深入理解...

    《SQL Server2000数据库及应用》.rar

    本教程涵盖了SQL Server 2000的核心概念、安装配置、数据库设计、数据操作、查询优化、安全性管理、备份恢复等多个关键领域。 一、SQL Server 2000概述 SQL Server 2000是基于关系型数据库模型的服务器级数据库管理...

    sql server 2008数据库转sql server 2005数据库

    "sql server 2008数据库转sql server 2005数据库" 本文将详细介绍四种将 SQL Server 2008 数据库转换为 SQL Server 2005 数据库的方法。这些方法都是通过实践和总结得出的,旨在帮助读者快速、可靠地将 SQL Server ...

    SQL Server 2000数据库开发从零开始(1/2)

    4. **安全性管理**:了解SQL Server 2000的安全模型,包括用户、角色、权限的管理,以及如何设置登录账户、数据库权限和对象权限,确保数据库系统的安全运行。 5. **备份与恢复**:学习如何制定备份策略,执行完整...

    SQL Server2000数据库开发技术与实践工程

    在本教材中,读者将深入学习SQL Server 2000的安装配置、数据库设计、数据操作、查询优化、安全性管理、备份恢复、性能调优等多个方面。 1. **安装与配置**:首先,讲解如何在Windows操作系统上安装SQL Server 2000...

    SQL Server 2000 数据库设计权威指南

    SQL Server 2000 数据库设计权威指南

    SQL Server 2000数据库系统开发与管理.rar

    《SQL Server 2000数据库系统开发与管理》这套资料涵盖了SQL Server 2000的全方位知识,包括但不限于数据库设计、安装配置、数据存储、查询优化、安全性管理、备份恢复、性能调优以及应用开发等多个核心领域。...

    SQL Server 2000数据库应用教程-电子教案

    《SQL Server 2000数据库应用教程》是一份针对初学者和专业人员的全面教程,旨在教授如何有效地使用微软的SQL Server 2000数据库管理系统。SQL Server 2000是20世纪末至21世纪初广泛使用的数据库平台,尽管现在已经...

    清理SQLServer2000数据库日志工具

    清理SQLServer2000数据库日志工具,自己写的,无毒,放心使用

    将Sql Server 2000中的数据库备份文件还原到sql2005中

    将Sql Server 2000中的数据库备份文件还原到Sql Server 2005中是一个常见的问题。在这个过程中,我们需要了解Sql Server 2000和Sql Server 2005之间的差异,以便正确地还原数据库备份文件。下面是相关的知识点: 1....

Global site tag (gtag.js) - Google Analytics