DM 安全管理学习

DM安全管理自学

1. 安全体系架构

达梦数据库安全产品版本:

标准版:只包含基本安全功能(可免费下载试用)

企业版:功能最全,运行最稳定

安全版:增加强制访问控制、登录限制等

军用版:面向军用需求的定制安全功能

安全可信版:增加环境标记、多要素访问控制、多线程加密等

商密版本:采用商密算法,通过国密办产品认证。

2. 多权分立

达梦数据库默认使用三权分立,将传统的数据库管理员划分为三个可以互相制约的角色。三种管理员安全功能如下:

数据库管理员:

身份验证、资源限制、数据加密、访问控制、客体重用

数据库审计员:审计

数据库安全员:策略和标记管理

在数据库初始化时用户可根据需要设定系统级角色和对应的权限。一旦设定不可修改系统角色权限。系统提供常用的权限分立方案供用户选择能力

3. 身份验证

1) 身份验证方式:

身份验证方式主要有以下几种:

数据库口令验证

基于UKEY的身份验证

外部身份认证:KERBEROS,LDAP

2)口令的复杂度要求

0: 无限制;

1: 禁止与用户名相同;

2: 口令长度不小于6个字符;

4: 至少包含一个大写字母(A-Z);

8: 至少包含一个数字(0-9);

16:至少包含一个标点符号(英文输入法状态下,除双引号和空格外的所有符号);

若为其他数字,则表示配置值的和,如3=1+2,表示同时启用第1项和第2项限制。

4. 资源限制

1) 资源限制是用于限制用户对达梦系统资源的使用,达梦提供了资源限制选项

资源限制项

说明

最大值

最小值

缺省值

SESSION_PER_USER

在一个实例中,一个用户可以同时拥有的会话数量

32768

1

系统所能提供的最大值

CONNECT_IDLE_TIME

会话最大空闲时间(单位:10分钟)

144

(天)

1

无限制

FAILED_LOGIN_ATTEMPS

将引起一个帐户被锁定的连续注册失败的次数

100

1

3

PASSWORD_LIFE_TIME

一个口令在其终止前可以使用的天数

365

1

无限制

PASSWORD_REUSE_TIME

一个口令在可以重新使用前必须经过的天数

365

1

无限制

PASSWORD_REUSE_MAX

一个口令在可以重新使用前必须改变的次数

32768

1

无限制

PASSWORD_LOCK_TIME

如果超过FAILED_LOGIN_ATTEMPS设置值,一个帐户将被锁定的分钟数

1440

(天)

1

1

PASSWORD_GRACE_TIME

以天为单位的口令过期宽限时间

30

1

10

2) IP地址限制项

IP地址限制项

集合状态

IP地址集合

不允许的IP地址

N

N

允许的IP地址

Y

Y

IP限制结果

只允许属于集合Y的IP地址

只允许属于集合N以外的所有IP地址

允许所有IP,即无任何IP地址限制

只允许属于Y-N (差集)集合的IP地址

3) 时间段限制

时间段限制项

集合状态

时间段集合

不允许的时间段

N

N

允许的时间段

Y

Y

时间段限制结果

只允许属于集合Y的时间段

只允许属于集合N以外的所有时间段

允许所有IP,即无任何时间段限制

只允许属于Y-N (差集)集合的时间段

5. 权限管理

1)用户、权限及角色的关系

用户:使用者在数据库系统中的身份。

权限:数据库系统可以授予操作者的最小权力单位。

角色:一组权限的集合。

2) 用户

A. 预定义用户

在系统中预定义的用户。达梦数据库中预设定用户分为管理用户(系统管理员角色)、审计用户(系统审计员角色)和安全用户(系统安全员角色)三大类。

在四权模式下,还包括预设的对象用户(对象管理员角色)。

以下为达梦数据库系统默认含有以下预定义用户

类型

用户

说明

系统管理员

SYSDBA

缺省系统管理员和数据库管理员

系统审计员

SYSAUDITOR

