`
dazhilao
  • 浏览: 241136 次
  • 性别: 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本身具备足够的安全防范能力。当然,更主要的还是要加强内部的安全控制和管理员的安全培训,而且安全性问题是一个长期的解决过程,还需要以后进行更多的安全维护。
分享到:
评论

相关推荐

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

    一台服务器名为SQL7,另一台叫SQL2000,在SQL7 上运行SQL Server 7.0,在SQL2000上运行着SQL Server 2000。SQL2000的网络库配置如下所示:(原题不完整) SQL7的网络库有命名管道、TCP/IP、NWLink IPX/SPX以及多协议...

    SQL Server数据库的安全配置及入侵防范.pdf

    SQL Server 数据库的安全配置及入侵防范 SQL Server 数据库的安全配置是指对 SQL Server 数据库的安全设置和配置,以确保数据库的安全性和完整性。这种配置包括设置默认用户名和密码、限制用户访问权限、实施加密和...

    SQL server 安装截图教程

    1. 检查系统要求:SQL Server 需要在具有足够的系统资源的服务器上安装,因此我们需要检查服务器的硬件配置是否满足 SQL Server 的最低系统要求。 2. 选择合适的版本:SQL Server 有多种版本,例如 Enterprise、...

    SQL Server 2008数据库的安全性分析.pdf

    本文档将详细介绍SQL Server 2008数据库安全性分析的重要性、基本概念、安全威胁类型、安全评估方法、安全加固措施等方面的知识点。 一、SQL Server 2008数据库安全性分析的重要性 数据库安全性是企业信息系统的...

    SQL Server维护

    检查SQL Server 2000版本 20 SQL 2005 安装 20 SQL 2005配置 32 检查SQL Server2005版本 34 SQL 2008(包括 SQL 2008R2)安装 35 SQL 2008配置 45 检查SQL Server 2008版本 45 Windows 2008中安装SQL 2008 46 常见...

    解密SqlServer数据库引擎

    内容概述: 解密SqlServer数据库引擎的过程主要包括破解加密算法、获取数据库引擎的配置信息和密钥、解密加密数据三个主要步骤。 使用场景: 解密SqlServer数据库引擎可以应用于以下场景: 数据库备份和恢复:当...

    MicrosoftSQLServer2000优化指南

    * SQL Server 2000 是一个关系数据库管理系统,拥有高性能、安全性高、可靠性强的特点。 * SQL Server 2000 的体系结构分为三个主要部分:存储引擎、查询处理器和事务日志。 * 存储引擎负责存储和管理数据,查询...

    SQL SERVE的数据库安全性研究.pdf

    数据库安全性是 SQL Server 中的重要问题之一,我们需要从数据库系统的安全模型入手,对 SQL Server 数据库的安全配置进行描述,分析讨论 SQL Server 库使用中的安全问题,针对不同的用户分析可能存在的安全问题,并...

    怎么才能限制SQL Server只能让指定的机器连接

    限制 SQL Server 连接非常重要,管理员需要采取相应的措施来限制 SQL Server 连接,以确保数据的安全性和稳定性。不同的方法都有其优缺,管理员需要根据实际情况选择合适的方法,以确保 SQL Server 的安全性和稳定性...

    按装sql过程中发生性能计数器错误时解决文档

    性能计数器注册表配置单元一致性检查失败是 SQL Server 2008 安装过程中常见的问题,本文将对该问题进行详细的分析和解决。 知识点一:性能计数器注册表配置单元一致性检查失败的原因 性能计数器注册表配置单元...

    windows server 2003安全策略

    七、Windows server 2003数据库SQL SERVER 2008只允许应用服务器访问,通过ip限制 35 八、SSL加密强制使用SSL传输层 36 九、数据库安全策略 39 1、身份鉴别,数据库使用复杂口令 39 2、数据库应拥有冗余,提供异地...

    delphi 人力 管理系统(sql+Delphi)

    如果您已经安装好了SQL Server 2000,也可以在“企业管理器”/“数据库”/“工具”/“SQL配置属性”/“安全性”中修改当前的配置属性。 (2)选择“开始”/“程序”/“Microsoft SQL Server”/“企业管理器”项,...

    The TCPIP connection to the host localhost, port 1433 解决

    如果我们想要使用 SQL Server Native Client 连接到 SQL Server 2005,我们还需要配置 Native Client 的参数。在 SQL Server Configuration Manager 中,我们可以找到 Native Client 的配置选项。右键点击 Native ...

    某集团数据库系统维护管理措施.doc

    配置防火墙以开放SQLServer相应的服务端口。 4.2、目录设置 对于SQLServer的安装目录设置,使用以下基本原则: 用户数据库数据文件要与日志文件存放在不同的磁盘,主要针对业务比较繁忙的 用户数据库。 TempDB...

    服务器安全的管理.docx

    对于后台数据库中的用户数据,在SQLSERVER中进行了设置,每天晚上会自动执行一次所有后台数据库数据的备份工作,即使当天客户的数据库被误删除了,也能找到前天晚上备份的所有数据,保证客户数据的安全可靠。 5. 对于...

    收缩后对数据库的使用有影响吗?

    3. 优化数据库的配置:优化数据库的配置,可以提高数据库的性能,避免收缩对数据库的影响。 4. 考虑数据库的碎片整理:数据库的碎片整理可以释放出未使用的空间,提高数据库的性能。 此外,为了避免收缩对数据库的...

    大学校园服务器的部署方案.doc

    2、网络简况 在xxx大学的网络系统中,网络设备产品类型包括路由器、防火墙、核心交换机、工 作组交换机、以太网卡等,服务器平台主要为Windows Server2003,工作站系统平台有:Win7 /XP/2000 Professional等,主要...

    mysql数据库my.cnf配置文件

    # 该变量之所以取较小默认值是一种预防措施,以捕获客户端和服务器之间的错误信息包,并确保不会因偶然使用大的信息包而导致内存溢出。 binlog_cache_size = 1M # 一个事务,在没有提交的时候,产生的日志,记录到...

    [详细完整版]PDM服务器.doc

    PDM硬件搭建方案 在硬件方面,服务端的机器必须使用专用服务器,对于并发用户数低于10个节点的企 业可以采用普通PC作为服务器。由于企业所有资料都存放在服务器上,...服务端需要安装数据库系统,建议使用SQLServer2

    路由器配置实例--100例

    一、 路由器网络服务安全配置 1 禁止CDP(Cisco Discovery Protocol)。如: Router(Config)#no cdp run Router(Config-if)# no cdp enable 2 禁止其他的TCP、UDP Small服务。 Router(Config)# no service tcp-small-...

Global site tag (gtag.js) - Google Analytics