KES数据库安全、权限、审计实战
KES数据库安全、权限、审计实战
这一章专门讲生产上线必过的安全关——等保2.0、三权分立、数据脱敏、操作审计、国密加密、权限最小化。内容全部来自政务/金融/央企真实上线场景,完全贴合KES官方安全规范,学完就能直接过等保、过检查、上线不踩坑。
一、📘 本章学习导读
1.1 学习目标
- 掌握KES三权分立安全架构,理解DBA、安全员、审计员分离机制
- 学会用户、角色、权限精细化管理,做到最小权限原则
- 掌握登录控制、密码策略、IP白名单、SSL传输加密
- 熟练配置操作审计、日志留存、异常行为检测
- 学会敏感数据脱敏、行级权限、列级权限控制
- 能独立完成等保2.0要求的数据库安全配置与检查
1.2 本章重点
- 三权分立安全体系
- 用户角色权限实战配置
- 登录安全与传输加密
- 全量操作审计与日志管理
- 敏感数据脱敏与访问控制
- 等保2.0数据库安全标准配置
二、💡 为什么数据库安全是重中之重
只要你做政务、金融、能源、医疗,安全就不是可选项,是准入门槛。
等保不过→不能上线;
权限混乱→出事故背责;
数据泄露→直接违法;
审计不全→检查必挂。
KES从设计之初就走高安全、国密、等保、涉密路线,是国产数据库里安全能力最完整的产品之一。这一章我带你把安全配置一次性做全、做对、做规范。
三、🛡️ KES三权分立安全架构
这是KES最核心的安全机制,也是等保必查项。
3.1 三权分立是什么
把数据库超级权限拆成三个互相独立、互相制约的角色:
- 系统管理员(SYSTEM):负责安装、启动、参数配置、日常运维
- 安全管理员(SECURITY):负责建用户、分配权限、配置安全策略
- 审计管理员(AUDIT):负责开启审计、查看日志、不能操作业务数据
谁也不能独揽大权,从机制上防止越权、误操作、恶意操作。
3.2 三权分立开启方式
-- 开启三权分立(安装时可直接开启)ALTERSYSTEMSETenable_separation=on;开启后,sys用户权限被限制,必须用三个角色分工操作。
四、👤 用户、角色、权限实战配置
权限管理的核心只有一句话:最小够用原则。
4.1 创建业务用户(禁止用sys跑业务)
CREATEUSERbusiness_user IDENTIFIEDBY"Kingbase@2026#"CONNECTIONLIMIT50;4.2 创建角色(统一权限,方便管理)
-- 查询角色CREATEROLE r_query;GRANTSELECTONt_userTOr_query;-- 读写角色CREATEROLE r_rw;GRANTSELECT,INSERT,UPDATE,DELETEONt_orderTOr_rw;4.3 给用户分配角色
GRANTr_queryTObusiness_user;4.4 精细化权限控制
-- 只给某张表的查询GRANTSELECTONt_gov_userTOapp_user;-- 禁止删除任何表REVOKEDROPONALLTABLESINSCHEMApublicFROMapp_user;-- 只允许访问指定字段GRANTSELECT(uid,username)ONt_userTOapp_user;4.5 企业权限规范(直接照抄用)
- 开发人员:只能查询,不能改、不能删
- 应用账号:只给业务表读写,不给系统表
- 运维:只能启停、监控,不能看业务数据
- 审计:只能看日志,不能碰数据
五、🔐 登录安全与访问控制
这是防暴力破解、防非法登录的第一道墙。
5.1 密码策略(等保必开)
-- 密码长度≥12ALTERSYSTEMSETpassword_min_length=12;-- 密码复杂度:字母+数字+符号ALTERSYSTEMSETpassword_min_uppercase=1;ALTERSYSTEMSETpassword_min_lowercase=1;ALTERSYSTEMSETpassword_min_special=1;-- 密码过期90天ALTERSYSTEMSETpassword_life_time=90;5.2 IP白名单(只允许指定机器连接)
修改pg_hba.conf:
# 只允许192.168.1.0/24网段登录 host all all 192.168.1.0/24 scram-sha-256 # 禁止其他所有IP host all all 0.0.0.0/0 reject5.3 SSL传输加密
-- 开启SSLALTERSYSTEMSETssl=on;客户端必须用SSL连接,防止数据在网络上被抓包。
六、📝 操作审计实战:谁操作、什么时候、改了什么
审计是等保2.0核心必过项,必须记录所有增删改查、登录、授权、删表操作。
6.1 开启审计
-- 开启审计插件shared_preload_libraries='audit'-- 记录所有登录ALTERSYSTEMSETaudit_login=on;-- 记录所有DDL(建表、改表、删表)ALTERSYSTEMSETaudit_ddl=on;-- 记录所有DML(增删改)ALTERSYSTEMSETaudit_dml=on;6.2 审计日志查看
-- 查看审计日志SELECT*FROMsys_audit_logORDERBYaudit_timeDESC;日志里会记录:
- 登录账号、IP、时间
- 执行的SQL
- 操作类型(登录/查询/修改/删除)
- 执行结果(成功/失败)
6.3 企业审计规范
- 所有登录必审计
- 所有授权、撤销权限必审计
- 所有删表、删库、truncate必审计
- 所有敏感数据查询必审计
- 日志至少留存6个月
七、🔒 敏感数据脱敏与访问控制
身份证、手机号、银行卡、住址,绝对不能明文暴露。
7.1 动态脱敏(KES自带)
-- 手机号脱敏CREATEMASKING POLICY mask_phoneONt_userFOR(phone)USING(CONCAT(SUBSTR(phone,1,3),'****',SUBSTR(phone,8)));-- 应用到用户ALTERMASKING POLICY mask_phoneENABLE;7.2 行级权限控制(只能看自己的数据)
-- 用户只能查看自己的订单CREATEROWLEVELSECURITY POLICY user_order_policyONt_orderFORSELECTUSING(user_id=current_user_id);7.3 列级权限控制
-- 禁止查看身份证REVOKESELECT(id_card)ONt_userFROMapp_user;八、📊 国密加密与存储安全
等保三级、涉密系统必用国密算法。
8.1 开启国密SSL
-- 使用国密SSL通信ALTERSYSTEMSETssl_ciphers='GMSSL';8.2 数据存储加密
-- 表空间加密CREATETABLESPACEsec_ts ENCRYPTIONUSING'sm4';8.3 敏感字段加密存储
-- 存储加密函数(SM4)INSERTINTOt_user(id_card)VALUES(encrypt('110101199001011234','key','sm4'));九、⚠️ 等保2.0数据库安全检查清单
我给你整理了等保现场检查必过10条,直接对照检查:
- 三权分立已开启
- 密码复杂度、有效期已配置
- IP白名单已限制
- 登录失败锁定已开启
- 全量操作审计已开启
- 敏感数据已脱敏
- 权限按最小分配
- 传输使用SSL加密
- 日志定期备份、留存≥6个月
- 无弱口令、无共享账号、无闲置账号
十、📝 真实企业案例:政务系统安全加固实战
某省政务服务平台上线前等保检查,我用这套方案一次性通过。
10.1 问题清单
- 用sys账号跑业务
- 无IP限制
- 无密码策略
- 无审计
- 身份证、手机号明文展示
- 权限过大
10.2 加固方案
- 开启三权分立
- 重建业务用户,回收sys权限
- 配置密码策略、登录锁定、IP白名单
- 开启全量审计
- 配置身份证、手机号动态脱敏
- 行级权限控制,用户只能看自己数据
- 开启SSL国密加密
10.3 结果
✅ 等保2.0三级顺利通过
✅ 敏感数据不泄露
✅ 权限可控、操作可追溯
✅ 符合政务涉密要求
✅ 稳定运行无安全事件
十一、🚫 安全最容易踩的坑
- sys账号跑业务→ 必挂等保,风险极高
- 密码简单、长期不改→ 暴力破解重灾区
- 不限制IP→ 任何人都能连
- 审计不开→ 出问题查不到源头
- 权限给太满→ 一人失控全库危险
- 敏感数据不脱敏→ 泄露直接违法
十二、✅ 本章总结与下一步学习计划
这一章学完,你已经具备企业级数据库安全工程师能力,等保、涉密、安全检查都能独立搞定。
你已经掌握:
- 三权分立安全架构
- 用户角色权限精细化配置
- 登录安全、IP白名单、SSL加密
- 全量操作审计与日志管理
- 敏感数据脱敏、行/列级权限
- 等保2.0标准加固方案
这是从会用数据库到能上线、能合规、能担责的关键一步。
