`
dazhilao
  • 浏览: 245989 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

配置SQL Server 2000安全的九大措施

阅读更多
  数据库是电子商务、金融以及ERP系统的基础,通常都保存着重要的商业伙伴和客户信息。大多数企业、组织以及政府部门的电子数据都保存在各种数据库中,他们用这些数据库保存一些个人资料,比如员工薪水、个人资料等等。数据库服务器还掌握着敏感的金融数据。包括交易记录、商业事务和帐号数据,战略上的或者专业的信息,比如专利和工程数据,甚至市场计划等等应该保护起来防止竞争者和其他非法者获取的资料。数据完整性和合法存取会受到很多方面的安全威胁,包括密码策略、系统后门、数据库操作以及本身的安全方案。但是数据库通常没有象操作系统和网络这样在安全性上受到重视。
  微软的SQL Server是一种广泛使用的数据库,很多电子商务网站、企业内部信息化平台等都是基于SQL Server上的,但是数据库的安全性还没有被人们更系统的安全性等同起来,多数管理员认为只要把网络和操作系统的安全搞好了,那么所有的应用程序也就安全了。大多数系统管理员对数据库不熟悉而数据库管理员有对安全问题关心太少,而且一些安全公司也忽略数据库安全,这就使数据库的安全问题更加严峻了。数据库系统中存在的安全漏洞和不当的配置通常会造成严重的后果,而且都难以发现。数据库应用程序通常同操作系统的最高管理员密切相关。广泛SQL Server数据库又是属于“端口”型的数据库,这就表示任何人都能够用分析工具试图连接到数据库上,从而绕过操作系统的安全机制,进而闯入系统、破坏和窃取数据资料,甚至破坏整个系统。
  这里,我们主要谈论有关SQL Server2000数据库的安全配置以及一些相关的安全和使用上的问题。
  在进行SQL Server 2000数据库的安全配置之前,首先你必须对操作系统进行安全配置,保证你的操作系统处于安全状态。然后对你要使用的操作数据库软件(程序)进行必要的安全审核,比如对ASP、PHP等脚本,这是很多基于数据库的WEB应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类似 , ‘ ; @ / 等字符,防止破坏者构造恶意的SQL语句。接着,安装SQL Server2000后请打上补丁sp3。 下载地址是:http://www.microsoft.com/sql/downloads/2000/sp3.asp
  在做完上面三步基础之后,我们再来讨论SQL Server的安全配置。
  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使用的默认端口变为其他端口。
  8、拒绝来自1434端口的探测
  由于1434端口探测没有限制,能够被别人探测到一些数据库信息,而且还可能遭到DOS攻击让数据库服务器的CPU负荷增大,所以对Windows 2000操作系统来说,在IPSec过滤拒绝掉1434端口的UDP通讯,可以尽可能地隐藏你的SQL Server。
  9、对网络连接进行IP限制
  SQL Server 2000数据库系统本身没有提供网络连接的安全解决办法,但是Windows 2000提供了这样的安全机制。使用操作系统自己的IPSec可以实现IP数据包的安全性。请对IP连接进行限制,只保证自己的IP能够访问,也拒绝其他IP进行的端口连接,把来自网络上的安全威胁进行有效的控制。 关于IPSec的使用请参看:http://www.microsoft.com/china/technet/security/ipsecloc.asp
  上面主要介绍的一些SQL Server的安全配置,经过以上的配置,可以让SQL Server本身具备足够的安全防范能力。当然,更主要的还是要加强内部的安全控制和管理员的安全培训,而且安全性问题是一个长期的解决过程,还需要以后进行更多的安全维护。
分享到:
评论

相关推荐

    SQLServer2000数据访问安全性

    ### SQLServer2000数据访问安全性 #### 引言 在现代的分布式Web应用程序架构中,数据存储扮演着至关重要的角色。对于这类应用而言,数据不仅需要被妥善存储,还需要确保其安全性,即只有拥有适当权限的用户才能...

    SQL Server 最佳安全配置.pdf

    SQL Server数据库是一种广泛使用的数据库管理系统,它提供了存储、检索、处理数据的强大功能。...通过细致的配置,可以在很大程度上提升SQL Server数据库的安全性,有效防止数据泄露和其他安全问题的发生。

    【MS SQL Server】安全基线及安全加固指南v1.0.pdf

    本文档针对MS SQL Server的安全基线及安全加固进行详细指导,涵盖了安全配置、身份鉴别、访问控制、安全审计、资源控制以及最佳实践等多个方面,旨在帮助管理员进行有效的数据库安全加固。 安全基线概念是指一系列...

    SQL Server 2000的安全配置

    本文将详细探讨SQL Server 2000的安全配置策略,帮助用户更好地理解和实施有效的安全措施。 #### 二、SQL Server 2000安全配置的重要性 SQL Server 2000的安全配置对于保护敏感数据至关重要。不安全的配置可能导致...

    SQL Server 2000 技术内幕

    《SQL Server 2000 技术内幕》是一本深度探讨Microsoft SQL Server 2000数据库管理系统的专业书籍。...无论你是数据库管理员、开发人员还是系统架构师,全面掌握SQL Server 2000的技术内幕都将极大地提升你的专业技能。

    SQL Server 2000 应用系统开发教程 +ppt +源码

    《SQL Server 2000 应用系统开发教程》是一部深入浅出的教程,结合了PPT演示和源码示例,旨在帮助初学者掌握使用VB(Visual Basic)与SQL Server 2000进行应用程序开发的核心技能。在本教程中,我们将探讨以下几个...

    SQLServer安全性文档

    SQL Server 2008 在设计、默认和部署方面均提供了保护措施,Microsoft 承诺在必要时将交换有关线程、对策和安全增强的信息,以尽量保证数据安全。本文档将告诉管理员如何安全地安装 SQL Server,以及如何在应用程序...

    SQL Server 2000安全配置完全攻略

    SQL Server 2000 安全配置完全攻略聚焦于保障数据库系统的安全性,尤其是在网络环境中的电子商务和企业内部系统中,SQL Server 2000 作为关键的数据库平台,其安全配置至关重要。通常,数据库的安全性往往被忽视,...

    MicroSoft SQL Server 2000 安装配置(V 1.0.4)

    本文详细介绍了Microsoft SQL Server 2000 的安装与配置步骤,包括但不限于安装路径的选择、独立用户的设置、安装后的配置调整以及安全性增强措施。通过遵循这些步骤,可以有效提升数据库系统的安全性和稳定性,为...

    《SQL Server 2000应用系统开发教程》电子教案

    3. **SQL Server 2000安装与配置**:学习如何在不同操作系统上安装SQL Server 2000,并进行必要的配置,包括设置服务器身份验证模式、安装服务和配置网络协议。 4. **数据库管理**:涵盖数据库的创建、修改、删除等...

    如何配置SQL Server2005以允许远程访问

    有时,为了实现跨网络的数据共享和协作,我们需要配置SQL Server 2005以允许远程访问。下面将详细介绍这一过程。 首先,确保SQL Server 2005服务正常运行。在服务器上,打开“服务”管理工具,检查“SQL Server...

    数据库应用技术——SQL Server 2000简明教程电子教案

    《数据库应用技术——SQL Server 2000简明教程》是一份专为学习和教学SQL Server 2000而设计的电子教案。SQL Server 2000是微软公司推出的一款关系型数据库管理系统(RDBMS),在当时广泛应用于企业级数据存储和管理...

    SQL server2000 实用教程

    本教程专为初学者设计,旨在帮助学习者快速掌握SQL Server 2000的核心概念、安装与配置、数据管理以及基本的查询操作。 首先,了解SQL Server 2000的基础架构是至关重要的。它基于客户-服务器(C/S)模型,由多个...

    SQL Server 数据库安全配置手册

    ### SQL Server 数据库安全配置手册知识点详述 #### 文档概述 本文档旨在提供一系列针对Microsoft SQL Server(简称MSSQLServer)的安全配置指南。这些配置措施有助于加强数据库的安全性,减少潜在的安全风险。 ##...

    构建SQL Server2000安全环境.pdf

    构建SQL Server2000安全环境主要包括以下几个方面: 1. 系统环境的安全性 确保操作系统Windows NT/2000的安全性至关...通过上述方法,可以极大地提高SQL Server2000数据库系统的安全性,防止数据泄露、更改或破坏。

    SQLServer2000 JSP驱动程序

    在IT领域,数据库管理和Web开发是两个至关重要的部分。SQL Server 2000是一款由Microsoft...在开发过程中,确保驱动版本与SQL Server版本兼容,同时注意数据库性能优化和安全措施,以实现最佳的系统性能和数据保护。

    网络程序库(1、你是SQL Server 数据库服务器的管理员。一台服务器名为SQL7,另一台叫SQL2000,在SQL7 上运行SQL Server 7.0,在SQL2000上运行着SQL Server 2000................等)

    为了确保在SQL2000和SQL7之间交换的敏感公司信息的安全,需要采取合适的措施来防止未授权的用户访问。 首先,选项A提到在SQL2000上启用多协议网络库。这是必要的,因为多协议支持意味着服务器可以与使用不同通信...

    SQL Server 2000数据库安全管理及配置.pdf

    在开始配置SQL Server 2000之前,首先需要确保操作系统是安全的,包括进行必要的安全配置。例如,可以审核和修改操作系统安全策略,关闭不必要的服务和端口,增强操作系统的安全性。此外,还需要对数据库使用的软件...

    关于SQL Server 2000安全配置的建议.pdf

    这些措施是为了提升SQL Server 2000数据库的安全性,数据库管理员和开发人员可以根据实际情况,采取上述建议,结合自身的安全需求,对SQL Server 2000进行有效的安全配置。安全配置是一个持续的过程,随着技术的进步...

    MS SQL Server 2000安全防护探讨.pdf

    b) 系统安全性增强:对于已安装的SQL Server 2000,要进行安全配置,比如删除不必要的管理员账号、不启用Guest用户账号、配置好使用环境、启动SQLServerAgent代理服务、设定维护计划等。 c) 用户权限的合理分配:...

Global site tag (gtag.js) - Google Analytics