赞
踩
定义:保护数据库以防止不合法使用所造成的数据泄露,更改或破坏。
非授权用户对数据库的恶意存取和破坏 | 一些黑客(Hacker)和犯罪分子在用户存取数据库时猎取用户名和用户口令,然后假冒合法用户偷取、修改甚至破坏用户数据 |
---|---|
数据库中重要或敏感的数据被泄露 | 黑客和敌对分子千方百计盗窃数据库中的重要数据,一些机密信息被暴露 |
安全环境的脆弱性 | 计算机硬件、操作系统、网络系统等的安全性直接影响数据库的安全 |
管理制度不健全,有法不依、执法不严 | 单位内部用户有意无意地泄露用户信息 |
1.发展历程
时间 | 名称 | 评估准则 |
---|---|---|
1985年 | 美国国防部(DoD)正式颁布《DoD可信计算机系统评估准则》(简称TCSEC或DoD85) | 欧洲的信息技术安全评估准则(ITSEC) 加拿大的可信计算机产品评估准则(CTCPEC) 美国的信息技术安全联邦标准(FC) |
1993 | CTCPEC、FC、TCSEC和ITSEC联合行动,解决原标准中概念和技术上的差异,称为CC(Common Criteria)项目 | ----------- |
1999 | CC V2.1版被ISO采用为国际标准, 2001年 CC V2.1版被我国采用为国家标准 | ----------- |
目前CC已基本取代了TCSEC,成为评估信息产品安全性的主要标准
TCSEC/TDI安全级别划分
安全功能要求 安全保证要求
《信息安全等级保护管理办法》规定,信息系统的安全保护等级分为以下五级,一至五级等级逐级增高:
第一级,信息系统受到破坏后,会对公民、法人和其他组织的合法权益造成损害,但不损害国家安全、社会秩序和公共利益。第一级信息系统运营、使用单位应当依据国家有关管理规范和技术标准进行保护。
第二级,信息系统受到破坏后,会对公民、法人和其他组织的合法权益产生严重损害,或者对社会秩序和公共利益造成损害,但不损害国家安全。国家信息安全监管部门对该级信息系统安全等级保护工作进行指导。
第三级,信息系统受到破坏后,会对社会秩序和公共利益造成严重损害,或者对国家安全造成损害。国家信息安全监管部门对该级信息系统安全等级保护工作进行监督、检查。
第四级,信息系统受到破坏后,会对社会秩序和公共利益造成特别严重损害,或者对国家安全造成严重损害。国家信息安全监管部门对该级信息系统安全等级保护工作进行强制监督、检查。
第五级,信息系统受到破坏后,会对国家安全造成特别严重损害。国家信息安全监管部门对该级信息系统安全等级保护工作进行专门监督、检查。
我国安全法相关的法律法规
1.《中华人民共和国网络安全法》,2017年6月1日起施行。
2. 《中华人民共和国个人信息保护法(草案)》。
3.《互联网信息服务管理办法》,2000年9月25日施行。
4.《计算机信息网络国际联网安全保护管理办法》,1997年12月30日实施。
5.中办、国办《关于进一步加强互联网管理工作的意见》(中办发[2004]32号)。
6.中央网信办《关于加强党政机关网站安全管理的通知》(中网办发文[2014]1号)。
- 编写合法程序绕过数据库管理系统及其授权机制;
- 直接或编写应用程序执行非授权操作;
- 通过多次合法查询数据库从中推导出一些保密数据。
- 系统根据用户标识鉴定用户身份,合法用户才准许进入计算机系统。
- 数据库管理系统还要进行存取控制,只允许用户执行合法操作 。
- 操作系统有自己的保护措施 。
- 数据以密码形式存储到数据库中。
第一,数据库管理系统对提出SQL访问请求的数据库用户进行身份鉴别,防止不可信用户使用系统。
第二,在SQL处理层进行自主存取控制和强制存取控制,进一步可以进行推理控制。
第三 对用户访问行为和系统关键操作进行审计,对异常用户行为进行简单入侵检测。
静态口令鉴别 | 静态口令一般由用户自己设定,这些口令是静态不变的。 |
---|---|
动态口令鉴别 | 口令是动态变化的,每次鉴别时均需使用动态产生的新口令登录数据库管理系统,即采用一次一密的方法。 |
生物特征鉴别 | 通过生物特征进行认证的技术,生物特征如指纹、虹膜和掌纹等。 |
智能卡鉴别 | 智能卡是一种不可复制的硬件,内置集成电路的芯片,具有硬件加密功能。 |
方法 | 级别 | 描述 |
---|---|---|
自主存取控制(DAC) | C2级 | 用户对不同的数据对象有不同的存取权限;不同的用户对同一对象也有不同的权限;用户还可将其拥有的存取权限转授给其他用户。 |
强制存取控制(MAC) | B1级 | 每一个数据对象被标以一定的密级;每一个用户也被授予某一个级别的许可证;对于任意一个对象,只有具有合法许可证的用户才可以存取。 |
关系数据库系统中的存取权限
1、语法
GRANT <权限>[,<权限>]...
ON <对象类型> <对象名>[,<对象类型> <对象名>]…
TO <用户>[,<用户>]...
[WITH GRANT OPTION] ;
说明:WITH GRANT OPTION 表示用户可以转授此权限。
2、功能
将对指定操作对象的指定操作权限授予指定的用户 。
3、能执行GRANT命令的数据库用户:
数据库管理员 数据库对象创建者(即属主Owner) 拥有该权限的用户
4、按受权限的用户
一个或多个具体用户
PUBLIC(即全体用户)
5、权限不能循环转授
、、、
6、实例
把查询XXX表的权限授予用户User | GRANT SELECT ON TABLE Student TO U1; |
---|---|
把对S1表和S2表的全部权限授予用户U1和U2。 | GRANT ALL PRIVILIGES ON TABLE S1 ,S2 TO U1,U2 |
把对表SC的查询权限授予所有用户 | GRANT SELECT ON TABLE SC TO PUBLIC |
把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户 | GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION |
说明:U5不仅拥有了对表SC的INSERT权限, 还可以转授此权限
1、语法
REVOKE <权限>[,<权限>]…
ON <对象类型> <对象名>[,<对象类型><对象名>]…
FROM <用户>[,<用户>]…[CASCADE | RESTRICT];
说明:
2、功能
收回授予用户的权限,授予的权限可以由数据库管理员或其他授权者用户。
把用户U修改学生学号的权限收回 | REVOKE UPDATE(Sno) ON TABLE STUDENT FROM U |
---|---|
收回所有用户对表SC的查询权限 | REVOKE SELECT ON TABLE SC FROM PUBLIC |
把用户U5对SC表的INSERT权限收 | REVOKE INSERT ON TABLE SC FROM U5 CASCADE |
注意:CASCADE:级联 RESTRICT: 限制;
此处:将用户U5的INSERT权限收回的时候应该使用CASCADE,否则拒绝执行该语句 ;
如果U6或U7还从其他用户处获得对SC表的INSERT权限,则他们仍具有此权限,系统只收回直接或间接从U5处获得的权限 。
3.小结
数据库管理员(DBA): | 拥有所有对象的所有权限;根据实际情况不同的权限授予不同的用户。 |
---|---|
用户 | 拥有自己建立的对象的全部的操作权限;可以使用GRANT,把权限授予其他用户。 |
被授权的用户 | 如果具有“继续授权”的许可,可以把获得的权限再授予其他用户;所有授予出去的权力在必要时又都可用REVOKE语句收回。 |
1.语法: 数据库管理员在创建用户时实现
CREATE USER < username>
[ WITH] [DBA|RESOURCE|CONNECT];
注:CREATE USER不是SQL标准,各个系统的实现相差甚远
2.CREATE USER语句说明:
- 只有系统的超级用户才有权创建一个新的数据库用户; 新创建的数据库用户有三种权限:CONNECT、RESOURCE和DBA;
- 如没有指定创建的新用户的权限,默认该用户拥有CONNECT权限。拥有CONNECT权限的用户不能创建新用户,不能创建模式,也不能创建基本表,只能登录数据库;
- 拥有RESOURCE权限的用户能创建基本表和视图,成为所创建对象的属主。但不能创建模式,不能创建新的用户;
- 拥有DBA权限的用户是系统中的超级用户,可以创建新的用户、创建模式、创建基本表和视图等;DBA拥有对所有数据库对象的存取权限,还可以把这些权限授予一般用户
1、数据库角色定义
是一个具有一组确定数据库权限的对象,用户与该角色绑定便获得了该角色具有的权限。
2、创建角色
CREATE ROLE <角色名>
3、给角色授权
GRANT <权限>[,<权限>]…
ON <对象类型>对象名
TO <角色>[,<角色>]…
4、将一个角色授予其他的角色或用户
GRANT <角色1>[,<角色2>]…
TO <角色3>[,<用户1>]…
[WITH ADMIN OPTION]
说明:
该语句把角色授予某用户,或授予另一个角色; 授予者是角色的创建者或拥有在这个角色上的ADMIN OPTION; 指定了WITH ADMIN
OPTION则获得某种权限的角色或用户还可以把这种权限授予其他角色; 一个角色的权限:直接授予这个角色的全部权限加上其他角色,授予这个角色的全部权限。
5、角色权限的收回
REVOKE <权限> [,<权限>]…
ON <对象类型> <对象名>
FROM <角色>[,<角色>]…
说明:
用户可以回收角色的权限,从而修改角色拥有的权限;
REVOKE执行者是角色的创建者,拥有在这个(些)角色上的ADMIN OPTION。
6、实例
创建一个角色:R1—》
GRANT ROLE R1
赋予查询,更新,插入权限给角色R1
GRANT SELECT ,UPDATE,INSERT ON TABLE T1 TO R1
赋予XXXR1的所有权限
GRANT R1 TO XXX
删除R1的删除权限
REVOKE DELETE ON TABLE T1 FROM R1
1、在强制存取控制中,数据库管理系统所管理的全部实体被分为主体和客体两大类:
1、主体是系统中的活动实体 ,数据库管理系统所管理的实际用户, 代表用户的各进程。
2、客体是系统中的被动实体,受主体操纵 的数据对象 文件、基本表、索引、视图
实现强制存取控制时要首先实现自主存取控制
原因:较高安全性级别提供的安全保护要包含较低级别的所有保护
2、敏感标记
对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label), 敏感度标记分成若干级别:
3、强制存取控制规则
1、仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体。
2、仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体
4、DAC + MAC安全检查
先进行自主存取控制检查,通过自主存取控制检查的数据对象再由系统进行强制存取控制检查,只有通过强制存取控制检查的数据对象方可存取。
审计功能把用户对数据库的所有操作自动记录下来放入审计日志中,审计员可以利用审计日志监控数据库的各种行为。
1、审计事件
- 审计数据库服务器发生的事件
- 对系统拥有的结构或模式对象进行操作的审计要求该操作的权限是通过系统权限获得的
- 对SQL语句,如DDL、DML及DCL语句的审计
- 对特定模式对象上进行的SELECT或DML操作的审计
2、审计功能
基本功能:提供多种审计查阅方式提供多种审计查阅方式
多套审计规则:一般在初始化设定
提供审计分析和报表功能
审计日志管理功能:
防止审计员误删审计记录, 审计日志必须先转储后删除
对转储的审计记录文件提供完整性和保密性保护
只允许审计员查阅和转储审计记录不允许任何用户新增和修改审计记录等
提供查询审计设置及审计记录信息的专门视图
3、AUDIT语句和NOAUDIT语句
AUDIT语句:设置审计功能
NOAUDIT语句:取消审计功能
4、实例
对修改SC表结构或修改SC表数据的操作进行审计
AUDIT ALTER,UPDATE ON SC;
取消对SC表的一切审计
NOAUDIT ALTER UPDATE ON CS;
1、数据加密
防止数据库中数据在存储和传输中失密的有效手段。
1.1、加密的基本思想
根据一定的算法将原始数据—明文(Plain text)变换为不可直接识别的格式—密文(Cipher text)。
加密方法
存储加密
传输加密
2、存储加密
- 透明存储加密 内核级加密保护方式,对用户完全透明 将数据在写到磁盘时对数据进行加密,授权用户读取数据时再对其进行解密
- 数据库的应用程序不需要做任何修改,只需在创建表语句中说明需加密的字段即可 内核级加密方法: 性能较好,安全完备性较高 非透明存储加密
- 通过多个加密函数实现
3、传输加密
链路加密 在链路层进行加密 传输信息由报头和报文两部分组成
报文和报头均加密
端到端加密
在发送端加密,接收端解密
只加密报文不加密报头
所需密码设备数量相对较少,容易被非法监听者发现并从中获取敏感信息
处理强制存取控制未解决的问题
避免用户利用能够访问的数据推知更高密级的数据
基于函数依赖的推理控制 基于敏感关联的推理控制
处理强制存取控制未解决的问题
描述个人控制其不愿他人知道或他人不便知道的个人数据的能力
范围很广:数据收集、数据存储、数据处理和数据发布等各个阶段
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。