数据库安全技术及应用.ppt
《数据库安全技术及应用.ppt》由会员分享,可在线阅读,更多相关《数据库安全技术及应用.ppt(82页珍藏版)》请在三一办公上搜索。
1、第6章 数据库安全技术,目 录,本章要点及教学目标,本章要点 数据库的安全性、权限及监控方法 数据完整性控制 并发控制与封锁技术 数据备份与恢复 数据库安全解决方案教学目标 理解数据库的安全性、权限及监控方法 了解数据完整性控制、并发控制与封锁技术 掌握数据备份与恢复 理解数据库安全解决方案,重点,6.1 数据库的安全性,数据库安全性问题 1数据库安全性的概念 数据库的安全性是指保护数据库系统和数据,以防止非法使用所造成的数据泄漏、更改或破坏。数据库管理系统安全性保护是通过各种防范措施以防止用户越权使用数据库。数据库系统中一般采用用户标识和鉴别、存取控制、视图以及密码存储等技术进行安全控制。数
2、据库安全的核心和关键是其数据安全。数据安全是指防止数据信息被故意的或偶然的非授权泄露、更改、破坏或使数据信息被非法的系统辨识与控制。以确保数据的完整性、保密性、可用性和可控性。由于数据库保存着大量的重要信息和机密数据,而且在数据库系统中大量数据集中存放,为许多用户共享,因此,加强对数据库访问的控制和数据安全防护至关重要。,主要指标之一,6.1 数据库的安全性,数据库安全分为系统安全性和数据安全性.系统安全性是指在系统级控制数据库的存取和使用的机制,包含:(1)有效的用户名/口令的组合;(2)对用户可连接数据库授权;(3)用户对象可用的磁盘空间的数量;(4)用户的资源限制;(5)数据库审计有效性
3、;(6)用户可执行的系统操作。数据安全性是在对象级控制数据库的存取和使用的机制,包括用户可存取指定的模式对象及在对象上允许具体操作类型。【案例6-1】某银行以数据安全业务价值链,可将数据库安全的技术手段分为预防保护类、检测跟踪类和响应恢复类等3大类,如图6-1所示:,图6-1 数据库安全关键技术,6.1 数据库的安全性,2SQL Server的安全性 SQL Server系统负责管理大量的业务数据,保证其业务数据的安全是数据库管理员DBA的一项最重要任务。SQL erver系统提供了强大的安全机制来保证数据的安全。安全性包括3个方面:管理规章制度方面的安全性、数据库服务器物理方面的安全性和数据
4、库服务器逻辑方面的安全性。在此主要讨论数据库服务器逻辑方面的安全性,身份验证模式是SQL Server系统验证客户端和服务器之间连接的方式。SQL系统提供了两种身份验证模式:Windows身份验证模式和混合模式。3.SQL Server的安全机制 SQL Server具有权限层次安全机制。SQL Server 2005的安全性管理可分为3个等级:操作系统级、SQL Server级和数据库级。,6.1 数据库的安全性,(1)操作系统级的安全性 用户使用客户机通过网络实现SQL Server服务器访问时,首先要获得操作系统的使用权。SQL可直接访问网络端口,对Windows安全体系以外的服务器及其
5、数据库的访问。由于SQL采用了集成Windows网络安全性机制,所使得OS安全性提高。(2)SQL Server级的安全性 SQL Server 的服务器级安全性建立在控制服务器登录帐号和口令基础上。采用标准SQL Server登录和集成Windows NT登录两种方式。用户在登录时提供的登录帐号和口令,决定了用户能否获得SQL Server的访问权和在获得访问权后拥有的具体权限。(3)数据库级的安全性 用户通过SQL Server服务器的安全性检验后,直接面对第三次安全性检验。在建立用户的登录帐号信息时,提示用户选择默认的数据库。在默认的情况下只有数据库的拥有者才可访问该数据库的对象,并分配
6、访问权限给别的用户,以便让别的用户也拥有该数据库的访问权利,在SQL Server中并不是所有的权利都可转让分配。,6.1 数据库的安全性,6.1.2 数据库权限管理 1.权限管理概念 权限是执行操作及访问数据的通行证。主体和安全对象之间通过权限相关联,主体可请求系统资源的用户、组和进程。SQL管理者可以通过权限保护分层实体(安全对象)集合。权限用于控制用户对数据库对象的访问,指定用户对数据库可执行的操作,用户可以设置服务器和数据库的权限。主要包括3种权限:服务器权限(DBA)、数据库对象权限和数据库权限。(1)服务器权限 服务器权限允许DBA执行任务。权限定义在固定服务器角色中.这些角色可分
7、配给登录用户,但这些角色是不能修改。一般只将服务器权限授给DBA,而不需修改或者授权给别的用户登录.(2)数据库对象权限 数据库对象是授予用户以允许他们访问数据库中对象的一类权限,对象权限对于使用SQL语句访问表或视图是必须的。,数据库权限用于控制对象访问和语句执行,6.1 数据库的安全性,【案例6-2】在SQL Server Management Studio(简称SSMS)中给用户添加对象权限。依次单击“对象资源管理器”窗口中树型节点前“”号,直到展开目标数据库“用户”节点.在“用户”节点下的目标用户上右键,弹出快捷菜单,选择“属性(R)”命令。,图6-2 利用对象资源管理器为用户添加对象
8、权限,6.1 数据库的安全性,(3)数据库权限 对象权限使用户能够访问存在于数据库中的对象,除了数据库对象权限外,还可给用户分配数据库权限。它除了授权用户可以创建数据库对象和进行数据库备份外,还增加一些更改数据库对象的权限。一个用户可直接分配到权限也可作为一个角色中的成员间接得到权限.【案例6-3】通过下面方式给用户添加数据库权限。在“对象资源管理器”窗口中,单击服务器前的“+”号,展开服务器节点。单击“数据库”前的“+”号,展开数据库节点。在要给用户添加数据库权限的目标数据库上单击鼠标右键,弹出快捷菜单,如图6-3所示,从中选择“属性(R)”命令。,图6-3利用对象资源管理器为用户添加DB权
9、限,6.1 数据库的安全性,2.SQL的安全模式与验证(1)SQL的安全模式 SQL Server采用两层安全模式:第一层是访问SQL,验证连接人的有效账号(称为登录)。第二层访问数据库。SQL支持多个数据库,每个数据库都有各自的安全层,通过用户账号提供对数据库的访问。在各数据库中建立用户时,可根据需要限制对数据库的访问。(2)登录身份验证模式及设置 用户连接到SQL账户称为登录:用户为特定数据库定义时才可创建。SQL为每一用户分配了唯一的用户名和密码。可为不同账号授予不同的安全级别。访问SQL登录有两种验证模式:Windows身份验证和混合模式身份验证(登录名和密码)。SQL Server
10、与Windows 二者登录安全过程结合起来提供安全登录服务。网络安全性通过向Windows 提供复杂加密过程进行验证。用户登录一经过验证,访问SQL Server不再需要其他身份验证。,6.1 数据库的安全性,【案例6-4】在SSMS中设置身份验证模式的方法。1)打开SSMS并连接到目标服务器,在“资源管理器”窗口中,在目标服务器上单击鼠标右键,弹出快捷菜单,从中选择“属性”命令,如图6-4所示.2)出现“服务器属性”窗口,选择“选择页”中的“安全性”选项,进入安全性设置页面,如图6-5所示。,图6-4利用对象资源管理器设置身份验证模式 图6-5服务器属性窗口的安全性页面,6.1 数据库的安全
11、性,3)在“服务器身份验证”选项级中选择验证模式前的单选按钮,选中需要的验证模式。用户还可以在“登录审核”选项级中设置需要的审核方式,如图6-6所示。,图6-6 服务器属性,审核方式取决于安全性要求,4种审核级别为:“无”:不使用登录审核.“仅限失败的登录”:记录所有的失败登录。“仅限成功的登录”:记录所有的成功登录。“失败和成功的登录”:记录所有的登录。最后单击“确定”按钮,完成登录验证模式的设置,6.1 数据库的安全性,3.权限的管理 在SQL中,不同对象有不同的权限。权限管理的内容包括:权限的类型、授予权限、收回权限、否认权限等几个方面。(1)权限的种类 权限的种类,可按照预先定义分为:
12、预先定义的权限和预先未定义的权限。按照针对的对象也可分为:针对所有对象的权限和针对特殊对象的权限。常按权限等级分为3种:系统权限(隐含权限)、对象权限和语句权限。1)系统权限(隐含权限)。是服务器级别上对整个服务器和数据库进行管理的权限。服务器角色sysadmin具有全部系统权限。数据库对象所有者和服务器固定角色均具有这种权限,可对所拥有的对象执行一切活动。如拥有表的用户可查看、添加或删除数据,更改表定义,或控制允许其他用户对表操作的权限。,6.1 数据库的安全性,2)对象权限。用于控制一个用户与一个数据库对象交互操作,有5个不同的权限:查询、插入、修改、删除和执行。不同的安全对象具有不同的权
13、限,对各对象主要操作包括:,表6-1 对象类型和操作权限,6.1 数据库的安全性,3)语句权限。授予用户执行相应的语句命令的能力,可以决定用户能否操作和创建数据库对象,语句权限(如 CREATE DATABASE)适用于语句自身,而不适用于数据库中定义的特定对象。其语句权限主要包括:表6-2语句权限的执行操作,6.1 数据库的安全性,(2)授予权限 在SQL系统中,可使用GRANT语句将安全对象的权限授予给指定的安全主体。这些可使用GRANT语句授权的安全对象包括应用程序角色、程序集、非对称密钥、证书、约定、数据库、端点、全文目录、函数、消息类型、对象、队列、角色、路由、架构、服务器、服务、存
14、储过程、对称密钥、系统对象、表、类型、用户、视图、XML架构集合等。GRANT语句的语法如下:GRANT ALL|permission(column,.n),.n ON securable TO principal,.n WITH GRANT OPTION 其中各参数的含义为:1)ALL:该选项并不授予全部可能的权限。2)permission:权限的名称。3)column:指定表中将授予其权限的列名称。需使用括号“()”。4)securable:指定将授予其权限的安全对象。5)TO principal:主体的名称。6)GRANT OPTION:指示被授权者在获得指定权限的同时还可将其权限授予其
15、他主体。,6.1 数据库的安全性,(3)收回权限 利用REVOKE语句,可从某个安全主体处收回(也称撤销)权限.它与GRANT语句相对应,可将通过它授予给安全主体的权限收回(删除),使用REVOKE语句也可收回对特定数据库对象的权限。收回权限是指不再赋予此权限,但并非禁止。因为用户可能从角色中继承了该项权限。REVOKE语句语法格式为:REVOKE GRANT OPTION FOR ALL|permission(column,.n),.n ON securable TO|FROM principal,.n CASCADE 其中各参数的含义为:1)GRANT OPTION FOR:将撤销授予指定
16、权限的能力.2)CASCADE:指示当前正在撤销的权限也将从其他被该主体授权的主体中撤销。其余参数的含义与GRANT语句中的各参数含义相同。,6.1 数据库的安全性,(4)拒绝(否认)权限 安全主体可以通过两种方式获得权限:直接使用GRANT语句为其授予权限,通过作为角色成员继承角色的权限。使用REVOKE语句只能删除安全主体,通过方式得到的权限,要彻底删除安全主体的指定权限必须使用DENY语句。DENY语法形式与REVOKE非常类似。使用DENY语句可以拒绝(否认)对特定数据库对象的权限,防止主体通过其组或角色成员身份继承权限。语法格式如下:DENY ALL|permission(colum
17、n,.n),.n ON securable TO principal,.n CASCADE 其中:参数CASCADE指示拒绝授予指定主体该权限,同时,拒绝该主体将该权限授予其他主体。其余参数的含义与Grant语句中的各参数含义相同。,6.1 数据库的安全性,4.管理权限的设置 设置权限下面两种方法各有利弊,前者操作简单而直观,但不能设置表或视图的列权限;用T-SQL语句操作功能齐较繁琐。(1)使用SSMS(SQL Server Management Studio)设置权限在“数据库属性”窗口,选择“选择页”窗口中的“权限”项,可以进入“权限设置”页面。(2)使用T-SQL语句设置权限 T-SQ
18、L语句中的权限设置有下面3种:1)GRANT语句:允许权限。2)REVOKE:禁止权限。3)DENY:取消允许设置。GRANT语句的权限设置语法格式为:GRANT ALL|statement,.n TO security_account,.n REVOKE ALL|statement,.n FROM security_account,.n DENY ALL|statement,.n TO security_account,.n,6.1 数据库的安全性,6.1.3 安全监控方法 1.登录名管理 登录名管理包括创建登录名、设置密码策略、查看登录名信息、修改和删除登录名。登录名管理的方法主要有两种。
19、(1)创建登录名 创建基于Windows登录名,创建SQL Server登录名,查看登录名信息【案例6-5】登录属于服务器级的安全策略,通过合法的登录才能连接到数据库。SQL系统登录验证过程如图6-7 所示.在SSMS中创建登录的步骤如下。,1)打开SSMS并连接到目标服务器,在“对象资源管理器”窗口中,单击“安全性”前的“”号.在“登录名”上单击鼠标右键,弹出快捷菜单,从中选择“新建登录”命令,如图6-8所示。,图6-8 利用对象资源管理器创建登录,图6-7 SQL Server系统登录验证过程,6.1 数据库的安全性,2)出现“登录名”对话框,单击需要创建的登录模式前的单选按钮,选定验证方
20、式。如图6-9所示,并完成“登录名”、“密码”、“确认密码”和其他参数设置。,图6-9 登录名对话框,3)选择“选择页”中的“服务器角色”项,出现服务器角色设定页面,用户可为此用户添加服务器角色。4)选择“登录名”对话框中的“用户映射”项,进入映射设置页面,为新建的登录添加映射到此登录名的用户,并添加数据库角色,从而使该用户获得数据库的相应角色对应的数据库权限。最后单击“确定”按钮,完成登录名创建。(2)修改和删除登录名 DBA应定期检查访问的用户.,6.1 数据库的安全性,2.监控错误日志 用户应经常查看SQL Server错误日志。在查看时,应注意在正常情况下不应出现的错误消息。错误日志的
21、内容不仅包括出错的消息,也包括大量关于事件状态、版权信息等各类消息。要求学会在繁杂的错误信息中找到关键的出错信息。当浏览错误日志时,要特别注意以下的关键字:错误、故障、表崩溃、16级错误和严重错误等。查看日志2种方法:利用SSMS查看日志;利用文本编辑器查看日志。3.记录配置信息 当无法启动 SQL Server时借助服务器的配置信息,微软公司技术支持部门可以帮助恢复.服务器的运行。在日常的维护计划中应该安排对配置信息的维护,特别是当配置信息修改时。使用系统过程sp_configure 可以生成服务器的配置信息列表。(1)打开SSMS。(2)选择服务器,单击“连接”按钮,进入SSMS窗口。(3
22、)打开一个新的查询窗口,可以输入各种SQL命令。(4)在查询窗口中输入命令。,6.1 数据库的安全性,6.1.4 用户与角色管理 用户是数据库级的安全策略,在为数据库创建新的用户前,必须存在创建用户的一个登录或使用已经存在的登录创建用户.1.使用SSMS创建用户【案例6-6】使用 SSMS创建用户的具体步骤如下。(1)打开SSMS并连接到目标服务器,在“对象资源管理器”窗口中,单击“数据库”节点前的“”号,展开数据库节点。单击要创建用户的目标数据节点前的“”号,展节点Northwind。单击“安全性”节点前的“”号。在“用户”上单击鼠标右键,弹出快捷菜单,从中选择“新建用户”命令,如图6-10
23、所示。,图6-10 利用对象资源管理器创建用户,6.1 数据库的安全性,(2)在出现“数据库用户新建”对话框的“常规”页面中,填写“用户名”,选择“登录名”和“默认架构”名称。添加此用户拥有的架构和数据库角色。(3)在“数据库用户新建”对话框的“选择页”中选择“安全对象”,进入权限设置页面(即“安全对象”页面).“安全对象页面”主要用于设置数据库用户拥有的能够访问的数据库对象以及相应的访问权限。单击“添加”按钮为该用户添加数据库对象,并为添加的对象添加显示权限。2角色管理 角色用来简化将很多权限分配给用户这一复杂任务的管理。用户可根据所执行的任务成为一个或多个角色的成员。用户可不必是任何角色的
24、成员,也可为用户分配个人权限。,6.1 数据库的安全性,1)在“对象资源管理器”中,单击服务器前“+”号展开.单击“安全性”节点前“+”号.在次节点可看到固定服务器角色,在要给用户添加的目标角色上单击鼠标右键,弹出快捷菜单从中选择“属性”.2)在“服务器角色属性”对话框中,单击“添加(A)”按钮.3)在出现“选择登陆名”对话框中单击“浏览(B)”按钮。4)在出现“查找对象”对话框中,选择目标用户前的复选框,选中其用户,最后单击“确定”按钮.5)回到“选择登陆名”对话框,可以看到选中的目标用户已包含在对话框中,确定无误后,单击“确定”.6)回到“服务器角色属性”对话框。确定添加的用户无误后,单击
25、“确定”。,图6-11 利用对象资源管理器为用户分配固定服务器角色,(1)固定服务器角色 SQL安装时就创建了在服务器级别上应用大量预定义的角色,每个角色对应着相应的管理权限。通过给用户分配固定服务器角色,可以使用户具有执行管理任务的角色权限。固定服务器角色的维护比单个权限容易,但是固定服务器角色不能修改。【案例6-7】用SSMS为用户分配固定服务器角色,从而使该用户获取相应的权限。,6.1 数据库的安全性,(2)数据库角色 在创建每个数据库时都添加这些角色到新创建的数据库中,每个角色对应着相应的权限。这些数据库角色用于授权给数据库用户,拥有某种或某些角色的用户会获得相应角色对应的权限。可为数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 安全技术 应用

链接地址:https://www.31ppt.com/p-6296435.html