`
dazhilao
  • 浏览: 239932 次
  • 性别: 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维护

    检查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数据库引擎可以应用于以下场景: 数据库备份和恢复:当...

    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”/“企业管理器”项,...

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

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

    服务器安全的管理.docx

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

    大学校园服务器的部署方案.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-...

    计算机专业毕设ASP.NET在线考试系统的设计与实现(完整的).rar

    2. 安全性高:采用了多种安全措施,如防止SQL注入、XSS攻击等,确保系统的稳定性和数据的安全性。 3. 易于扩展和维护:系统采用模块化设计,各模块之间相对独立,方便后续的扩展和维护工作。 4. 可定制性强:系统...

    安全日常运维现状调研问卷.xls

    SQL Server 网络系统(局域网) 信息系统口令保护 远程系统访问安全性 TCP/IP 安全基础结构 安全技术架构 安全组织 安全流程 远程办公 病毒检测及防范 WINDOWS NT 基本配置 NT审计 访问控制 口令 NT权限 NT帐户 恶意...

    基于vue+node+mysql的大学排课系统.zip

    MySQL 是一款广受欢迎的开源关系型数据库管理系统...同时,MySQL附带了一系列管理工具,如MySQL Server、MySQL Workbench、MySQL Shell等,便于用户进行数据库配置、监控、备份、恢复、迁移等工作。 社区与生态系统

    基于Javaweb+Tomcat+MySQL的大学生公寓管理系统.zip

    MySQL 是一款广受欢迎的开源关系型数据库管理系统...同时,MySQL附带了一系列管理工具,如MySQL Server、MySQL Workbench、MySQL Shell等,便于用户进行数据库配置、监控、备份、恢复、迁移等工作。 社区与生态系统

    PHP程序设计课程大作业——基于PHP、MySQL的数码商城.zip

    MySQL 是一款广受欢迎的开源关系型数据库管理系统...同时,MySQL附带了一系列管理工具,如MySQL Server、MySQL Workbench、MySQL Shell等,便于用户进行数据库配置、监控、备份、恢复、迁移等工作。 社区与生态系统

    《MySQL数据库入门》教学设计.docx

    最后向同学介绍几种常见的数据库产品,如:Oracle,SQL Server,DB2,MongoDB、SQL Server、MySQL以及他们各自的特点。 (4)如何安装和配置MySQL? 教师首先向学生演示如何在MySQL官网上,下载适用于Windows平台的...

    北京市XX区网络改造工程

    3.5.2 Microsoft SQL Server 6.5 25 3.5.2.1 综述 25 3.5.2.2 优点 25 3.5.2.3 特色 26 3.5.3 Microsoft Site Server 企业版 27 3.5.3.1综述 27 3.5.3.2 优点 27 3.5.3.3 特色 27 3.5.3.4 改进的特性 29 ...

    网络数据库课件ppt(web数据库ppt)

    (2)掌握数据库安全的措施 实验1 数据库基本操作 1、熟悉数据库系统,练习最基本的系统命令 2、建立、修改及删除基本表;索引的建立与删除 3、SQL练习 实验2 HTML语言 1、运用HTML语言设计网页 实验3 ASP 1、ASP...

Global site tag (gtag.js) - Google Analytics