缺省系统审计管理员和数据库审计管理员

系统安全员

SYSSSO

缺省系统标记管理员和数据库标记管理员

对象管理员

SYSDBO

缺省数据库对象管理员

※注意:预定义用户口令可在初始化数据库实例时修改

B. 自定义用户

由用户自己创建的数据库用户。

其中用户只能创建与其类型相同的用户:

※管理类用户只能创建管理用户

※审计类用户只能创建审计用户

※安全类用户只能创建安全用户

3) 角色

A. 预定义角色

预定义的角色在数据库被创建之后即存在,并且已经包含了一些权限。数据库管理员可以将这些角色直接授予用户。

达梦数据库系统默认含有以下固定角色

分类

角色名称

说明

管理类

DBA

数据库管理角色,在该数据库内具备除审计和标记相关权限之外的所有权限

RESOURCE

RESOURCE具备部分创建数据库对象的权限,且对其自身创建的数据库对象拥有所有的权限,并能将其转授给其他用户

PUBLIC

PUBLIC只能连接数据库并访问部分数据字典。在缺省情况下,每个普通用户在被创建时即具有此角色

审计类

DB_AUDIT_ADMIN

数据库审计管理角色,在该库内具备所有与审计相关的权限,包括创建审计用户和进行数据库审计

DB_AUDIT_OPER

可连接数据库并进行审计操作

DB_AUDIT_PUBLIC

只能连接数据库并访问部分数据字典。缺省情况下,每个审计用户在被创建时即具有此角色

安全类

DB_POLICY_ADMIN

数据库标记管理角色,在该库内具备所有与标记相关的权限,包括创建标记用户和管理数据库标记

DB_POLICY_OPER

可连接数据库并进行标记操作

DB_POLICY_PUBLIC

只能连接数据库并访问部分数据字典。缺省情况下,每个标记用户在被创建时即具有此角色

B. 自定义角色

由用户自己创建的数据库角色。

特点:用户自定义角色只能是管理类角色。系统不支持创建新的审计类和安全类角色,只能使用预定义角色

4) 权限

A. 系统权限

规定允许用户在数据库中执行特定的操作,例如执行DDL语句。一般包括以下语句:

create、drop、alter、audit、label

table, view, sequence,trigger, function

BACKUP DATABASE:备份数据库

ALTER DATABASE:修改数据库

CREATE TABLESPACE:创建表空间

ALTER TABLESPACE:修改表空间

DROP TABLESPACE:删除表空间

CREATE USER:创建用户

ALTER USER:修改用户

DROP USER:删除用户

CREATE ROLE:创建角色

CREATE SCHEMA:创建模式

CREATE TABLE:创建表

CREATE VIEW:创建视图

CREATE PROCEDURE:创建存储过程/函数

CREATE SEQUENCE:创建序列

CREATE TRIGGER:创建触发器

CREATE INDEX:创建索引

CREATE CONTEXTINDEX:创建全文索引

CREATE LINK:创建数据库链接

AUDIT DATABASE:审计数据库

LABEL DATABASE:标记数据库

B. 对象权限

规定允许用户对数据库对象执行特定的操作,例如对表执行DML语句。一般包括以下语句:

select、insert、update、delete、references、execute

权限名称

说明

作用数据库对象

SELECT

查询

表(列)、视图(列)、序列

INSERT

插入

表(列)、视图(列)

UPDATE

更新

表(列)、视图(列)

DELETE

删除

表、视图

REFERENCES

引用

表(列)

EXECUTE

执行

存储过程、存储函数

6. 访问控制

访问控制是指:对主体访问客体的操作权限实施控制。也就是规定:什么用户对哪些数据对象可执行什么操作。

目的:保证用户只能访问他有权访问的数据,不能访问他无权访问的数据。

访问控制主要分为以下三类:

自主访问控制

强制访问控制(安全版功能)

基于行为的访问控制(安全可信版功能)

1) 自主访问控制

自主访问控制主要通过授权(grant)和回收权限(revoke)来实现。

