WEB开发网
开发学院数据库MSSQL Server 如何提高SQL Server 的安全性? 阅读

如何提高SQL Server 的安全性?

 2007-11-11 04:34:30 来源:WEB开发网   
核心提示:·将系统装到U盘中 如何自制XP@USB启动·买电脑勿随便出手 从商家配置看JS如何·如何禁止修改系统时间·再谈如何释放C盘空间 27招具体优化技·如何让MM的脸通透可人·如何卸载netware客户服务·如何下载在线电影&
    ·将系统装到U盘中 如何自制XP@USB启动
    ·买电脑勿随便出手 从商家配置看JS如何
    ·如何禁止修改系统时间
    ·再谈如何释放C盘空间 27招具体优化技
    ·如何让MM的脸通透可人
    ·如何卸载netware客户服务
    ·如何下载在线电影
    ·图文详解:如何调整光驱激光头功率
    ·如何与美丽的明星合影留念
    ·天下霸图2-如何收费经营

请问专家:在网上看到sql server(WINDOWS平台上强大的数据库平台)的安全性令人担忧,我想知道如何才能使我的sql server(WINDOWS平台上强大的数据库平台)数据库尽可能的安全?(标准化越来越近了):namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

有一些步骤你可以用来使sql server(WINDOWS平台上强大的数据库平台) 数据库对篡改数据和黑客攻击更有抵抗力。其中一些是好的服务器管理中的简单的部分,例如使sql server(WINDOWS平台上强大的数据库平台)保持最新的补丁,而另一些则涉及了一些用户在使用中的监控。下面的这五个步骤将带你开始这项工作。

 

查找最新的服务程序包

时刻确保你装了最新的服务程序包。对于sql server(WINDOWS平台上强大的数据库平台) 2000,这个补丁是SP(标准化越来越近了):namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />3a 。记住,服务程序包是渐增的,所以如果你应用了SP3a ,你就不需要再应用其他任何在此之前的程序包,例如SP3, SP2 或 SP1。SP3a 是一个特殊的服务程序包,它是为那些没有进行过以前的任何更新而设计的安装程序,而SP3 则是为那些已经安装了SP1 或SP2准备的安装程序。

 

使用安全警报

补丁能够帮助你保护你的sql server(WINDOWS平台上强大的数据库平台) 数据库免受许多威胁,但是他们的发布速度总是跟不上那些移动迅速的安全性问题的处理,例如Spammer 蠕虫。所以你就会想要使用微软公司的免费的安全通知服务,一封电子邮件服务就可以使你了解关于破坏安全的问题和怎样处理它们。

 

运行微软的基线安全分析器(MBSA)

这个工具对于sql server(WINDOWS平台上强大的数据库平台) 和MSDE 2000 Desktop Engine 都是可用的,并且它可以在本地运行,也可以在网络中运行。它寻找密码,访问权限,访问控制清单和注册的问题,并且检查遗漏的安全程序包或服务程序包。你可以在TechNet上找到这个工具的相关信息。

 

删除SA和旧密码

人们犯的关于密码的最大的安全性错误就是对系统管理员(SA)密码不做任何修改。你可能很轻易的忽略安装文件中的剩余的配置信息,保护得很差的认证信息和其他一些敏感的数据就会遭黑客破坏。你必须删除在这个路经下的旧的安装文件:Program Files\Microsoft sql server(WINDOWS平台上强大的数据库平台)\mssql(WINDOWS平台上强大的数据库平台)\Install或Program Files\Microsoft sql server(WINDOWS平台上强大的数据库平台)\mssql(WINDOWS平台上强大的数据库平台)$\Install folders。还有,可以使用KILLPWD应用程序来找旧的密码并且删除它们。Knowledge Base文章263968对这个问题做了详细的说明。

 

监控连接

连接可以告诉你谁试图访问sql server(WINDOWS平台上强大的数据库平台),所以监视和控制连接是保护数据库安全的一个非常好的方法。对于一个大型的活动的sql server(WINDOWS平台上强大的数据库平台) 数据库,可能会有太多的数据连接需要监控,但是监控失败的连接是非常有价值的,因为它们可能表现出使用的企图。你可以在企业管理器中在服务组上右击,然后选择Properties,记录下失败连接的日志。然后点击Security选项卡,在Audit Level下点击Failure来停止并重新启动服务器。

——————————————————————————————

背景文章:

Microsoft sql server(WINDOWS平台上强大的数据库平台)的安全性控制策略

引言

数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。



对于数据库管理来说,保护数据不受内部和外部侵害是一项重要的工作。Microsoft sql server(WINDOWS平台上强大的数据库平台) 正日益广泛的使用于各部门内外,作为sql server(WINDOWS平台上强大的数据库平台)(sql server(WINDOWS平台上强大的数据库平台)是指Microsoft sql server(WINDOWS平台上强大的数据库平台),下文同)的数据库系统管理员,需要深入的理解sql server(WINDOWS平台上强大的数据库平台)的安全性控制策略,以实现管理安全性的目标。

