导语:
API 与账户仍是攻击焦点:凭证泄露、重放、撞库、成本刷爆。要做到零信任闭环,需要强身份、签名防重放、速率与行为风控、审计可回放。本文给出工程化方案与核查清单。
1. 目标与指标
- 强身份覆盖率:高价值接口 100%(MTLS/OIDC/JWT)。
- 重放防护:签名+时间戳+Nonce 拦截率可观测。
- 风控有效性:速率/行为策略命中率、误报率有基线。
- 审计:关键请求链路、策略决策可检索。
2. 身份与授权分级
- 接口分级:公开/受限/高危(资金、配置、导出)。
- 认证策略:公开接口匿名+限流;受限接口 OAuth2/OIDC;高危接口 MTLS/硬件密钥。
- 授权:Scope/Claims 按动作与资源拆分,高危动作需 Step-up Auth。
3. 签名与重放防护
- 请求:
timestamp + nonce + signature(HMAC/RSA),有效期如 5 分钟。 - 重放缓存:存 nonce/摘要,命中即拒绝。
- 响应回执:关键动作返回签名回执,便于举证。
4. 速率与行为风控
- 多维限流:IP、用户、租户、Token、地理、设备指纹、User-Agent。
- 行为基线:登录/下单/配置修改的速率模型,异常触发验证码/MFA/阻断。
- 成本护栏:对高成本接口设配额与成本预算,防刷爆。
5. 审计与证据包
- 字段:
who/when/where/device_id/ip/risk_score/api/action/result/policy_version。 - 存储:结构化日志入索引/数据仓,支持检索与导出。
- 事件证据:重放拒绝、风险拦截、异常成本事件都需归档。
6. 执行清单
- 身份:IdP 统一,强身份与授权分级上线;高危接口强制 MTLS/硬件密钥。
- 签名:请求签名与重放校验全量开启,灰度验证误报后上线。
- 风控:速率/行为模型生效,成本护栏配置;告警通道验证。
- 审计:证据包模板可用,日志可检索可导出。
7. 看板与演练
- 看板:401/429、风控命中、重放拒绝、成本超限、误报趋势。
- 演练:撞库/重放/成本滥用对抗用例每月演练一次,验证策略与告警。
- 例外:例外审批有期限与责任人,到期自动禁用。
结语:
API 与账户安全要靠“强身份 + 签名防重放 + 行为风控 + 审计闭环”。把这些做成默认工程能力,才能在高频调用与攻击环境中保持可控。
8. 快速核查
- 强身份/签名/重放校验全量启用,灰度误报验证完成。
- 速率/行为风控与成本护栏上线,触发有告警与处置记录。
- 审计证据包可检索可导出,例外有到期提醒。
9. 运行核查
- 强身份与签名校验已全量开启,灰度误报验证完成。
- 风控与成本护栏上线,触发后有告警与处置记录。
- 审计与证据包可检索可导出,例外有到期提醒。
10. 操作示例
- 签名校验脚本:统一中间件校验
timestamp + nonce + signature,有效期 5 分钟,命中重放即拒绝并入索引。 - 风控策略变更:先灰度 5%,看 401/429、误报样本与成本曲线,再全量;回滚策略保留上一版本。
- 证据留存:对撞库/重放/成本滥用事件,保存请求摘要、风险评分、决策版本、处置动作,周报复盘。