A. 权限授予

用户待授出的权限必须是其已拥有的并且能够授出的权限。用户拥有该权限的转授权或者是该权限所依附的对象的建立者。

① 授予系统权限

系统权限的授予者一般是数据库管理员。其他用户转授其拥有的系统权限时,该权限必须是通过WITH ADMIN OPTION获取的。

② 授予对象权限

对象权限的授予一般由对象的所有者完成,也可由SYSDBA完成。其他用户转授其拥有的对象权限时,该权限必须是通过WITH GRANT OPTION获取的。

B. 权限回收

用户权限的回收一般由该权限的直接授出用户回收。

① 回收系统权限

转授的系统权限不能被间接回收,即系统不支持通过级联方式回收用户间接获得的该权限。

② 回收对象权限

被转授过的对象权限必须通过级联方式CASCADE回收,此时该权限的所有转授权限也将一并收回。不指定级联方式,默认为RESTRICT,则无法进行回收。

C. 视图权限授予

用户创建视图时,受到其在该视图所在基表上的权限限制,视图只能定义在该用户有访问权限的基表对象上;

若视图包含不止一个基表,则只能定义在该用户在这些基表上的访问权限的交集上;

用户可以将其在某个视图上拥有的可转授权限转授其他用户;

达梦数据库对视图等“嵌套”对象的权限检查采用“调用者”模式,即用户访问视图时必须同时具备视图所在基表的权限。

D. 自主访问控制实现

为了避免重复分析主体对客体是否有访问权限,DM采用如下实现方案:

① 在分析阶段生成执行计划时,搜集所有需要访问的对象;

② 生成执行计划后,一次性判断用户是否具有所有这些对象上的访问权限;

③ 如果具有需要的所有权限,则继续执行;否则,报错返回。

2) 强制访问控制(安全版功能)

强制访问控制是比自主访问控制更严格的安全控制手段,主要是通过对主客体进行标记来实现的;

主体的安全标记反映了主体的可信程度;客体的安全标记反应了其包含信息的敏感程度;

达梦数据库的强制访问控制由安全管理员实施,能够覆盖所有数据库主客体,访问控制粒度可以达到行/列级。

A. 策略

一个策略包括一组预定义的标记组件。

一个策略可以应用在多个用户或对象上,在单个用户或对象上也可以应用多个策略。

系统可定义多个策略,每个策略互相独立。

B. 标记组件

① 等级(level):等级是一线性有序的名称序列,等级表示的值越大,等级就越高。

② 范围(compartment):范围是一组元素的集合,元素彼此间独立、无序。

③ 组(group):组是一组树状结构的元素集合,元素之间有父子之分。

C. 标记

标记用于标识数据库中主体的可信度及客体的敏感度。标记必须包含等级组件,非等级组件则是可选的。标记用字符串表示,在标记格式中,等级和范围必须严格按照顺序进行排列(中间不能包含空格),否则为不合法的标记。

合法与不合法标记示例:

合法标记: L1::   L1:C1:   L1:C1,C2:   L1::G1

不合法标记:::   :C1:   :C1:G1   G1,G2

① 指定等级:包含最高等级、最低等级、默认等级和行等级

※最高等级限制了用户最高的读写权限

※最低等级限制了用户的写权限

※默认等级为用户的会话标记等级,介于最高和最低等级之间

※行等级为插入一行数据的行标记等级

② 指定范围:包括读范围、写范围、默认范围和行范围

写范围必须是读范围的子集,默认范围是读范围的子集,行范围是写范围和默认范围的交集的子集

③ 指定组:组的规则和范围相同

④ 客体标记

客体包括关系表中的行以及其他数据库对象

行标记:

※行标记为插入该记录时的用户行标记

※行标记存储在关系表指定的系统扩展标记列中

※该标记列可以设置隐藏或显示,在表上应用安全策略时指定并扩展生成

※可以同时将多个安全策略应用到同一表上,每个对应一个标记列

⑤ 对象标记:包括列、表等在内的所有数据库对象的标记