图1给出了sql server(WINDOWS平台上强大的数据库平台)安全控制策略示意图。由图可见,sql server(WINDOWS平台上强大的数据库平台)的安全控制策略是一个层次结构系统的集合。只有满足上一层系统的安全性要求之后,才可以进入下一层。

(标准化越来越近了):namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

图1 sql server(WINDOWS平台上强大的数据库平台)安全性控制策略示意图

各层sql server(WINDOWS平台上强大的数据库平台)安全控制策略是通过各层安全控制系统的身份验证实现的。身份验证是指当用户访问系统时,系统对该用户的账号和口令的确认过程。身份验证的内容包括确认用户的账号是否有效、能否访问系统、能访问系统的哪些数据等。

身份验证方式是指系统确认用户的方式。sql server(WINDOWS平台上强大的数据库平台)系统是基于Windows NT/2000操作系统的,现在的sql server(WINDOWS平台上强大的数据库平台)系统可以安装在Windows 95(需要安装Winsock升级软件)、Windows 98和Windows ME之上(此时,将没有第一层和第二层的安全性控制),但旧的sql server(WINDOWS平台上强大的数据库平台)s系统只能运行在Windows NT/2000操作系统上。Windows NT/2000对用户有自己的身份验证方式,用户必须提供自己的用户名和相应的口令才能访问Windows NT/2000系统。

这样sql server(WINDOWS平台上强大的数据库平台)的安全系统可在任何服务器上通过两种方式实现:sql server(WINDOWS平台上强大的数据库平台)和Windows结合使用(sql server(WINDOWS平台上强大的数据库平台) and Windows)以及只使用Windows(Windows Only)。访问Windows NT/2000系统用户能否访问sql server(WINDOWS平台上强大的数据库平台)系统就取决于sql server(WINDOWS平台上强大的数据库平台)系统身份验证方式的设置。

1. 用户标识与验证

用户标示和验证是系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标示自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供机器使用权。

对于获得上机权的用户若要使用数据库时数据库管理系统还要进行用户标识和鉴定。

用户标识和鉴定的方法有很多种,而且在一个系统中往往是多种方法并举,以获得更强的安全性。常用的方法有:

用一个用户名或者用户标识号来标明用户身份。系统内部纪录着所有合法用户的标识,系统验证此户是否合法用户,若是,则可以进入下一步的核实;若不是,则不能使用系统。

为了进一步核实用户,系统常常要求用户输入口令(Password)。为保密起见,用户在终端上输入的口令不显示在屏幕上。系统核对口令以验证用户身份。

用户标识与验证在sql server(WINDOWS平台上强大的数据库平台)中对应的是Windows NT/2000登录账号和口令以及sql server(WINDOWS平台上强大的数据库平台)用户登录账号和口令。

2. sql server(WINDOWS平台上强大的数据库平台)身份验证方式

用户必须使用一个登录账号,才能连接到sql server(WINDOWS平台上强大的数据库平台)中。sql server(WINDOWS平台上强大的数据库平台)可以识别两类的身份验证方式,即:sql server(WINDOWS平台上强大的数据库平台)身份验证(sql server(WINDOWS平台上强大的数据库平台) Authentication)方式和Windows身份验证(Windows Authentication)方式。这两种方式的结构如图2所示。这两种方式都有自己的登录账号类型。



图2 sql server(WINDOWS平台上强大的数据库平台)系统身份验证方式示意图

注意的是,如果在Microsoft Windows95/98/ME上使用sql server(WINDOWS平台上强大的数据库平台)的Personal版,作为sql server(WINDOWS平台上强大的数据库平台)宿主的Microsoft Windows95/98/ME系统只能使用sql server(WINDOWS平台上强大的数据库平台)登录。因此,Windows NT/2000身份验证、域用户的账号和域组账号都是不可用的。

当使用sql server(WINDOWS平台上强大的数据库平台)身份验证方式时, 由sql server(WINDOWS平台上强大的数据库平台)系统管理员定义sql server(WINDOWS平台上强大的数据库平台)账号和口令。当用户连接SQL Serve时,必须提供登录账号和口令。当使用Windows身份验证方式时,由Windows NT/2000账号或者组控制用户对sql server(WINDOWS平台上强大的数据库平台)系统的访问。这时,用户不必提供sql server(WINDOWS平台上强大的数据库平台)的Login账号和口令就能连接到系统上。但是,在该用户连接之前,SQL Serve系统管理员必须将Windows NT/2000账号或者Windows NT/2000组定义为sql server(WINDOWS平台上强大的数据库平台)的有效登录账号。

3. 身份验证模式

当SQL Serve在Windows NT/2000上运行时,系统管理员必须指定系统的身份验证模式类型。sql server(WINDOWS平台上强大的数据库平台)的身份验证模式有两种:Windows 身份验证(Windows Authentication)模式和混合模式(Mixed Mode)。身份验证模式和身份验证方式的关系是:

