《SQL Server 2005数据库实践教程——管理与维护篇-电子教案-钱哨 5.第五章 .SQL Server 2005的安全性》由会员分享,可在线阅读,更多相关《SQL Server 2005数据库实践教程——管理与维护篇-电子教案-钱哨 5.第五章 .SQL Server 2005的安全性(141页珍藏版)》请在金锄头文库上搜索。
1、1,SQL Server 2005数据库实践教程 管理与维护篇,主讲教师:钱 哨,交通部管理干部学院计算机系 钱哨教案,第五章. SQL Server 2005的安全性,2,本章教学目标,了解SQL Server 2005安全性概述 掌握SQL Server 2005登录用户介绍 掌握SQL Server 2005权限管理 学习SQL Server 2005密码策略和证书。,3,5-1 SQL Server 2005安全性概述,了解数据库安全性的产生; 了解安全措施的五个级别; 可以区分windows认证模式和SQL Serve混合认证模式的区别; SQL Server2005安全性概述; 掌
2、握用户身份认证,主体和安全对象的内涵。,4,5-1 SQL Server 2005安全性概述,一、数据库的安全性的概念: 是指在信息系统的不同层次保护数据库,防止未授权的数据访问,避免数据的泄漏、不合法的修改或对数据的破坏。,1、典型的数据库安全性问题是没有进行有效的用户权限控制引起的数据泄露。,2、数据库系统的安全级别从低到高的五个级别上设置各种安全措施。 (1)环境级:计算机系统的机房和设备应加以保护,防止有人进行物理破坏。 (2)职员级:工作人员应清正廉洁,正确授予用户访问数据库的权限。 (3)OS级:应防止未经授权的用户从OS处着手访问数据库。 (4)网络级:由于大多数DBS都允许用户
3、通过网络进行远程访问,因此网络软件内部的安全性至关重要。 (5)DBS级:DBS的职责是检查用户的身份是否合法及使用数据库的权限是否正确。,5,5-1 SQL Server 2005安全性概述,二、SQL Server2005安全性概述 : SQL Server 2005数据库中的数据必须经过三个级别的认证过程 : 第一个认证过程是Windows级别,即Windows身份验证,需通过登录账户来标识用户。身份验证只验证用户是否具有连接到SQL Server数据库服务器的资格。 第二个级别的认证是SQL Server级别的认证,该认证过程是当用户访问数据库时,必须具有对具体数据库的访问权,即验证用
4、户是否是数据库的合法用户。 第三个级别是数据库级,该级别是指当用户操作数据库中的数据对象时,必须具有相应的操作权,即验证用户是否具有操作权限。,6,5-1 SQL Server 2005安全性概述,7,5-1 SQL Server 2005安全性概述,二、SQL Server2005安全性概述 :,这就好比一幢大楼,身份认证的用户是进入SQL Server数据库软件的第一道大门,要想进楼首先必须有这栋大楼的钥匙,这就是第一把钥匙身份认证权限;进入大楼后,如果你想进某一家的门,就好比开始具体操纵某个数据库,那么你必须有第二把钥匙数据库的访问权;进入某家后,如果你想具体操纵某张表、视图或者其他数据
5、库里面的对象,就好比获取这家保险柜的文件就必须有保险柜的钥匙一样,这就是第三把钥匙操作权。,8,5-1 SQL Server 2005安全性概述,二、SQL Server2005安全性概述 :,1用户身份认证类别 SQL Server 的用户有两种类型: (1)Windows 授权用户:来自于Windows的用户或组。 (2)SQL授权用户:来自于非Windows的用户,称其为SQL用户。,(1)Windows身份验证模式 Windows身份验证模式使用户得以通过Microsoft Windows server用户帐户进行连接SQL Server。用户必须首先登录到Windows中,然后再登录
6、到SQL Server。用户登录到SQL Server时,只需选择Windows身份验证模式,无需再提供登录帐户和密码,系统会从用户登录到Windows时提供的用户名和密码中查找用户的登录信息,以判断其是否为SQL Server的合法用户。,9,5-1 SQL Server 2005安全性概述,二、SQL Server2005安全性概述 :,1用户身份认证类别,(2)混合验证模式 混合验证模式表示SQL Server接受Windows授权用户和SQL授权用户。如果不是Windows操作系统的用户或者是Windows 客户端操作系统的用户使用SQL Server,则应该选择混合验证模式。 如果在
7、混合模式下选择使用SQL授权用户登录SQL Server,则用户必须提供登录名和密码,SQL Server使用这两部分内容来验证用户,SQL Server通过检查是否已设置SQL Server登录账户,以及指定的密码是否与记录的密码匹配,进行身份验证。,10,5-1 SQL Server 2005安全性概述,二、SQL Server2005安全性概述 :,两个验证方式是有明显的不同,主要集中在信任连接和非信任连接上。 windows 身份验证 windows 身份验证相对于混合模式更加安全,使用本连接模式时候,仅仅根据用户的windows权限来进行身份验证,我们称为“信任连接”,但是在远程连接
8、的时候会因NTML验证的缘故,无法登陆。 Windows 认证模式的优点是: 数据库管理员的工作集中在管理数据库方面,而不是管理用户帐户。对用户帐户的管理可以交给Windows服务器去完成。Windows服务器有着更强的用户帐户管理工具。可以设置帐户锁定、密码期限等。如果不是通过定制来扩展SQL Server,SQL Server是不具备这些功能的。Windows 服务器的组策略支持多个用户同时被授权访问SQL Server。该模式是默认的身份验证模式,比混合模式更为安全。请尽可能使用Windows身份验证。 混合模式验证 混合模式验证就是当本地用户访问SQL Server时候采用window
9、s身份验证建立信任连接,当远程用户访问时由于未通过windows认证,而进行SQL Server认证(使用SA的用户也可以登录SQL),建立“非信任连接”,从而使得远程用户也可以登录。 混合认证模式的优点是: (1)创建了Windows服务器之外的一个安全层次;(2) 支持更大范围的用户,如Novell网用户等。(3) 一个应用程序可以使用单个的SQL Server登录帐号和口令。,注意:windows认证模式和SQL Serve混合认证模式的区别,11,5-1 SQL Server 2005安全性概述,二、SQL Server2005安全性概述 :,SQL Server混合模式登陆和wind
10、ows登陆,在登录数据库的安全决策流程上面不同,具体流程参见右图所示。,12,5-1 SQL Server 2005安全性概述,二、SQL Server2005安全性概述 :,2主体,“主体”是SQL Server 2005的术语,表示可以请求SQL Server资源的个体、组和过程。与SQL Server授权模型的其他组件一样,“主体”也可以按层次结构排列。每个主体都有一个唯一的安全标识符(SID),可为其授权访问数据库系统中的对象权限。主体存在三个级别:Windows级别的主体,SQL Server级别的主体,数据库级别的主体。,13,5-1 SQL Server 2005安全性概述,二、
11、SQL Server2005安全性概述 :,3安全对象,SQL Server 2005存在三种安全对象的作用域范围:服务器、数据库和架构。,14,5-2 SQL Server 2005登录用户,掌握建立windows认证模式下的用户登录 掌握建立sa用户登录 掌握建立SQL Server用户登录 掌握通过命令方式授权windows用户登录SQL Server 掌握通过命令方式创建SQL Server登录帐户 学习查看SQL Server登录帐户 学习修改和删除SQL Server登录帐户信息,15,5-2 SQL Server 2005登录用户,5-2-1 建立SQL Server2005安全
12、用户实验,实验1:建立windows认证模式下的用户登录实验,第一步:在操作系统的计算机管理界面下,展开本地用户和组,在用户下建立三个用户u1,u2,u3,密码与用户名相同,如图所示。然后新建一个组叫QQ,并将u2和u1放到该组下面。放置一个用户在一个组里面的具体步骤是:鼠标右键单击u1用户,在弹出的界面中选中隶属于界面,将QQ组添加进来。,16,5-2 SQL Server 2005登录用户,5-2-1 建立SQL Server2005安全用户实验,实验1:建立windows认证模式下的用户登录实验,第二步:展开数据库管理界面,右键点击安全性的登录名,在弹出的快捷菜单中选择新建登录名。,17
13、,5-2 SQL Server 2005登录用户,5-2-1 建立SQL Server2005安全用户实验,实验1:建立windows认证模式下的用户登录实验,第三步:在展开的新建登录名界面中,点击搜索按钮,会弹出选择用户和组对话框。在该对话框内点击对象类型按钮,而后在弹出的对象类型窗口中选择全部的类型,也包括组。确定对象类型后,点击选择用户和组界面中的“高级”按钮,选择组用户qq后,返回选择用户和组界面,点击确定后建立登录名工作完成。,18,5-2 SQL Server 2005登录用户,5-2-1 建立SQL Server2005安全用户实验,实验1:建立windows认证模式下的用户登录
14、实验,第四步:测试。切换windows用户,以u1用户的身份进入操作系统后,启动SQL Server2005数据库,查看是否可以凭windows用户的身份认证登录。当然,此时你登录成功后发现将什么也做不了,因为没有授权操作具体的数据库和表,如同仅有楼钥匙而没有家门和保险柜的钥匙一样 。,实验2:建立sa用户登录实验,Sa用户是SQL Server的超级管理员用户,由于该用户的特殊性,往往容易成为被攻击的漏洞对象,因此建议不要轻易启动该用户。下面讲述如何以Sa用户的身份登录当前的SQL Server系统。,19,5-2 SQL Server 2005登录用户,5-2-1 建立SQL Server
15、2005安全用户实验,实验2:建立sa用户登录实验,第一步:鼠标右键点击当前的实例,在弹出的快捷菜单中选择属性。在弹出的服务器属性对话框中,选择“选择页”中的安全性,将服务器安全认证改为SQL Server和Windows身份认证 。,20,5-2 SQL Server 2005登录用户,5-2-1 建立SQL Server2005安全用户实验,实验2:建立sa用户登录实验,第二步:展开安全性的登录名文件夹,右键点击下面的sa用户,然后在登录属性 - Sa对话框中选择状态页并将登录设为启用,最后点击应用、确定按钮,保存设置。如图所示。这里建议回到常规界面,设置sa用户的密码并强制实施密码策略,
16、起到对该用户的最后一道密码保护作用。,21,5-2 SQL Server 2005登录用户,5-2-1 建立SQL Server2005安全用户实验,实验2:建立sa用户登录实验,第三步:测试。选择新建一个实例连接,在弹出的对话框中选择身份认证为“SQL Server身份认证”,键入用户名sa和密码后测试连接 。,22,5-2 SQL Server 2005登录用户,5-2-1 建立SQL Server2005安全用户实验,实验2:建立sa用户登录实验,问题:按照上述步骤配置后依然无法成功使得sa用户登录数据库系统,应如何处理呢?,第一步: 打开SQL Server外围应用配置器,选择服务器和连接的外围应用配置器,然后在服务器和连接的外围应用配置器对话框中选择远程连接页并将本地连接和远程连接设为同时使用TCP/IP和Named Pipes,最后点击应用、确定按钮,保存设置。,23,5-2 SQL Server 2005登录用户,5-2-1 建立SQL Server2005安全用户实验,实验2:建立sa用户登录实验,问题:按照