※对象标记在应用安全策略到该对象上时指定

※同样可以同时将多个安全策略应用到同一对象上

⑥ 标记的比较

设存在两个非空标记Lable1和Lable2:

※若二者等级相等,且范围、组对应全部相同,则表示Lable1等于Lable2;

※若Lable1的等级大于或等于Lable2的等级,且Lable1的范围包含Lable2的范围,Lable1的组包含Lable2的一个组或其祖先组,则表示Lable1可支配Lable2;

※否则,Lable1不支配Lable2。

⑦ 读写规则

用户访问对象时,必须保证应用于对象及该对象的上层对象上的所有策略均适用于该用户,否则访问被拒绝。

※读写标记的判断采用自上而下依次检查的原则,层次的最上层是模式,然后是表、视图级别,最后是列、索引级别。

※若对象未应用任何策略,则只需满足自主访问控制即可。

读访问规则:用户的标记必须能够支配对象/元组的标记或标记为NULL。

写访问规则(更新、删除)

※对象标记的等级必须大于等于用户标记的最小等级,小于或等于用户的会话标记的等级;

※用户的标记必须包含对象的所有范围上的写权限;

※用户的标记必须包含至少一个对象或其父对象组的写权限;

对视图等“嵌套”对象,其策略标记及其“嵌套”访问的任何基表上的策略标记的比较都必须符合上述规则。

7. 安全审计

1)概念

跟踪数据库操作,监视输出信息,以确定是否存在违背安全性的行为。

执行审计所需的权限如下:

A. 只有数据库审计员才能进行进行审计操作,数据库管理员和安全员不能参与审计活动。

B. 达梦预定义系统审计管理员(SYSAUDITOR)。

2) 审计的种类

A. 系统级审计

系统的启动与关闭,此级别的审计记录在任何情况下都会强制产生,无法也无需由用户进行设置。

B. 语句级审计

导致影响特定类型数据库对象的特殊SQL或语句组的审计。如AUDIT TABLE 将审计CREATE TABLE、ALTER TABLE和DROP TABLE等语句。

C. 对象级审计

审计作用在特殊对象上的语句。如PERSON表上的INSERT语句。

3) 开启审计功能

在DM系统中,启用审计功能需要两步

① 打开审计开关(默认审计开关关闭),并重启数据库服务。

② 对指定的审计对象设置审计,否则不记录审计记录。

8. 数据库加密

1) 基本概念

对称密码算法:加密和解密使用相同密钥的密码算法。

A. 分组密码算法:将输入数据划分成固定长度的分组进行加解密的一类对称密码算法。

B. 分组密码算法工作模式:分组密码算法的使用方式,主要包括:

电码本工作模式(ECB)、密码分组链接工作模式(CBC)、密码反馈工作模式(CFB)、输出反馈工作模式(OFB)。

C. 序列密码算法:也成流密码算法,将明文逐比特/字符运算的一种对称密码算法。

D. 非对称密码算法/公钥密码算法:加密和解密使用不同密钥的密码算法。其中一个密钥(公钥)可以公开,另一个密钥(私)必须保密,且由公钥求解私钥是计算不可行的。

椭圆曲线密码算法(ECC):基于有限域上椭圆曲线离散对数问题的非对称密码算法。

E. 密码杂凑算法:又称杂凑算法、密码散列算法或哈希算法。该算法将一个任意长的比特串映射到一个固定长的比特串,且满足三个特性:碰撞稳固性,原根稳固性和第二原根稳固性。

F. 数字证书:也称公钥证书,由证书认证机构(CA)签名的包含公开密钥拥有者信息、公开密钥、签发者信息、有效期以及扩展信息的一种数据结构。

按类别可分为个人证书、机构证书和设备证书,按用途可分为签名证书和加密证书。

G. SSL协议:一种传输层安全协议,用于构建客户端和服务端之间的安全通道。

2) 密钥管理

达梦数据库采用多级密钥管理机制,整个系统的密钥分为库内密钥、数据库主密钥、服务器主密钥。

