FYF
» HerBert
Toggle navigation
FYF
主页
1、用户
2、各种方案
3、备份恢复
4、表空间相关
5、OGG
6、文件管理
7、常见故障分析
8、DG
9、集群相关
HCCDP
实验题
About Me
归档
标签
4、GaussDB安全管理
无
2025-10-04 22:43:03
2
0
0
admin
# GaussDB 安全管理 - 考试核心要点 ## 一、 数据库安全能力架构 ### 1. 数据安全面临的威胁 GaussDB从数据全生命周期的角度应对安全威胁: * **数据安全存储 (at rest)**: 威胁包括拖库、信息提取。方案是透明加密(TDE)和加解密函数。 * **数据安全计算 (in calculation)**: 威胁是查询计算中可能发生的栈溢出信息泄露。方案是全密态数据库。 * **数据安全传输 (in transfer)**: 威胁包括仿冒、钓鱼攻击和重放攻击。方案是HTTPS和TLS。 * **数据安全运维 (under operation)**: 威胁包括权限提升、篡改数据和数据泄露。方案是防篡改数据库和密态数据库。 * **数据安全展示 (outside system)**: 威胁是查询后数据的隐私泄露和权限提升。方案是动态数据脱敏和行级安全。 ### 2. GaussDB安全架构 GaussDB构建了“3+1”数据安全防护能力: * **事前智能感知**: 异常检测、敏感数据发现、最小权限。 * **事中访问控制**: * **中层访问控制**: 包括RBAC(角色访问控制)、RLS(行级访问控制)、三权分立等。 * **内层数据保护**: 包括密钥管理、备份加密、动态脱敏、TDE、全密态。 * **事后审计追溯**: 包括传统审计、细粒度审计和防篡改。 --- ## 二、 登录认证与口令安全 ### 1. 身份认证 * **认证方式**: GaussDB支持**基于主机的认证**、**口令认证**和**SSL加密认证**。 * **gs_hba.conf**: 所有认证方式都需要配置`gs_hba.conf`文件。该文件中的规则越靠前优先级越高。 * **格式**: `TYPE DATABASE USER ADDRESS METHOD`。 * **METHOD**: 支持`trust`、`reject`、`md5`、`sha256`(推荐)、`sm3`(国密,推荐)等。 * **登录校验机制**: 依次检查IP合法性、用户是否存在/被锁定、口令是否正确、database是否匹配、用户有效期、连接数是否达上限。 ### 2. 口令安全 * **口令加密**: 采用PBKDF2算法对口令进行单向不可逆加密。加密方式由`password_encryption_type`参数控制,推荐使用`sha256`(默认值)或`sm3`(国密)。 * **口令复杂度**: 由`password_policy`参数控制,要求至少包含大写、小写、数字、特殊字符中的三类,且不能与用户名、当前密码(或其倒写)相同。 * **弱口令字典**: 支持创建弱口令字典,用户设置的密码如果命中字典则会被拒绝。 ### 3. 安全通信 * **SSL**: GaussDB支持SSL标准协议(TLS1.2)。默认开启SSL功能,并已配置预置证书。 * **证书管理**: 支持国际证书和国密双证书。证书有效期剩余90天时会产生告警。 --- ## 三、 数据库权限管理 ### 1. 用户与角色 (RBAC) * GaussDB采用**基于角色的访问控制 (RBAC)**。用户和角色基本等同,唯一区别是用户(USER)默认具有`LOGIN`权限。 * 角色(ROLE)用于组织和管理权限,权限可以被继承。 ### 2. 系统权限 * 指用户使用数据库的权限,如`LOGIN`、`CREATEDB`、`CREATEROLE`等。 * **重要**: 系统权限**不能**通过角色继承。 * **三权分立**: * 该模型将`SYSADMIN`(系统管理员)的权限拆分,避免权力过度集中。 * **安全管理员 (CREATEROLE)**: 负责创建、修改、删除用户/角色。 * **审计管理员 (AUDITADMIN)**: 负责查看和维护审计日志。 * **系统管理员 (SYSADMIN)**: 权限被限制,主要保留对表空间的操作权限。 * 其他还有**监控管理员(MONADMIN)**和**运维管理员(OPRADMIN)**。 ### 3. 对象权限 * 指在数据库对象(如表、视图、模式)上执行特定动作的权限,如`SELECT`、`INSERT`等。 * 对象权限**可以**通过角色继承。 ### 4. 行级访问控制 (RLS) * **目的**: 将数据库访问控制精确到数据表的**行级别**。 * **原理**: 通过创建`ROW LEVEL SECURITY POLICY`,定义一个过滤表达式(Filter),在查询时自动将此表达式附加到`WHERE`条件中。 * **开启**: 需要在表上执行`ALTER TABLE ... ENABLE ROW LEVEL SECURITY;`。 --- ## 四、 数据库审计 ### 1. 传统审计 * **原理**: 通过GUC参数配置需要审计的操作类型,审计记录以日志形式写入OS文件。 * **管理**: 提供SQL函数接口(如`pg_query_audit`)供审计管理员查询和删除审计记录。 * **配置**: `audit_enabled`为总开关,还有各类子开关如`audit_dml_state_select`等。 ### 2. 统一审计 * **原理**: 通过定制化**审计策略**来实现高效、细粒度的审计。 * **流程**: 1. 对数据库资源(表、列等)打上**资源标签**。 2. 创建审计策略,绑定到特定的资源标签和过滤条件(如用户、IP、APP)上。 * **日志存储**: 审计记录可发送至本地`rsyslog`或`Elastic Search`服务端。 --- ## 五、 高阶安全特性 ### 1. 动态数据脱敏 * **目的**: 在不修改原始数据的前提下,对查询结果中的敏感数据进行变形或屏蔽。 * **原理**: 与RLS类似,通过创建`MASKING POLICY`,将预置的脱敏函数(如`creditcardmasking`, `basicemailmasking`)或自定义函数,在查询重写阶段应用到查询计划中。 * **适用范围**: **仅支持对`SELECT`查询到的数据进行脱敏**。 ### 2. 防篡改账本数据库 * **核心思想**: 保护数据的**完整性 (Integrity)**。 * **组成**: * **账本表**: 存储当前数据,支持增删改查,语法与普通表一致。 * **历史表**: 记录账本表**行级数据变化**的追溯信息(hash链),仅追加。 * **全局表**: 记录对账本表的**操作追溯信息**(SQL语句),仅追加。 * **使用**: 创建`SCHEMA`时指定`WITH BLOCKCHAIN`属性,则该模式下的所有表自动成为账本表。 ### 3. 全密态数据库 * **目的**: 解决数据全生命周期的隐私保护问题,实现**数据在计算、传输、存储过程中全程加密**。 * **加密方案对比**: * **加解密函数**: 在SQL引擎层加密,安全性低,性能差,易用性低。 * **透明加密 (TDE)**: 在存储引擎层加密,安全性中,性能高,易用性高。 * **全密态**: 在**数据库驱动(客户端)层**加密,安全性最高,性能中,易用性高。 * **全密态原理**: * **加密**: 数据在客户端驱动中被加密成密文,再传输到数据库进行存储和计算。 * **密钥管理**: 采用**主密钥-列密钥**两级体系。主密钥由KMS管理,列密钥由主密钥加密后存储在数据库中。最关键的密钥**仅存储在驱动端**。 * **查询**: 目前主要支持**等值查询**。 ### 4. 敏感数据发现 * **目的**: 帮助用户识别数据库中的敏感信息资产。 * **使用**: 通过SQL函数`gs_sensitive_data_discovery()`和`gs_sensitive_data_discovery_detail()`调用。 * **支持类型**: 可识别Email、PhoneNumber、CreditCard、ChineseName、EncryptedContent等5种敏感数据类型。 --- ## 六、 数据库云上安全管理 * **HCS云租户权限控制**: * 支持**RBAC**(适合中小型组织)和**ABAC**(适合大型组织,支持更细粒度控制)两种权限模型。 * **VPC安全组**: * GaussDB实例可以关联安全组,实现网络访问控制。 * 安全组规则遵循**白名单原理**,默认拒绝所有未明确允许的流量。 * **OS加固**: 对操作系统进行多方面的安全加固,包括文件系统、软件服务、通用进程(安全沙箱)、账号口令、日志审计等。 * **操作审计**: 对数据库实例的创建、删除、修改等生命周期管理操作进行审计日志记录,且日志不可删除和修改。
上一篇:
3、静默安装
下一篇:
4、GaussDB数据库性能调优
0
赞
2 人读过
新浪微博
微信
腾讯微博
QQ空间
人人网