Skip to content

安全总览 ​

rust_svc 的安全不是清单式加固,而是一条设计主线: fail-closed + 纵深防御 + 可举证。本节给地图,细则在各分页。

威胁模型视角的防线 ​

text
攻击面              防线                              证据
─────────────────────────────────────────────────────────────
北向 API            网关认证(验签+吊销三查)           request-lifecycle
                    限流/并发/配额(资源耗尽)           metering
伪造身份            EdDSA 算法面收窄 + JWKS 旋转         identity
伪造租户            客户端租户头剥离 + 信任头注入         multi-tenant
越权访问            授权引擎 deny-first + 行/列策略       authorization
跨租户读写          PG RLS ENABLE+FORCE(裸事务 0 行)    tenant-isolation
DBA/应用缺陷        RLS 与应用代码解耦(数据库层强制)    tenant-isolation
篡改审计            sha256 哈希链 + 周期校验              audit-chain
内部流量窃听        ztunnel L4 mTLS(云化)              istio
横向移动            AuthorizationPolicy 仅网关可访问      istio
供应链投毒          cargo-deny + trivy + cosign + 钉版   supply-chain
敏感数据泄露        列级信封加密 + 等值哈希 + 脱敏        encryption

fail-closed 的具体含义(五处体现) ​

  1. 未认证 = 401(无匿名路径,除显式白名单);
  2. Introspect 不可达时写请求 503(读请求才降级放行);
  3. 无授权 = 403 code 3001(默认拒绝,显式授予才可用);
  4. 信任头解析失败 = 拒绝(没有「当无租户处理」);
  5. profile=prod + authz=off = 拒绝启动。

身份体系一览 ​

凭证形态TTL吊销
用户 access JWTEdDSA15minjti 名单 + ver
用户 refresh旋转式14d旋转失效
AppToken长期凭据手动rotate/revoke
App JWTEdDSA(sub=app, tid=token)15mintoken 镜像

详见身份与令牌。

数据保护一览 ​

层机制
传输云化 ztunnel mTLS;PG TLS(rustls,sslmode=verify-full + CA 注入)
存储-结构化列级 AES-256-GCM 信封 + {field}_hash 等值通道
存储-对象S3 版本化 + 对象锁 WORM(合规保留)
展示字段字典脱敏(email/phone/idcard/name)
审计哈希链防篡改

未实现(诚实清单) ​

OIDC/LDAP/MFA、外部渗透测试、Redis 权威吊销缓存、 Egress 治理、ws 每帧认证——见实现状态矩阵。

相关页面 ​

以仓库代码为事实源构建 · RC Hardening 阶段