实验5-数据库的安全性控制(含答案)
- 格式:doc
- 大小:2.52 MB
- 文档页数:10
第4、5章练习题(数据库的安全性、完整性)一、选择题1.下面哪个不是数据库系统必须提供的数据控制功能。
A.安全性B.可移植性C.完整性D.并发控制答案:B2.保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏。
这是指数据的。
A.安全性B.完整性C.并发控制D.恢复答案:A3.数据库的是指数据的正确性和相容性。
A.安全性B.完整性C.并发控制D.恢复答案:B4.在数据系统中,对存取权限的定义称为。
A.命令 B.授权 C.定义 D.审计答案:B5.数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的。
A.可靠性B.一致性C.完整性D.安全性答案:D6.下列SQL语句中,能够实现“收回用户ZHAO对学生表(STUD)中学号(XH)的修改权”这一功能的是A.REVOKE UPDATE(XH) ON TABLE FROM ZHAO B.REVOKE UPDATE(XH) ON TABLE FROM PUBLICC.REVOKE UPDATE(XH) ON TABLE STUD FROM ZHAO D.REVOKE UPDATE(XH) ON STUD FROM PUBLIC答案:C 7.把对关系SC的属性GRADE的修改权授予用户ZHAO的SQL语句是A)GRANT GRADE ON SC TO ZHAO B)GRANT UPDATE ON SC TO ZHAOC)GRANT UPDATE (GRADE) ON SC TO ZHAO D)GRANT UPDATE ON SC (GRADE) TO ZHAO 答案:C8.以下( D )不属于实现数据库系统安全性的主要技术和方法。
A. 存取控制技术B. 视图技术C. 审计技术D. 出入机房登记和加锁9.SQL中的视图提高了数据库系统的( D )。
A. 完整性B. 并发控制C. 隔离性D. 安全性10.安全性控制的防范对象是( B ),防止他们对数据库数据的存取。
数据库原理及应用实验报告实验四实验题目:数据控制(安全性和完整性)实验类型:验证_______________________________ 实验地点:软件实验室二系班级:计科系***班_____________________姓名:***______________________学号:***______________________2013年11月10日一、实验项目名称:数据控制(安全性和完整性)二、实验目的和任务:理解SQL Server的用户与权限管理机制,通过企业管理器创建用户,并给定的用户分配权限,并掌握数据库完整性概念,实现实体、参照和自定义约束。
三、实验内容:1.创建数据库ycudata,它包含两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),部门(部门号,名称,经理名,地址,电话号)2.创建用户sqlaa,它对关系模式职工具有查询和删除权限3.创建用户sqlbb,它对关系模式职工和部门具有所有的权限(所有权限的表达)4.对该用户sqlcc授予查找职工关系模式,更新部门关系模式的权限,同时可以将该权限进行传播,并将权限传播给用户sqlaa5.创建用户sqldd,它对关系模式职工修改表结构的权限6.收回用户sqlcc的相应权限,了解sqlaa的权限情况7.创建角色role1,它的权限是对部门关系模式进行查、插、改、删,将用户sqldd 和sqlcc归于角色role1,查看用户的权限8.定义部门和职工关系模式的主键,外键,定义职工年龄不超过60岁,部门名称必须取值唯一以下为选做内容:1.定义用户sqlee,具有从每个部门职工中查看最高工资,最低工资和平均工资的权力,但他不能查看每个人的工资2.在对关系模式定义外键时,分别设置无行动和级连两种方式,并进行数据插入四、实验步骤及截图:1、打开SQL Server 2005,建立连接。
2、创建数据库ycudata,它包含两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),部门(部门号,名称,经理名,地址,电话号)(1)创建职工关系模式:(2)创建部门关系模式:3、创建用户sqlaa,它对关系模式职工具有查询和删除权限(1)创建登录名为work的用户:打开安全性,右击登录名,然后新建一个登录名,点击确定。
数据库安全性测试试卷(答案见尾页)一、选择题1. 数据库安全性测试的主要目的是什么?A. 验证数据库系统的性能B. 确保数据库系统的可用性C. 检查数据库系统的安全性D. 评估数据库系统的可扩展性2. 在进行数据库安全性测试时,以下哪个不是常用的测试方法?A. 黑盒测试B. 白盒测试C. 灰盒测试D. 静态代码分析3. 下列哪项不是数据库安全性的常见威胁?A. SQL注入攻击B. 跨站脚本攻击(XSS)C. 缓冲区溢出D. 数据泄露4. 对于数据库权限管理,以下哪个说法是错误的?A. 最小权限原则是指用户只能访问其工作所需的最少数据和资源B. 权限分离原则是指将不同用户的权限分配给不同的角色来限制访问C. 权限提升是指将低权限用户的权限提升为高权限用户的权限D. 权限撤销是指从用户那里永久删除其所有权限5. 数据库加密的目的是什么?A. 提高数据传输速度B. 增加数据的存储成本C. 保护数据免受未经授权的访问D. 减少数据库维护成本6. 在数据库备份策略中,哪种备份类型是最快的但也是最不可靠的?A. 全备份B. 增量备份C. 差异备份D. 快照备份7. 关于数据库审计,以下哪个说法是正确的?A. 审计日志可以完全防止未经授权的访问B. 审计日志只能提供过去的访问记录C. 审计日志可以检测到所有的安全漏洞D. 审计日志不能提供实时监控8. 在数据库入侵检测系统中,哪种攻击模式属于已知漏洞且容易被利用的?A. SQL注入攻击B. 跨站脚本攻击(XSS)C. 中间人攻击D. 暴力破解9. 在数据库权限管理中,如何确保用户访问权限的及时撤销?A. 使用自动过期机制B. 定期审查用户权限C. 实时监控用户活动D. 依赖用户自觉遵守规则10. 在数据库安全性测试中,如何验证数据库系统的加密效果?A. 使用暴力破解方法尝试访问加密数据B. 使用数据库工具查询加密数据C. 使用专门的加密测试工具检查加密算法的强度D. 直接访问数据库系统的外部接口验证数据完整性11. 在进行数据库安全性测试时,哪种类型的测试最关键?A. 功能测试B. 性能测试C. 安全测试D. 兼容性测试12. 下列哪项不是数据库安全性测试中常见的攻击类型?A. SQL注入B. 跨站脚本(XSS)C. 缓冲区溢出D. 信号泄漏13. 在数据库安全性测试中,通常使用哪种工具来检测SQL注入漏洞?A. NessusB. MetasploitC. WiresharkD. SQLMap14. 为了防止SQL注入攻击,数据库应当如何配置?A. 使用严格的访问控制列表(ACL)B. 将所有数据库查询都限制在预定义的SQL语句中C. 启用数据库的自动提交功能D. 关闭错误报告功能15. 在数据库备份策略中,哪种备份类型最适用于数据恢复测试?A. 增量备份B. 差异备份C. 完全备份D. 镜像备份16. 数据库权限管理应遵循最小权限原则,以下哪个选项不符合这一原则?A. 用户不应拥有超过其工作职责所需的权限B. 用户的密码应定期更换C. 应禁用对数据库的所有访问权限,仅留必要的操作权限D. 用户的权限应随着角色的变化而调整17. 在数据库审计过程中,哪种类型的日志最适合记录用户活动?A. 操作日志B. 事件日志C. 错误日志D. 诊断日志18. 在数据库安全加固措施中,哪种措施可以提高数据库的安全性?A. 更改默认的数据库名称和端口B. 禁用不必要的数据库服务和端口C. 配置数据库的审计和日志记录功能D. 使用强密码策略和多因素认证19. 数据库的安全性主要依赖于:A. 数据库管理员的技能B. 数据库系统的物理安全C. 数据库系统的逻辑安全D. 数据库备份和恢复策略20. 在数据库系统中,以下哪项不是身份验证机制?A. 用户名和密码B. 数字证书C. 角色分配D. 访问控制列表21. 为了防止SQL注入攻击,通常会采用哪种数据类型来存储用户输入的数据?A. INTB. VARCHARC. BLOBD. CHAR22. 在数据库备份策略中,哪种备份类型是定期进行的,覆盖所有选定的数据?A. 全备份B. 增量备份C. 差异备份D. 版本备份23. 下列哪个函数用于在数据库中插入新的记录?A. SELECTB. INSERTC. UPDATED. DELETE24. 在数据库系统中,完整性约束的主要目的是什么?A. 确保数据的准确性B. 确保数据的唯一性C. 确保数据的及时性D. 确保数据的完整性25. 以下哪种情况可能会导致数据库的性能下降?A. 数据库连接数过多B. 数据库索引过多C. 数据库服务器硬件故障D. 数据库软件配置不当26. 在数据库权限管理中,以下哪项操作是不被允许的?A. 授权给其他用户访问特定表的数据B. 撤销其他用户的权限C. 修改自己的登录密码D. 更改其他用户的角色27. 在进行数据库安全性测试时,以下哪种工具最不可能用于扫描数据库漏洞?A. 漏洞扫描器B. 性能优化工具C. 安全审计工具D. 入侵检测系统28. 数据库权限管理中,以下哪种权限不属于数据库管理员(DBA)的权限?A. SELECT权限B. INSERT权限C. UPDATE权限D. DELETE权限29. 在数据库备份策略中,哪种备份类型是用于在数据库故障后恢复数据?A. 完全备份B. 增量备份C. 差异备份D. 版本备份30. 数据库审计通常包括哪些方面?A. 用户登录审计B. 数据访问审计C. 系统性能审计D. 异常行为审计31. 数据库加密的主要目的是什么?A. 提高查询效率B. 防止数据泄露C. 增加数据库存储空间D. 优化数据库性能32. 在数据库性能优化中,以下哪种操作可以提高查询速度?A. 使用索引B. 增加数据冗余C. 降低数据完整性要求D. 减少表连接33. 在数据库恢复过程中,哪种文件是用于恢复数据的关键?A. 日志文件B. 数据文件C. 控制文件D. 参数文件34. 在数据库权限管理中,以下哪种权限属于用户(User)而不是数据库管理员(DBA)?A. SELECT权限B. INSERT权限C. UPDATE权限D. DELETE权限35. 以下哪项不是数据库安全性的常见指标?A. 并发用户数B. 数据丢失率C. 响应时间D. 身份认证失败率36. 在数据库安全性测试中,通常关注哪些类型的漏洞?A. SQL注入B. 跨站脚本(XSS)C. 跨站请求伪造(CSRF)D. 文件上传漏洞37. 在数据库备份策略中,哪种备份类型是定期进行的,且可以恢复数据到特定的时间点?A. 全备份B. 增量备份C. 差异备份D. 镜像备份38. 数据库加密通常用于保护哪种类型的数据?A. 结构化数据B. 非结构化数据C. 传输中的数据D. 存储在数据库中的数据39. 在数据库入侵检测系统中,哪种类型的攻击可以被有效检测到?A. 利用缓冲区溢出漏洞B. SQL注入攻击C. 重放攻击D. 中间人攻击40. 在数据库性能优化中,以下哪种措施可以提高查询响应时间?A. 增加索引B. 改变数据存放位置C. 减少数据冗余D. 加密敏感数据41. 在数据库安全管理中,以下哪个不是常见的安全审计工具?A. 日志分析工具B. 数据库审计日志C. 入侵检测系统D. 安全事件管理系统二、问答题1. 什么是数据库的安全性?为什么它对数据库系统至关重要?2. 数据库安全性主要有哪些方面?3. 什么是数据库的访问控制?如何实现?4. 什么是数据库的数据加密?如何实现?5. 什么是数据库的审计和监控?如何实现?6. 什么是数据库的入侵检测和防御?如何实现?7. 什么是数据库的应急响应计划?如何制定?8. 数据库系统工程师在日常工作中如何提升数据库安全性?参考答案选择题:1. C2. D3. B4. D5. C6. D7. B8. A9. B 10. C11. C 12. D 13. D 14. B 15. C 16. C 17. A 18. D 19. C 20. D21. B 22. A 23. B 24. D 25. A 26. D 27. B 28. C 29. A 30. ABD31. B 32. A 33. A 34. D 35. C 36. ABCD 37. B 38. D 39. B 40. A41. C问答题:1. 什么是数据库的安全性?为什么它对数据库系统至关重要?数据库的安全性是指保护数据库免受未经授权的访问、使用、修改、泄露等威胁的技术和措施。
可得到最后界面如下:3.以sa用户(DBA)登录,运行教材上4.2.4中的例1~例7对7个新用户授权。
每运行一个例子后,以相应的用户名重新登录,验证新用户是否具有授予的权限。
注:SQL Server中的权限授予与回收命令与教材例题上的细节有所不同,这里只写出在SQL 2000中的权限授予与回收命令语句。
【例1】把查询student表的权限授给用户u1。
GRANT SELECTTO u1;执行完授权语句后,用u1登录,验证其是否已有查询权利。
重新连接数据库,登录界面如下:用u1登录后,执行一条SELECT命令,显示了查询结果如下所示,说明u1已具有了对student表的查询权限。
【例2】把对student表和course表的全部操作权限授予用户u2和u3。
GRANT ALL PRIVILEGESON studentTO u2,u3;GRANT ALL PRIVILEGESTO u2,u3;执行完授权语句后,用u2登录,验证其是否已有所有权利。
用u2登录后,执行两条SELECT命令,显示了查询结果如下所示,说明u2已具有了对student表的查询权限,再执行INSERT命令,DELETE命令,UPDATE 命令,同样可得到结果。
说明u2已具有了对student表和SC表的所有权限。
同u2一样,u3也已具有了对student表和SC表的所有权限。
【例3】把对表SC的查询权限授予所有的用户。
GRANT SELECTON SCTO PUBLIC;【例4】把查询student表和修改学生学号的权限授予用户u4。
GRANT UPDATE(Sno),SELECTON studentTO u4;执行完授权语句后,用u4登录,验证其是否已有相应权利。
用u4登录后,执行一条SELECT命令和一条UPDATE命令,显示了查询结果如下所示,说明u4已具有了对student表的查询权限,和对学生学号的修改权限。
【例5】把对表SC的insert权限授予u5用户,并允许将此权限再授予其他用户。
数据库系统概论实验五数据安全性控制及数据库恢复(4课时)❖实验目的:⏹理解数据库安全性概念,熟悉数据库安全性控制技术⏹掌握SQL Server数据库中通过用户及角色权限管理实现的安全控制措施⏹理解数据库恢复的概念和技术⏹掌握SQL Server数据库的备份及还原操作❖实验方法:由于实验环境SQL Server在本实验相关方面的语法与教材上有差异,因此本次实验课的内容包括两部分,先由老师补充讲解,然后布置实验内容、给出提示,学生进行实验。
❖实验要求:本次实验要求撰写实验报告,要求同前。
❖实验内容:第一部分讲解一、数据安全性控制数据库安全控制的目的是保护数据库以防止数据泄露、更改或破坏,确保授权的用户可以使用相应的数据,其他人不可以访问和使用数据。
SQL Server 2005的安全性设计:SQL Server使用流程:登录服务器→访问数据库→操作数据库安全性设计:登录用户操作用户操作权限SQL Server中有两类用户:一类是登录服务器的登录用户,另一类是使用数据库的操作用户。
1.登录用户(简称登录名)安装SQL Server数据库系统时,系统自动创建两个具有系统管理员权限的登录用户:➢W indows身份验证登录用户:机器名\Administrator,之前的实验都是使用此登录用户进行登录的➢S QL Server身份验证模式登录用户:sa,密码为安装系统时指定的密码,可以修改使用系统管理员身份登录服务器(见下图)后,可创建新的登录用户。
(1)创建登录用户(SQL Server身份验证模式)➢在对象资源管理器中展开服务器名/“安全性”,在“登录名”上打开右键快捷菜单,选择“新建登录名”,打开“登录名——新建”对话框。
➢在“常规”选项卡中,输入登录名patty,选择登录模式为“SQL Server身份验证”,输入密码0528,取消选择“用户在下次登录时更改密码”,选择登录的默认数据库和语言。
(2)用新登录用户登录服务器➢准备工作:⏹首先需要设置SQL Server 2005的安全验证模式为“SQL Server和Windows身份验证模式”(在服务器名上单击右键,选择“属性”菜单项打开“服务器属性”对话框,在“安全性”选项卡中设置,)并重启服务(通过SQL Server Configuration Manager或Windows服务)。
第八章.数据库安全性和完整性习题:一.填空题1.保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏。
这是指数据的。
2.数据库的是指数据的正确性和相容性。
3.在数据库的安全性控制中,为了保证用户只能存取它有权存取的数据,在授权的定义中,数据对象的,授权子系统就越灵活。
4.保护数据安全性的一般方法是。
5.存取权限包括两个方面的内容,一个是,另一个是。
6.完整性约束是指和。
7.实体完整性是指在基本表中,。
8.参照完整性是指在基本表中,。
二.简答题1.试述实现数据库安全性控制的常用方法和技术。
2.什么是数据库中的自主存取控制方法和强制存取控制方法?3.什么是数据库的审计功能?为什么要提供审计功能?4.DBMS的完整性控制机制应具有哪些功能?5.关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的?参考答案一.填空题6.安全性7.完整性8.范围越小9.设置用户标识和存取权限控制10.要存取的数据对象,对此数据对象进行操作的类型11.实体完整性,参照完整性12.主属性不能取空值13.外码可以是空值或者另一个关系主码的有效值二.简答题1.实现数据库安全性控制的常用方法和技术有:1)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份,每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。
2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。
3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来,放入审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。
程
及
(2)删除student表的关于sage 20到50的约束,调试过程如下图:
实
验
结
果
(3)用户王明对Student表和Course表有SELECT权力,在创建用户时遇到了点问题,最后在老师的指导下解决了,调试过程如下图:
(4)用户李勇对Student表和Course表有INSERT和DELETE权力,调试过程如下图:
(5)用户刘星对Student表有SELECT权力,对Student表的sage字段有更新权力,调试过程如下图:
(6)用户张新具有创建表的权力,调试过程如下图:
(7)用户周平具有对Student表和Course表所有权力,并具有给其他用户授权的权力,在赋予周平给其他用户授权的权利时“ALL PRIVILEGES只授予用户 SQL Server 2000 中可授予的权限,而SQL Server 2005却不被授予,最后改用CONTROL实现了该命令,调试过程如下图:
(8)回收李勇、张新的权限,调试过程如下图:。
实验五数据库的安全性控制
一、实验目的:
1. 通过实验加深对数据安全性的理解,并掌握SQL Server中有关用户登录的认证以及管理办法;
2. 通过实验加深对数据库存储控制机制的理解,通过自主存取控制进行权限管理,熟悉SQL Server中角色管理;
3.通过实验加深对数据安全性的理解,熟悉视图机制在自主存取控制上的应用。
二、实验容
1.设置SQL Server的混合安全认证模式。
在SQL Server中的对象资源管理器中设置安全认证模式。
2.在SQL Server中,利用“对象资源管理器”创建一个名为“U1”的登录用户和数据库用户,密码为111,并允许其登录S-T数据库。
3.在SQL Server中,利用代码创建一个名为“U2”的登录用户,密码为111;
其相应的数据库用户名为lucky,并允许其登录S-T数据库。
4.用“u1”用户名登录后,执行对students表的查询操作,说明执行结果,并分析原因(建议:在启动一个SQL Server 2008窗口)。
分析:没有对u1进行其他操作的授权,只能登录而不能进行插入,修改等操作
5.将students表的操作权限select和insert赋予数据库用户u1,并允许其向其它用户授权。
6.以“u1”用户名登录,执行对students和teacher表的查询操作,将该运行结果进行分析。
分析:对比第4题,对U1进行授权后可以进行相应的操作
7.执行下列代码后,分析用户u2能否对s_t数据库的student表进行select 和update操作,为什么?并用相应的语句验证。
分析:首先grant给public组赋予了查询,插入,更新权限,然后给lucky用户赋予了对S表的所有权限,然后又revoke收回了lucky的权限,但并没有收回public组的权限,而deny却收回了lucky的更新权限,故查询可实现,而更新不可实现
8.以sa登录数据库,在s_t数据库的stc表上创建选修了课程B001的视图st_view。
将该视图上的select和列score上的update权限授予u1;
9.以U1登录,对学号为“0415123”成绩提高10分,并查看修改后的结果。
10.撤销u2账号。
11.创建角色r1,并向r1角色授予teacher表的所有权限提示: USE ‘数据库名’
Create role 角色名
12.将U1添加到r1角色中,在u1用户登录窗口,查询teacher表;然后将该用户从r1角色中删除,再以u1用户的身份查询teacher表;观察并分析结果。
提示:(1)将用户添加到角色中
sp_addrolemember 角色1 ,用户名
(2)从角色中删除用户
sp_droprolemember 角色1,用户名
分析:r1角色被赋予了权限,并加到u1用户
分析:ri角色被删除之后,u1用户中就没有角色有对T表的查询权限了。