Windows身份验证模式 (Windows身份验证方式)

混合模式 (Windows 身份验证方式 和 sql server(WINDOWS平台上强大的数据库平台) 身份验证方式)

Windows 身份验证模式只允许使用Windows 身份验证方式,这时用户无法以sql server(WINDOWS平台上强大的数据库平台)的登录账号登录服务器。它要求用户登录到Windows NT/2000,当用户访问sql server(WINDOWS平台上强大的数据库平台)时,不用再次登录。虽然用户仍会被提示登录,但sql server(WINDOWS平台上强大的数据库平台)的用户名会自动从用户网络登录ID中提取。而混合身份验证模式即允许使用Windows NT/2000身份验证方式,又允许使用sql server(WINDOWS平台上强大的数据库平台)身份验证方式。它使用户既可以登录sql server(WINDOWS平台上强大的数据库平台),也可用Windows NT/2000的集成登录。

集成登录只能在用命名管道连接客户机服务器时使用。当使用混合模式时,无论是使用Windows NT/2000身份验证方式的用户,还是使用sql server(WINDOWS平台上强大的数据库平台)身份验证方式的用户,都可以连接到sql server(WINDOWS平台上强大的数据库平台)系统上。也就是说:身份验证模式是对服务器来说的,而身份验证方式是对客户端来说的。

4. Windows身份验证模式

Windows 身份验证模式最适用于只在部门访问数据库的情况。与sql server(WINDOWS平台上强大的数据库平台)身份验证方式相比,Windows身份验证方式具有下列优点:提供了更多的功能,例如安全确认和口令加密、审核、口令失效、最小口令长度和账号锁定;通过增加单个登录账号,允许在sql server(WINDOWS平台上强大的数据库平台)系统中增加用户组;允许用户迅速访问sql server(WINDOWS平台上强大的数据库平台)系统,而不必使用另一个登录账号和口令。

sql server(WINDOWS平台上强大的数据库平台)系统按照下列步骤处理Windows 身份验证方式中的登录账号:

1)当用户连接到Windows NT/2000系统上时,客户机打开一个到sql server(WINDOWS平台上强大的数据库平台)系统的委托连接。该委托连接将Windows NT/2000的组和用户账号传送到sql server(WINDOWS平台上强大的数据库平台)系统中。因为客户机打开了一个委托连接,所以sql server(WINDOWS平台上强大的数据库平台)系统知道Windows NT/2000已经确认该用户有效。

2)如果sql server(WINDOWS平台上强大的数据库平台)系统在系统表syslogins的sql server(WINDOWS平台上强大的数据库平台)用户清单中找到该用户的Windows NT/2000用户账号或者组账号,就接受这次身份验证连接。这时,sql server(WINDOWS平台上强大的数据库平台)系统不需要重新验证口令是否有效,因为Windows NT/2000已经验证用户的口令是有效的。

3)在这种情况下,该用户的sql server(WINDOWS平台上强大的数据库平台)系统登录账号即可以是Windows NT/2000的用户账号,也可以是Windows NT/2000组账号。当然,这些用户账号或者组账号都已定义为sql server(WINDOWS平台上强大的数据库平台)系统登录账号。

4)如果多个sql server(WINDOWS平台上强大的数据库平台)机器在一个域或者在一组信任域中,那么登录到单个网络域上,就可以访问全部的sql server(WINDOWS平台上强大的数据库平台)机器。

5. 混合模式

混合模式最适合用于外界用户访问数据库或不能登录到Windows域时。

混合方式的sql server(WINDOWS平台上强大的数据库平台)身份验证方式有下列优点:混合方式允许非Windows NT/2000客户、Internet客户和混合的客户组连接到sql server(WINDOWS平台上强大的数据库平台)中;sql server(WINDOWS平台上强大的数据库平台)身份验证方式又增加了一层基于Windows 的安全保护。sql server(WINDOWS平台上强大的数据库平台)按照下列步骤处理自己的登录账号:

1.当一个使用sql server(WINDOWS平台上强大的数据库平台)账号和口令的用户连接sql server(WINDOWS平台上强大的数据库平台)时,sql server(WINDOWS平台上强大的数据库平台)验证该用户是否在系统表syslogins中且其口令是否与以前纪录的口令匹配。

2.如果在系统表syslogins中没有该用户账号,那么这次身份验证失败,系统拒绝该用户的连接。

结束语

sql server(WINDOWS平台上强大的数据库平台)提供多层安全。在最外层,sql server(WINDOWS平台上强大的数据库平台)的登录安全性直接集成到Widows NT/2000的安全上,它允许Windows NT服务器验证用户。使用这种"Windows 验证"sql server(WINDOWS平台上强大的数据库平台)就可以利用Windows NT/2000的安全特性,例如安全验证和密码加密、审核、密码过期、最短密码长度,以及在多次登录请求无效后锁定帐号。

 



1 2 3 4 5 6  下一页

Tags:如何 提高 SQL

编辑录入:coldstar [复制链接] [打 印]
赞助商链接