数据库安全性讲义.docx
- 文档编号:10234924
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:14
- 大小:777.30KB
数据库安全性讲义.docx
《数据库安全性讲义.docx》由会员分享,可在线阅读,更多相关《数据库安全性讲义.docx(14页珍藏版)》请在冰豆网上搜索。
数据库安全性讲义
数据库安全性
目标:
1.了解计算机安全性相关概念及分类
2.了解可信计算机系统评测标准
3.理解数据库安全性机制
4.结合oracle加深数据库安全性的理解
5.掌握oracle创建用户,授予权限,收回权限,以及创建角色等脚本sql语句.
一.概述
1.数据库安全性问题的引出
数据库的一大特点是数据共享,但是所谓”共享”并非无条件的共享,而是一种有计划性,制度性,可控制的共享.
2.数据库安全性问题的概念
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露,以及更改,删除等破坏性事件的发生.
二.计算机安全性概述
1.技术安全类
指计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全保护,当计算机系统受到无意或恶意的攻击时仍能保证系统正常运行,保证系统内的数据不增加、不丢失、不泄露。
2.管理安全类
软硬件意外故障、场地的意外事故、管理不善导致的计算机设备和数据介质的物理破坏、丢失等安全问题.
3.政策法律类
政府部门建立的有关计算机犯罪、数据安全保密的法律道德准则和政策法规、法令.
三.可信计算机系统评测标准
1.目的:
降低进而消除对系统的安全攻击.
2.两个重要的标准:
(1)桔皮书:
1985年美国国防部(DoD)颁布,全名<
简称:
TCSEC
(2)紫皮书:
1991年4月美国国家计算机安全中心(NCSC)颁布,全名<
简称:
TDI
TDI将TCSEC扩展到了数据库管理系统,定义了数据库管理系统设计与实现中需满足和用以进行安全性评估的标准.
3.信息安全标准的发展历史.
4.TCSEC/TDI标准的基本内容
从四个方面描述安全性级别划分的指标:
安全策略,责任,保证,文档.
根据计算机系统对上述各项指标的支持情况,将系统划分为四组七个等级,依次是:
D,C(C1,C2),B(B1,B2,B3),A(从左到右系统可靠程度一次增高).
四.数据库安全性控制
1.用户标识与鉴定.
(1)用户名(或标识号):
使用时给出用户名(或标识号),系统根据内部记录的合法用户信息进行比对,比对成功则继续下一步核实,比对不成功则不允许使用.
(2)口令:
每个用户名(或标识号)均设置对应的口令,用户名(或标识)正确且口令匹配的情况下才允许使用系统.
口令的弱点:
容易被窃取或推测.
策略:
a.设置复杂的密码(系统强行规定密码复杂度/人为设定)
b.约定计算方法或函数,由系统给出随机数,根据约定的函数或计算方法给出结果,若结果正确方可使用系统.
[Oracle示例:
]
1.用户名和密码验证,连续三次验证失败,系统自动退出.
2.切换用户时,若用户名密码核对失败,断开数据库连接.
3.可通过用户配置文件规定密码的复杂度;规定N次验证失败锁定用户;规定用户必须多少时间修改一次密码等.
[用户管理基础:
]
(1)创建用户:
(2)修改用户:
(3)删除用户:
dropuser用户名[cascade]
若用户模式中含有模式对象,则必须指定cascade将对象一并删除.
(4)查询当前有哪些用户:
查询数据字典dba_users
2.存取机制.
存取机制的目标:
授权有资格的用户访问数据库;未授权用户无法接近数据库.
存取机制的内容:
●定义用户权限并存储到数据字典中.
●用户发出操作请求时进行合法权限检查.
这两方面共同组成了DBMS的安全子系统.
两种存取机制:
(1)自主存取控制方法(DAC):
用户对于不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用
关键词:
权限
安全级别:
C2级
特点:
灵活,大部分DBMS都支持
(2)强制存取控制方法(MAC):
每一个数据库对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。
对于任意一个对象,只有具有合法许可证的用户才可以存取。
关键词:
密级,许可证
安全级别:
B1级
特点:
严格,部分DBMS支持.
实现方式:
将相关实体划分为两大类并为每个实体指定敏感度标记(Label分为若干级别,如绝密,机密,可信,公开等).
第一类:
主体.数据库用户以及代表用户的各种进程.主体的敏感度标记称为”许
可证级别”.
第二类:
客体.数据库文件,数据库对象等,受主体的操纵.
[Oracle示例]
权限:
1.系统权限
(1)概念:
在系统级控制数据库的存取和使用的机制,即执行某种SQL语句的能力,系统权限是针对用户设置的,用户必须被授予相应的系统权限,才可以连接到数据库中进行相应的操作.
(2)在oracle数据库中,用户sys和system是数据库管理员,拥有所有系统权限.
(3)Oracle11g有206个系统权限selectcount(*)fromsystem_privilege_map;
(4)数据库管理原可将系统权限授予用户,角色,或public公共用户组.
(5)系统权限的授予:
grant权限1,权限2,.....,权限ntopublic/角色名/用户名.
(6)系统权限的传递:
在授予权限时附件选项withadminoption,则该用户在获得此权限的同时可将该权限授予其他用户.
(7)系统权限的回收:
revoke权限1,权限2,...,权限nfrom用户名/角色/public
注:
用户的系统权限被回收后,已经传递给其他用户的权限不受影响,但是该用户不可以再进行传递.
(8)any.具有any权限表示可以在任何用户模式下进行操作.
例如:
对用户jim授予createtable权限,jim只能在自己的用户模式下创建表,但是若授予createanytable权限,则jim也可以在其他用户模式下创建表.
2.对象权限
(1)概念:
对象权限是指某一用户对其他用户的表,视图,序列等模式对象的操作权限;模式拥有者对模式中的对象具有全部对象权限,且可以将这些对象权限授予其他用户.
(2)对象级权限.
授予权限:
grant权限on[模式].对象名to用户名/角色名/public
(3)列级权限
只有update一种权限(针对表或视图).
授予权限:
grantupdate(列名列表)on[模式].表名to用户名/角色名/public
(4)all可代表所有,如:
表示将表emp的所有对象权限都授予用户.
(5)对象权限的传递:
使用选项withgrantoption.
用户在获得指定权限的同时可将这些权限传递给其他用户.
(6)对象权限的回收
对象级权限回收:
revoke操作on[模式].对象from用户/角色/public
列级权限回收:
revokeupdateon[模式].对象名from用户名/角色/public
注:
列级权限可单列授予,但是不能单列回收,只能整体回收.
All权限回收:
revokeallon对象名from...回收的是通过grantallon对象名to...授予的权限.
注:
某用户的对象权限被回收后,通过该用户传递给其他用户的该权限也被回收.
3.角色
创建角色:
createroledev
为角色授予权限:
grant权限to角色名
将角色授予用户或其他角色:
grant角色to用户/角色
回收角色:
revoke角色from用户/角色
3.视图机制
视图的两大作用:
(1)方面查询(封装)
(2)安全机制(隐藏).
通过视图机制把要保密的数据对无权存取的用户隐藏起来.只对特定用户授予访问特定视图的权限,而不允许其对表进行访问.
行:
视图定义中使用where条件”开放”某些特定的记录.
列:
视图定义中不指定某些列从而”拒绝”访问这些列.
4.审计
[oracle审计技术]
1.语句审计
对某种类型的SQL语句进行审计,不指定结构或对象
2.权限审计
对执行相应动作的系统权限进行审计
3.对象审计
对一特殊模式对象上的指定语句进行审计.
5.加密
基本思想:
使用算法将原始数据(明文)变换为不可直接识别的内容(密文).
基本方法:
(1)替换法:
使用”密钥”将明文中的字符转换为其他字符,形成”密文”
(2)置换法:
将明文的字符按不同的顺序重新排列,形成”密文”.
注:
结合使用安全程度更高(美国1997年制定的官方加密标准)
6.用户自定义
使用触发器限定只能在某些特定情况下(如特定的日期,特定的时间范围等)才可进行某些操作,也可通过触发器对某些对象被执行的某些操作进行记录,形成日志表.
又如:
参考资料:
<<数据库系统概论>>萨师煊王珊第三版
<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 安全性 讲义