摘要信创数据库上 K8s 是大趋势但等保三级测评一直是头号难题容器边界模糊、权限难管控、日志易丢失、数据传输明文裸奔很多团队上线后被测评机构打回整改耗时数月。本文基于政务、金融一线项目实测通过的加固经验完整映射等保三级「身份鉴别、访问控制、安全审计、入侵防范、数据保密性」五大核心控制点从 K8s 平台层到人大金仓 V9 / 达梦 DM9 数据库层给出全套可直接复制的加固配置与 YAML 模板覆盖三权分立、细粒度审计、国密传输加密、透明存储加密、运行时最小权限六大合规硬骨头照着做就能过测评。政务选金仓金融选达梦MySQL 迁移选金仓Oracle 迁移选达梦。全文无空泛理论所有配置均经过等保测评验证直接抄就能用。一、先搞懂容器化数据库等保三级到底查什么 核心结论容器化不是法外之地等保三级的要求只会比物理机更严不会更松。测评机构会从「平台 应用 数据」三层逐层往下查。很多团队有个误区K8s 平台做了安全数据库就不用管了。实际上等保三级针对计算环境的要求最终都要落到具体业务系统上数据库作为核心数据载体是测评的重中之重。容器化场景下额外增加三类合规风险边界模糊传统物理机有明确 IP 和主机边界容器漂移、共享内核边界消失访问控制难度陡增生命周期短容器销毁重建是常态日志留存、审计追溯难度大默认配置不安全默认 root 运行、默认无网络隔离、默认明文传输处处都是合规漏洞1.1 五大必查核心控制点身份鉴别登录必须身份认证管理员账号三权分立禁止弱口令访问控制最小权限原则网络微隔离越权操作必须拦截安全审计全操作可追溯日志留存不少于 180 天日志不可篡改入侵防范漏洞管理、恶意代码防范、异常行为检测数据安全传输加密、存储加密、备份可用性、敏感数据保护二、合规控制点全景映射表测评对照用等保三级控制点K8s 层落地措施数据库层落地措施测评权重身份鉴别RBAC 最小权限、ServiceAccount 绑定、禁止匿名访问三权分立账号体系、口令复杂度策略、登录失败锁定⭐⭐⭐⭐⭐访问控制NetworkPolicy 网络微隔离、SecurityContext 权限收敛、Secret 密钥管理角色权限分离、列级权限控制、高危操作限制⭐⭐⭐⭐⭐安全审计K8s 审计日志开启、集群操作审计、日志集中留存 180 天全操作审计、审计日志加密防篡改、独立存储⭐⭐⭐⭐⭐入侵防范镜像漏洞扫描、禁止特权容器、运行时安全检测登录异常检测、SQL 注入防护、漏洞补丁管理⭐⭐⭐⭐数据保密性TLS 传输加密、Secret 加密存储国密传输加密、TDE 透明存储加密、敏感字段加密⭐⭐⭐⭐⭐数据完整性校验机制、传输防篡改日志数字签名、备份完整性校验⭐⭐⭐⭐备份恢复存储快照、PVC 数据保护全量 增量备份、备份定期恢复验证⭐⭐⭐⭐资源控制Requests/Limits 资源配额、QoS 保障连接数限制、资源池管控⭐⭐⭐ 测评高分技巧以上控制点全部落地再补充管理制度和应急预案基本就能稳过三级。其中身份鉴别、访问控制、安全审计、数据保密性是一票否决项绝对不能缺。三、K8s 平台层安全加固计算环境底座平台层是第一道防线这层做不好数据库层再加固也没用。3.1 身份鉴别RBAC 最小权限体系1. 禁止默认 ServiceAccount 挂载权限默认 ServiceAccount 权限过大数据库 Pod 必须使用独立的、权限最小的 ServiceAccount。# 数据库专用ServiceAccount仅授予必要权限 apiVersion: v1 kind: ServiceAccount metadata: name: dmdb-sa namespace: dmdb automountServiceAccountToken: false # 禁止自动挂载token防止容器内越权访问API2. 操作审计管理员操作全留痕集群管理员账号统一通过堡垒机登录开启操作审计K8s API Server 开启审计日志所有增删改操作全记录禁止直接使用集群管理员证书操作业务资源3.2 访问控制网络微隔离 运行时权限收敛1. NetworkPolicy 强制微隔离默认拒绝所有入站流量仅白名单放行业务访问端口防止横向渗透。# 达梦数据库网络策略 apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: dmdb-network-policy namespace: dmdb spec: podSelector: matchLabels: app: dmdb policyTypes: - Ingress - Egress ingress: # 只允许业务命名空间访问数据库端口 - from: - namespaceSelector: matchLabels: project: business-app ports: - protocol: TCP port: 5236 # 允许主备节点之间同步端口互访 - from: - podSelector: matchLabels: app: dmdb ports: - protocol: TCP port: 5236 - protocol: TCP port: 5536 egress: # 允许DNS解析 - to: - namespaceSelector: {} podSelector: matchLabels: k8s-app: kube-dns ports: - protocol: UDP port: 53 - protocol: TCP port: 53 # 允许访问日志中心、备份存储 - to: - ipBlock: cidr: 10.0.0.0/16 ports: - protocol: TCP port: 514 - protocol: TCP port: 9000⚠️ 巨坑提醒很多人配了 NetworkPolicy 却忘了放开 DNS导致数据库域名解析失败主备同步断连排查起来非常隐蔽。2. 运行时最小权限彻底禁 root、禁特权数据库容器必须以非 root 用户运行收敛所有不必要的系统能力这是等保必查项。securityContext: runAsUser: 5236 # 固定非root用户 runAsGroup: 5236 fsGroup: 5236 runAsNonRoot: true # 强制非root运行 readOnlyRootFilesystem: true # 根文件系统只读防止篡改 allowPrivilegeEscalation: false # 禁止权限提升 capabilities: drop: - ALL # 丢弃所有Linux能力 add: - IPC_LOCK # 仅保留内存锁定权限大页需要 seccompProfile: type: RuntimeDefault # 使用默认安全计算模式拦截危险系统调用3. 敏感信息管理所有密钥进 Secret数据库密码、授权文件、加密密钥绝对不能写在镜像、ConfigMap 或 YAML 明文里统一通过 Secret 管理挂载使用。# 敏感信息通过Secret挂载不进入环境变量防止进程列表泄露 volumeMounts: - name: db-secret mountPath: /dm/secret readOnly: true volumes: - name: db-secret secret: secretName: dmdb-secret defaultMode: 0400 # 仅运行用户可读3.3 安全审计日志全采集、留存 180 天K8s 集群审计API Server 审计日志统一采集到独立日志平台留存不少于 180 天容器日志采集数据库运行日志、审计日志通过 Sidecar 或 DaemonSet 方式采集不依赖容器本地存储日志防篡改日志平台开启写保护只允许追加不允许修改删除满足审计追溯要求3.4 镜像安全从源头堵住漏洞镜像来源可信只能从私有镜像仓库拉取禁止直接拉取公网镜像漏洞扫描每次构建镜像必须执行漏洞扫描高危漏洞必须修复才能上线镜像签名生产环境启用镜像内容信任Content Trust仅运行经过签名的镜像最小化镜像使用 Distroless 或精简基础镜像减少攻击面四、数据库层加固人大金仓 V9 合规配置金仓 V9 企业版内置完整安全体系适配等保三级要求核心做好三权分立、审计、加密三件事。4.1 身份鉴别三权分立 口令策略1. 三权分立账号体系等保三级要求系统管理员、安全管理员、审计管理员三权分离不能一人兼任。角色账号职责系统管理员system数据库日常运维、对象管理安全管理员sso权限管理、安全策略配置审计管理员auditor审计规则配置、审计日志查看-- 创建安全管理员 CREATE USER sso WITH SUPERUSER CREATEROLE PASSWORD 强口令; -- 创建审计管理员 CREATE USER auditor WITH LOGIN PASSWORD 强口令; -- 授权审计插件权限 GRANT ALL ON SCHEMA sysaudit TO auditor;2. 口令复杂度与登录锁定-- 设置口令最小长度12位 ALTER SYSTEM SET password_min_length 12; -- 必须包含大小写、数字、特殊字符三类以上 ALTER SYSTEM SET password_policy medium; -- 口令有效期90天 ALTER SYSTEM SET password_valid_days 90; -- 连续5次登录失败锁定30分钟 ALTER SYSTEM SET password_lock_time 30; ALTER SYSTEM SET password_max_fail 5;4.2 安全审计全操作可追溯、防篡改金仓 V9 内置 sysaudit 审计插件无需额外组件完全满足等保三级审计要求。核心审计配置kingbase.conf# 开启审计总开关 sysaudit.log on # 审计日志格式JSON便于日志平台解析 sysaudit.log_format json # 异步写入减少对业务性能影响 sysaudit.log_write_mode async # 单日志文件1G自动轮转 sysaudit.log_rotation_size 1024MB # 日志留存180天 sysaudit.log_rotation_age 180d # 审计范围配置 sysaudit.log_connections on # 审计登录登出 sysaudit.log_disconnections on # 审计登出 sysaudit.log_ddl on # 审计所有DDL操作 sysaudit.log_dml on # 审计DML操作 sysaudit.log_delete on # 重点审计删除操作 sysaudit.log_failed_statements on # 审计执行失败的SQL审计日志独立存储审计日志必须挂载独立 PVC与数据目录分离防止数据库故障导致审计日志丢失同时便于对接日志平台。4.3 访问控制最小权限原则业务账号只授予必要的表权限禁止直接使用 system 账号跑业务敏感表配置列级权限普通用户不能访问身份证、手机号等敏感字段禁止普通账号执行 drop table、truncate 等高危操作运维操作统一通过运维账号操作全审计五、数据库层加固达梦 DM9 合规配置达梦 DM9 安全能力非常完善原生支持三权分立、国密加密、审计签名是金融信创合规首选。5.1 身份鉴别三权分立体系达梦原生支持三权分立三个管理员账号相互独立、相互制约。角色默认账号核心职责系统管理员SYSDBA数据库运行维护、对象创建安全管理员SYSSSO安全策略、权限管理、标记设置审计管理员SYSAUDITOR审计规则配置、审计日志管理⚠️ 注意三个账号权限完全隔离SYSDBA 看不到审计日志SYSAUDITOR 改不了业务数据完全符合等保三权分立要求。口令安全策略-- 由SYSSSO配置口令策略 SP_SET_PARA_VALUE(1, PWD_POLICY, 7); -- 口令复杂度大小写数字特殊字符 SP_SET_PARA_VALUE(1, PWD_MIN_LEN, 12); -- 最小长度12位 SP_SET_PARA_VALUE(1, PWD_MAX_AGE, 90); -- 有效期90天 SP_SET_PARA_VALUE(1, FAILED_LOGIN_ATTEMPS, 5);-- 连续5次失败锁定 SP_SET_PARA_VALUE(1, PASSWORD_LOCK_TIME, 30); -- 锁定30分钟5.2 安全审计加密 签名防篡改达梦审计功能非常强支持审计日志国密加密和数字签名彻底解决审计日志被篡改的问题。-- 由SYSAUDITOR开启全局审计 SP_SET_ENABLE_AUDIT(1); -- 审计登录失败与成功 SP_AUDIT_LOGIN(ALL, SUCCESS); SP_AUDIT_LOGIN(ALL, FAIL); -- 审计所有DDL操作 SP_AUDIT_STMT(ALL, ALL, ALL); -- 审计敏感表的删除、更新操作 SP_AUDIT_TABLE(DELETE, ALL, USER_INFO, ALL); SP_AUDIT_TABLE(UPDATE, ALL, USER_INFO, ALL);审计日志防篡改配置等保三级加分项-- 开启审计日志SM4国密加密 SP_SET_PARA_VALUE(2, AUDIT_FILE_ENCRYPT, 1); -- 设置加密密钥需32位妥善保管 SP_SET_PARA_STRING_VALUE(2, AUDIT_FILE_ENCRYPT_KEY, 合规项目专用密钥32位xxxxxx); -- 开启审计日志数字签名防止篡改 SP_SET_PARA_VALUE(2, AUDIT_FILE_SIGN, 1);配置后审计日志被篡改会立即被识别完全满足等保审计数据完整性要求。5.3 访问控制精细化权限管控业务用户只授予 connect、resource 角色禁止 DBA 权限敏感表配置行级、列级访问控制高危操作drop、truncate、alter database只授予系统管理员限制 IP 登录重要账号绑定运维网段 IP六、数据安全体系传输加密 存储加密 备份合规数据安全是等保三级的核心传输和存储都不能裸奔。6.1 传输加密国密算法全链路加密人大金仓 V9 国密 SSL 配置# kingbase.conf ssl on ssl_cert_file server.crt ssl_key_file server.key ssl_ca_file root.crt # 国密SM2-SM3-SM4套件 ssl_ciphers SM2-SM3-SM4客户端 JDBC 连接串增加ssltrue参数全链路密文传输内网抓包也看不到明文数据。达梦 DM9 通信加密配置达梦支持应用层消息包加密无需改业务代码配置即可生效-- 服务端开启SM4国密通信加密 SP_SET_PARA_VALUE(2, COMM_ENCRYPT_NAME, SM4);✅ 优势应用层加密不依赖 SSL 证书配置简单性能损耗低完全满足等保传输保密性要求。6.2 存储加密TDE 透明数据加密敏感数据落盘必须加密防止硬盘被拔走导致数据泄露。数据库加密方式算法支持业务改造人大金仓 V9TDE 表空间透明加密SM4/AES零改造达梦 DM9TDE 全库透明加密SM4/AES零改造以达梦 TDE 为例核心配置# dm.ini ENCRYPT_NAME SM4 EKM_PATH https://内部KMS地址/api密钥由独立 KMS 系统管理密钥与数据分离满足密评三级要求。6.3 备份合规可恢复、可验证备份策略每周全量 每日增量备份数据加密存储备份留存全量备份留存 30 天月末备份留存 1 年定期恢复演练每季度至少做一次恢复演练验证备份可用性形成演练记录备份异地存储核心系统备份数据同步到异地机房应对机房级故障七、运行时入侵防范与异常监控7.1 入侵检测能力建设容器运行时安全部署容器安全平台实时检测反弹 Shell、恶意进程、文件篡改、横向渗透等攻击行为数据库异常检测异常登录告警非工作时间登录、陌生 IP 登录、多次登录失败异常操作告警批量删表、大量数据导出、权限变更性能异常告警TPS 突降、连接数暴涨、IO 异常7.2 漏洞与补丁管理定期扫描数据库、K8s 组件、操作系统的安全漏洞建立补丁管理机制高危漏洞 72 小时内修复补丁上线前必须在测试环境验证禁止直接在生产打补丁7.3 应急响应制定数据库安全事件应急预案覆盖数据泄露、勒索攻击、权限越权等场景每年至少开展一次应急演练。八、测评高频踩坑点与整改方案⚠️坑 1审计日志存在容器里重启就丢问题审计日志写在容器可写层Pod 重建后审计日志丢失追溯断档整改审计目录独立挂载 PVC同时实时同步到集中日志平台双份留存⚠️坑 2数据库密码写在环境变量里问题通过环境变量传密码进程列表、容器 inspect 都能看到明文不符合保密要求整改通过 Secret 文件挂载方式读取密码禁止明文环境变量传递⚠️坑 3网络策略配了但没生效问题装了 CNI 插件但不支持 NetworkPolicy配了策略等于没配整改确认网络插件支持 NetworkPolicyCalico、Cilium 支持Flannel 默认不支持用实际访问验证策略生效⚠️坑 4容器以 root 用户运行问题默认镜像 root 运行权限过大不符合最小权限原则整改切换为非 root 用户运行配置 securityContext 强制校验⚠️坑 5日志留存不够 180 天问题本地日志轮转快日志平台只存 30 天不满足三级留存要求整改日志平台扩容存储调整留存策略为 180 天以上审计日志建议留存 1 年⚠️坑 6备份只做不验证问题每天备份但从来没恢复过真出问题了发现备份不可用整改每季度执行一次恢复演练输出恢复验证报告这是测评必查文档九、加固验证与自检测试清单加固完成后按以下清单自测确保每项都达标检测项检测方法达标标准非 root 运行进入容器执行idUID 不为 0网络隔离业务外 Pod telnet 数据库端口连接超时 / 被拒绝传输加密内网抓包数据库端口流量无明文 SQL 与数据审计开启查询数据库审计开关审计已开启覆盖登录 / DDL / 高危操作三权分立验证三个管理员账号权限隔离相互不可越权口令策略测试弱口令是否能创建无法创建弱口令日志留存查看日志平台保留策略≥180 天备份可用性执行一次恢复演练恢复成功数据完整漏洞扫描扫描镜像与数据库无高危及以上漏洞总结容器化数据库过等保三级核心不是堆安全设备而是把基础工作做扎实平台层管好权限、隔好网络、收好日志数据库层落实三权分立、全开审计、加密传输存储。这套方案在政务、金融多个信创项目实测通过照着配置基本可以一次性通过测评。信创合规不是一次性工作而是持续运营的过程。加固只是第一步后续的漏洞管理、日志审计、应急演练同样重要。政务选金仓金融选达梦MySQL 迁移选金仓Oracle 迁移选达梦。专栏推荐专注 SpringBoot3 人大金仓 达梦信创实战持续输出生产级部署、性能调优、安全合规、避坑指南干货关注不迷路。觉得文章有用的话欢迎点赞、收藏、关注三连后续更新更多信创数据库云原生落地的硬核内容。
信创云原生合规:K8s 部署国产数据库等保三级安全加固全方案|实测通过政务测评
摘要信创数据库上 K8s 是大趋势但等保三级测评一直是头号难题容器边界模糊、权限难管控、日志易丢失、数据传输明文裸奔很多团队上线后被测评机构打回整改耗时数月。本文基于政务、金融一线项目实测通过的加固经验完整映射等保三级「身份鉴别、访问控制、安全审计、入侵防范、数据保密性」五大核心控制点从 K8s 平台层到人大金仓 V9 / 达梦 DM9 数据库层给出全套可直接复制的加固配置与 YAML 模板覆盖三权分立、细粒度审计、国密传输加密、透明存储加密、运行时最小权限六大合规硬骨头照着做就能过测评。政务选金仓金融选达梦MySQL 迁移选金仓Oracle 迁移选达梦。全文无空泛理论所有配置均经过等保测评验证直接抄就能用。一、先搞懂容器化数据库等保三级到底查什么 核心结论容器化不是法外之地等保三级的要求只会比物理机更严不会更松。测评机构会从「平台 应用 数据」三层逐层往下查。很多团队有个误区K8s 平台做了安全数据库就不用管了。实际上等保三级针对计算环境的要求最终都要落到具体业务系统上数据库作为核心数据载体是测评的重中之重。容器化场景下额外增加三类合规风险边界模糊传统物理机有明确 IP 和主机边界容器漂移、共享内核边界消失访问控制难度陡增生命周期短容器销毁重建是常态日志留存、审计追溯难度大默认配置不安全默认 root 运行、默认无网络隔离、默认明文传输处处都是合规漏洞1.1 五大必查核心控制点身份鉴别登录必须身份认证管理员账号三权分立禁止弱口令访问控制最小权限原则网络微隔离越权操作必须拦截安全审计全操作可追溯日志留存不少于 180 天日志不可篡改入侵防范漏洞管理、恶意代码防范、异常行为检测数据安全传输加密、存储加密、备份可用性、敏感数据保护二、合规控制点全景映射表测评对照用等保三级控制点K8s 层落地措施数据库层落地措施测评权重身份鉴别RBAC 最小权限、ServiceAccount 绑定、禁止匿名访问三权分立账号体系、口令复杂度策略、登录失败锁定⭐⭐⭐⭐⭐访问控制NetworkPolicy 网络微隔离、SecurityContext 权限收敛、Secret 密钥管理角色权限分离、列级权限控制、高危操作限制⭐⭐⭐⭐⭐安全审计K8s 审计日志开启、集群操作审计、日志集中留存 180 天全操作审计、审计日志加密防篡改、独立存储⭐⭐⭐⭐⭐入侵防范镜像漏洞扫描、禁止特权容器、运行时安全检测登录异常检测、SQL 注入防护、漏洞补丁管理⭐⭐⭐⭐数据保密性TLS 传输加密、Secret 加密存储国密传输加密、TDE 透明存储加密、敏感字段加密⭐⭐⭐⭐⭐数据完整性校验机制、传输防篡改日志数字签名、备份完整性校验⭐⭐⭐⭐备份恢复存储快照、PVC 数据保护全量 增量备份、备份定期恢复验证⭐⭐⭐⭐资源控制Requests/Limits 资源配额、QoS 保障连接数限制、资源池管控⭐⭐⭐ 测评高分技巧以上控制点全部落地再补充管理制度和应急预案基本就能稳过三级。其中身份鉴别、访问控制、安全审计、数据保密性是一票否决项绝对不能缺。三、K8s 平台层安全加固计算环境底座平台层是第一道防线这层做不好数据库层再加固也没用。3.1 身份鉴别RBAC 最小权限体系1. 禁止默认 ServiceAccount 挂载权限默认 ServiceAccount 权限过大数据库 Pod 必须使用独立的、权限最小的 ServiceAccount。# 数据库专用ServiceAccount仅授予必要权限 apiVersion: v1 kind: ServiceAccount metadata: name: dmdb-sa namespace: dmdb automountServiceAccountToken: false # 禁止自动挂载token防止容器内越权访问API2. 操作审计管理员操作全留痕集群管理员账号统一通过堡垒机登录开启操作审计K8s API Server 开启审计日志所有增删改操作全记录禁止直接使用集群管理员证书操作业务资源3.2 访问控制网络微隔离 运行时权限收敛1. NetworkPolicy 强制微隔离默认拒绝所有入站流量仅白名单放行业务访问端口防止横向渗透。# 达梦数据库网络策略 apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: dmdb-network-policy namespace: dmdb spec: podSelector: matchLabels: app: dmdb policyTypes: - Ingress - Egress ingress: # 只允许业务命名空间访问数据库端口 - from: - namespaceSelector: matchLabels: project: business-app ports: - protocol: TCP port: 5236 # 允许主备节点之间同步端口互访 - from: - podSelector: matchLabels: app: dmdb ports: - protocol: TCP port: 5236 - protocol: TCP port: 5536 egress: # 允许DNS解析 - to: - namespaceSelector: {} podSelector: matchLabels: k8s-app: kube-dns ports: - protocol: UDP port: 53 - protocol: TCP port: 53 # 允许访问日志中心、备份存储 - to: - ipBlock: cidr: 10.0.0.0/16 ports: - protocol: TCP port: 514 - protocol: TCP port: 9000⚠️ 巨坑提醒很多人配了 NetworkPolicy 却忘了放开 DNS导致数据库域名解析失败主备同步断连排查起来非常隐蔽。2. 运行时最小权限彻底禁 root、禁特权数据库容器必须以非 root 用户运行收敛所有不必要的系统能力这是等保必查项。securityContext: runAsUser: 5236 # 固定非root用户 runAsGroup: 5236 fsGroup: 5236 runAsNonRoot: true # 强制非root运行 readOnlyRootFilesystem: true # 根文件系统只读防止篡改 allowPrivilegeEscalation: false # 禁止权限提升 capabilities: drop: - ALL # 丢弃所有Linux能力 add: - IPC_LOCK # 仅保留内存锁定权限大页需要 seccompProfile: type: RuntimeDefault # 使用默认安全计算模式拦截危险系统调用3. 敏感信息管理所有密钥进 Secret数据库密码、授权文件、加密密钥绝对不能写在镜像、ConfigMap 或 YAML 明文里统一通过 Secret 管理挂载使用。# 敏感信息通过Secret挂载不进入环境变量防止进程列表泄露 volumeMounts: - name: db-secret mountPath: /dm/secret readOnly: true volumes: - name: db-secret secret: secretName: dmdb-secret defaultMode: 0400 # 仅运行用户可读3.3 安全审计日志全采集、留存 180 天K8s 集群审计API Server 审计日志统一采集到独立日志平台留存不少于 180 天容器日志采集数据库运行日志、审计日志通过 Sidecar 或 DaemonSet 方式采集不依赖容器本地存储日志防篡改日志平台开启写保护只允许追加不允许修改删除满足审计追溯要求3.4 镜像安全从源头堵住漏洞镜像来源可信只能从私有镜像仓库拉取禁止直接拉取公网镜像漏洞扫描每次构建镜像必须执行漏洞扫描高危漏洞必须修复才能上线镜像签名生产环境启用镜像内容信任Content Trust仅运行经过签名的镜像最小化镜像使用 Distroless 或精简基础镜像减少攻击面四、数据库层加固人大金仓 V9 合规配置金仓 V9 企业版内置完整安全体系适配等保三级要求核心做好三权分立、审计、加密三件事。4.1 身份鉴别三权分立 口令策略1. 三权分立账号体系等保三级要求系统管理员、安全管理员、审计管理员三权分离不能一人兼任。角色账号职责系统管理员system数据库日常运维、对象管理安全管理员sso权限管理、安全策略配置审计管理员auditor审计规则配置、审计日志查看-- 创建安全管理员 CREATE USER sso WITH SUPERUSER CREATEROLE PASSWORD 强口令; -- 创建审计管理员 CREATE USER auditor WITH LOGIN PASSWORD 强口令; -- 授权审计插件权限 GRANT ALL ON SCHEMA sysaudit TO auditor;2. 口令复杂度与登录锁定-- 设置口令最小长度12位 ALTER SYSTEM SET password_min_length 12; -- 必须包含大小写、数字、特殊字符三类以上 ALTER SYSTEM SET password_policy medium; -- 口令有效期90天 ALTER SYSTEM SET password_valid_days 90; -- 连续5次登录失败锁定30分钟 ALTER SYSTEM SET password_lock_time 30; ALTER SYSTEM SET password_max_fail 5;4.2 安全审计全操作可追溯、防篡改金仓 V9 内置 sysaudit 审计插件无需额外组件完全满足等保三级审计要求。核心审计配置kingbase.conf# 开启审计总开关 sysaudit.log on # 审计日志格式JSON便于日志平台解析 sysaudit.log_format json # 异步写入减少对业务性能影响 sysaudit.log_write_mode async # 单日志文件1G自动轮转 sysaudit.log_rotation_size 1024MB # 日志留存180天 sysaudit.log_rotation_age 180d # 审计范围配置 sysaudit.log_connections on # 审计登录登出 sysaudit.log_disconnections on # 审计登出 sysaudit.log_ddl on # 审计所有DDL操作 sysaudit.log_dml on # 审计DML操作 sysaudit.log_delete on # 重点审计删除操作 sysaudit.log_failed_statements on # 审计执行失败的SQL审计日志独立存储审计日志必须挂载独立 PVC与数据目录分离防止数据库故障导致审计日志丢失同时便于对接日志平台。4.3 访问控制最小权限原则业务账号只授予必要的表权限禁止直接使用 system 账号跑业务敏感表配置列级权限普通用户不能访问身份证、手机号等敏感字段禁止普通账号执行 drop table、truncate 等高危操作运维操作统一通过运维账号操作全审计五、数据库层加固达梦 DM9 合规配置达梦 DM9 安全能力非常完善原生支持三权分立、国密加密、审计签名是金融信创合规首选。5.1 身份鉴别三权分立体系达梦原生支持三权分立三个管理员账号相互独立、相互制约。角色默认账号核心职责系统管理员SYSDBA数据库运行维护、对象创建安全管理员SYSSSO安全策略、权限管理、标记设置审计管理员SYSAUDITOR审计规则配置、审计日志管理⚠️ 注意三个账号权限完全隔离SYSDBA 看不到审计日志SYSAUDITOR 改不了业务数据完全符合等保三权分立要求。口令安全策略-- 由SYSSSO配置口令策略 SP_SET_PARA_VALUE(1, PWD_POLICY, 7); -- 口令复杂度大小写数字特殊字符 SP_SET_PARA_VALUE(1, PWD_MIN_LEN, 12); -- 最小长度12位 SP_SET_PARA_VALUE(1, PWD_MAX_AGE, 90); -- 有效期90天 SP_SET_PARA_VALUE(1, FAILED_LOGIN_ATTEMPS, 5);-- 连续5次失败锁定 SP_SET_PARA_VALUE(1, PASSWORD_LOCK_TIME, 30); -- 锁定30分钟5.2 安全审计加密 签名防篡改达梦审计功能非常强支持审计日志国密加密和数字签名彻底解决审计日志被篡改的问题。-- 由SYSAUDITOR开启全局审计 SP_SET_ENABLE_AUDIT(1); -- 审计登录失败与成功 SP_AUDIT_LOGIN(ALL, SUCCESS); SP_AUDIT_LOGIN(ALL, FAIL); -- 审计所有DDL操作 SP_AUDIT_STMT(ALL, ALL, ALL); -- 审计敏感表的删除、更新操作 SP_AUDIT_TABLE(DELETE, ALL, USER_INFO, ALL); SP_AUDIT_TABLE(UPDATE, ALL, USER_INFO, ALL);审计日志防篡改配置等保三级加分项-- 开启审计日志SM4国密加密 SP_SET_PARA_VALUE(2, AUDIT_FILE_ENCRYPT, 1); -- 设置加密密钥需32位妥善保管 SP_SET_PARA_STRING_VALUE(2, AUDIT_FILE_ENCRYPT_KEY, 合规项目专用密钥32位xxxxxx); -- 开启审计日志数字签名防止篡改 SP_SET_PARA_VALUE(2, AUDIT_FILE_SIGN, 1);配置后审计日志被篡改会立即被识别完全满足等保审计数据完整性要求。5.3 访问控制精细化权限管控业务用户只授予 connect、resource 角色禁止 DBA 权限敏感表配置行级、列级访问控制高危操作drop、truncate、alter database只授予系统管理员限制 IP 登录重要账号绑定运维网段 IP六、数据安全体系传输加密 存储加密 备份合规数据安全是等保三级的核心传输和存储都不能裸奔。6.1 传输加密国密算法全链路加密人大金仓 V9 国密 SSL 配置# kingbase.conf ssl on ssl_cert_file server.crt ssl_key_file server.key ssl_ca_file root.crt # 国密SM2-SM3-SM4套件 ssl_ciphers SM2-SM3-SM4客户端 JDBC 连接串增加ssltrue参数全链路密文传输内网抓包也看不到明文数据。达梦 DM9 通信加密配置达梦支持应用层消息包加密无需改业务代码配置即可生效-- 服务端开启SM4国密通信加密 SP_SET_PARA_VALUE(2, COMM_ENCRYPT_NAME, SM4);✅ 优势应用层加密不依赖 SSL 证书配置简单性能损耗低完全满足等保传输保密性要求。6.2 存储加密TDE 透明数据加密敏感数据落盘必须加密防止硬盘被拔走导致数据泄露。数据库加密方式算法支持业务改造人大金仓 V9TDE 表空间透明加密SM4/AES零改造达梦 DM9TDE 全库透明加密SM4/AES零改造以达梦 TDE 为例核心配置# dm.ini ENCRYPT_NAME SM4 EKM_PATH https://内部KMS地址/api密钥由独立 KMS 系统管理密钥与数据分离满足密评三级要求。6.3 备份合规可恢复、可验证备份策略每周全量 每日增量备份数据加密存储备份留存全量备份留存 30 天月末备份留存 1 年定期恢复演练每季度至少做一次恢复演练验证备份可用性形成演练记录备份异地存储核心系统备份数据同步到异地机房应对机房级故障七、运行时入侵防范与异常监控7.1 入侵检测能力建设容器运行时安全部署容器安全平台实时检测反弹 Shell、恶意进程、文件篡改、横向渗透等攻击行为数据库异常检测异常登录告警非工作时间登录、陌生 IP 登录、多次登录失败异常操作告警批量删表、大量数据导出、权限变更性能异常告警TPS 突降、连接数暴涨、IO 异常7.2 漏洞与补丁管理定期扫描数据库、K8s 组件、操作系统的安全漏洞建立补丁管理机制高危漏洞 72 小时内修复补丁上线前必须在测试环境验证禁止直接在生产打补丁7.3 应急响应制定数据库安全事件应急预案覆盖数据泄露、勒索攻击、权限越权等场景每年至少开展一次应急演练。八、测评高频踩坑点与整改方案⚠️坑 1审计日志存在容器里重启就丢问题审计日志写在容器可写层Pod 重建后审计日志丢失追溯断档整改审计目录独立挂载 PVC同时实时同步到集中日志平台双份留存⚠️坑 2数据库密码写在环境变量里问题通过环境变量传密码进程列表、容器 inspect 都能看到明文不符合保密要求整改通过 Secret 文件挂载方式读取密码禁止明文环境变量传递⚠️坑 3网络策略配了但没生效问题装了 CNI 插件但不支持 NetworkPolicy配了策略等于没配整改确认网络插件支持 NetworkPolicyCalico、Cilium 支持Flannel 默认不支持用实际访问验证策略生效⚠️坑 4容器以 root 用户运行问题默认镜像 root 运行权限过大不符合最小权限原则整改切换为非 root 用户运行配置 securityContext 强制校验⚠️坑 5日志留存不够 180 天问题本地日志轮转快日志平台只存 30 天不满足三级留存要求整改日志平台扩容存储调整留存策略为 180 天以上审计日志建议留存 1 年⚠️坑 6备份只做不验证问题每天备份但从来没恢复过真出问题了发现备份不可用整改每季度执行一次恢复演练输出恢复验证报告这是测评必查文档九、加固验证与自检测试清单加固完成后按以下清单自测确保每项都达标检测项检测方法达标标准非 root 运行进入容器执行idUID 不为 0网络隔离业务外 Pod telnet 数据库端口连接超时 / 被拒绝传输加密内网抓包数据库端口流量无明文 SQL 与数据审计开启查询数据库审计开关审计已开启覆盖登录 / DDL / 高危操作三权分立验证三个管理员账号权限隔离相互不可越权口令策略测试弱口令是否能创建无法创建弱口令日志留存查看日志平台保留策略≥180 天备份可用性执行一次恢复演练恢复成功数据完整漏洞扫描扫描镜像与数据库无高危及以上漏洞总结容器化数据库过等保三级核心不是堆安全设备而是把基础工作做扎实平台层管好权限、隔好网络、收好日志数据库层落实三权分立、全开审计、加密传输存储。这套方案在政务、金融多个信创项目实测通过照着配置基本可以一次性通过测评。信创合规不是一次性工作而是持续运营的过程。加固只是第一步后续的漏洞管理、日志审计、应急演练同样重要。政务选金仓金融选达梦MySQL 迁移选金仓Oracle 迁移选达梦。专栏推荐专注 SpringBoot3 人大金仓 达梦信创实战持续输出生产级部署、性能调优、安全合规、避坑指南干货关注不迷路。觉得文章有用的话欢迎点赞、收藏、关注三连后续更新更多信创数据库云原生落地的硬核内容。