A. 库内密钥

※包括用户密钥、列加密密钥,由系统随机生成或用户指定

※库内密钥通过数据库主密钥加密保护

B. 数据库主加密

※在初始化数据库时随机生成,用于库内密钥、数据库对象信息的加密保护

※数据库主密钥由服务器主密钥加密保护

C. 服务器主加密

在系统安装过程中随机生成,由专门的UKey 进行加密保护

3) 通信加密

达梦数据库通信加密的目的是保证数据在客户端和服务器端的传输安全,防止恶意用户截取网络中传输的数据包。

其中通信加密可通过修改参数ENABLE_ENCRYPT来设置

达梦数据库的通信加密是基于安全套接字层(SSL)协议实现的。

※SSL协议使用公钥加密体系并结合对称密钥加密体系来提供身份认证、数据加密、数据完整性校验、数字签名等一系列的服务。

※为了保证通信双方是可信任的,公钥加密体系中的公钥都是以数字证书形式存在。

※启用通信加密后,客户端、服务器须使用相配套文件的证书文件,并置于指定目录下。

4)透明存储加密

加解密对用户是未知的,数据写入到磁盘前系统对数据自动加密,数据读入到内存后系统对数据自动解密

※支持多种加密粒度

※支持多种数据类型

※支持多媒体字段加密

※支持索引、全文索引加密

※支持日志加密

※支持审计日志加密

达梦透明存储加密主要分为以下两种:

块加密和列加密

5) 加密引擎

达梦数据库采用“插件”技术实现加密引擎

系统实现了一整套加密算法的调用框架和接口,可直接加入第三方加密算法。

系统支持多加密引擎,通过加密引擎封装硬件访问接口,无需修改数据库管理系统任何代码即可支持多个任意常规密码硬件设备。

9. 客体重用

客体重用用于防止恶意进程获取数据库客体残留在内存或磁盘中的信息。

达梦数据库通过参数ENABLE_OBJ_REUSE设置是否启动客体重用控制。

达梦数据库主要从内存和文件进行客体重用控制。

内存控制:系统分配及释放内存时对内存内容进行清零。

文件控制:系统生成、扩展及删除文件时,对文件内容进行清零。

作业:

DM技术培训作业

课程名称:lesson09--安全管理

一、 选择题(共10分,每题2分)

1、 下面关于达梦数据库产品安全等级的说法错误的是(C)

A. 通过了公安部信息安全产品检测中心安全四级检验

B. 通过了军用信息安全产品军B+级认证

C. 最高安全等级相当于可信计算机系统评测标准TCSEC定义的B1级

D. 安全功能并不局限于相应安全等级定义的范围

2、 下面关于达梦数据库产品安全架构的说法正确的是(ACD)(多选)

A. 安全架构涵盖数据库系统服务器及其客户端

B. 不支持通过引入第三方安全机制实现数据库系统安全增强

C. 数据库系统服务器与客户端之间的通信采用SSL安全可信连接

D. 通过身份鉴别、访问控制、数据加密、安全审计等多种方式保护用户数据私密性

3、 下面关于达梦数据库产品角色/用户管理的说法正确的是(ABD)(多选)

A. 默认按“三权分立”原则管理数据库角色及用户

B. 管理员可实施的系统级操作范围是产品预设的,不允许任何修改

C. 系统初始化完成后,可以增加新的管理员角色

D. 各类管理员用户都可以增加新的同类用户协助其实施数据库管理

4、 下面关于达梦数据库产品用户身份验证的说法正确的是(ABCD)(多选)

A. 支持数据库用户口令验证和口令复杂度管理

B. 支持数据库用户口令的使用限制管理

C. 支持使用UKEY实现用户身份验证的安全增强

D. 支持基于Kerberos或LDAP的数据库外部身份验证

5、 下面关于达梦数据库产品权限管理的说法错误的是(BD)(多选)

A. 数据库的权限可以划分为系统权限和对象权限两类

B. 权限管理的粒度可以到列级,同时用户可以在行(记录)级别上进行权限分配

C. 用户待授出的权限必须是其已拥有的并且能够授出的权限

D. 所有转授的权限都可以通过CASCADE级联回收

二、 判断题(共10分,每题2分)

1、 系统管理员可以将表的查询权限赋予系统安全员,从而实现行级的强制访问控制。(×)

2、 系统预定义的管理员用户的口令可以在初始化数据库实例时修改。(√)

3、包括系统安全员的标记管理在类的所有用户操作都能被系统审计。(√)

4、数据库的表空间加密支持半透明存储加密方式。(×)

5、客体重用用于防止恶意进程获取数据库客体残留在内存或磁盘中的信息。(√)

三、 填空题(共10分,每题2分)

1、 数据库默认的用户口令复杂度要求是 口令长度不少于6个字符 

2、 资源限制用于限制 用户 对数据库系统资源的使用。

3、授予用户可转授的系统权限时,需要附加的SQL子句是 WITH ADMIN OPTION

4、数据库系统可以通过 加密引擎 技术实现对各类密码设备的透明支持。

5、拥有较为完整安全功能的达梦产品是达梦数据库(安全版)和 达梦安全可信数据库 

四、 解答题(共20分,每题10分)

1、 请说明达梦数据库自主访问控制和强制访问控制的特点和执行过程。

1) 达梦数据库系统根据用户的权限执行自主访问控制,即根据授权情况进行检查,以决定是执行操作还是拒绝执行。DM采用了安全标准规定的“三权分立”模型,实现了管理员三权分立,各行其责,相互制约。同时改进了模型,支持将数据控制权从数据库管理员手中转移到数据拥有者手中,使得管理员与非授权的数据使用人员均无法对数据进行访问、探查。

2) 达梦数据库系统的强制访问控制采用类似ORACLE的方式,利用策略和标记来实现数据库的强制访问机制。系统可定义多个策略,每个策略互相独立。一个策略包括一组预定义的标记组件,包括等级、范围和组。强制访问控制能够覆盖数据库的所有主客体。

3) 达梦数据库系统的自主访问控制优先于强制访问控制。为了能访问一条元组,用户不仅首先要满足自主访问控制条件,还必须满足强制访问控制的条件。

2、 请说明达梦数据库存储加密的分类及各自的特点。

达梦数据库存储加密分为透明加密、半透明加密和非透明加密。

1) 透明加密

透明加密的加密和解密过程对用户来说就是透明的,用户读写数据非常方便,和读写非加密数据完全一样。透明加密根据加密对象的粒度不同进一步分为列加密和块加密,前者针对关系表中的单个列,施行一列一密;后者可以是整库加密,也可以是表空间加密。

2) 半透明加密

半透明加密的目的是为了保护合法用户的个人私密数据,它的功效是将不同用户写入的数据用用户自己的用户密钥加密保护起来,防止其他用户获取到用户的个人私密数据。

3) 非透明加密

非透明加密的目的是用户纯手工方式进行加密和解密,加密和解密的整个过程都是用户手动去实现的,数据库管理系统不为用户存储和管理非透明加密的密钥、算法和其他的一系列加密参数。用户每次写入数据时,自己手动指定加密的参数;用户每次读取数据时,自己手动指定解密的参数。

五、 上机题(共30分,每题10分)

1、 权限管理:

1)创建一个名为USER1的用户,并具有RESOURCE角色;

2)创建表TABLE1,将表TABLE1的SELECT、INSERT权限授予用户USER1;

3)用USER1用户登录达梦,向表TABLE1插入一条数据,查看结果,再删除该数据,查看结果。

1) 

create user user1 identified by "dm12345678";

grant resource to user1;

2) 

create table table1(ID int,name varchar);

grant select,insert on "SYSDBA"."TABLE1" to "USER1";

3)

insert into table1 values(ID’1’,name’pxd’);

select * from table1;

https://eco.dameng.com

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值