生态系统的安全
(部分: 生态系统和网络)
1)目标和原则
目标是确保服务和数据的机密性,完整性和可访问性(CIA),同时扩展生态系统和协议演变。
原则:- 零信任通过设计:不信任网络/主机,根据上下文检查每个活动。
- Least Privilege (PoLP)和need to know: access-最小且可测量。
- Cryptographic assurance:签名/认证/锚,而不是"默认信任"。
- 默认观察:协议中内置了安全信号。
- 深度防御:分层保护(identichnost→set→dannyye→vypusk)。
- Secure-by-default:默认情况下"关闭",显式allow lists。
2)威胁模型(高水平)
网络和外围:DoS/L7-fluds,BGP/Anycast滥用,MITM,DNS替代。
身份和密钥: 钥匙妥协,易受攻击的令牌,签名重播.
数据:PII渗漏,遥测泄漏,元数据操作。
供应链:恶意依赖/账单,替代工件,易受攻击的SDK。
协议/桥梁:reorgs,伪造的prufs,DA延迟,replay跨链消息。
内部风险:错位错误,权利过剩,清算过程薄弱。
3)身份和信任
身份:'org_id'、'peer_id'、服务帐户、用户。
身份验证:mTLS(X.509),OAuth2/OIDC(短寿命的JWT,DPoP/PoP),面向人类的WebAuthn。
授权:多级RBAC/ABAC+策略即代码(OPA/Rego)。
握手时功能匹配(capability negotation):声明版本、QoS、限制和有效域。
政策(YAML)
yaml authz:
roles:
operator. p0: [payouts:write, events:subscribe, bridge:finalize]
reader. api: [rpc:read, catalog:read]
abac:
- when: {org_tier: "gold", region: "eu"}
allow: [qos:P0, data_class:P1]
tokens:
ttl_s: 900 rotation: "7d"
4)网络安全和运输
Шлюзы/edge: WAF, L7-rate-limit, circuit-breaker, outlier-ejection.
流量加密:TLS1。3/mTLS,PFS,严格的ciphers,QUIC/HTTP/3。
隔离:环境细分(prod/stage/dev)、专用网格、egress控制、eBPF-firewall。
P2P:消息签名,反重播窗口,斑点控制(allow/deny),gossip限制。
网络规则示例
yaml network:
ingress:
allow: ["443/tcp","443/udp"] # HTTPS/HTTP3 deny: [""]
egress:
allow_domains: [".trusted. psp",".oracle","crl. ocsp."]
waf:
block: ["sql-injection","xss","proto-smuggling"]
dos:
rps_per_ip: 200 burst: 400
5)数据保护
数据类:P0(付款/密钥)、P1(操作)、P2(日志/诊断)。
加密:at rest(AES-GCM/ChaCha20-Poly 1305),按区域/密码,HSM/KMS,envelope加密。
PII令牌化和化名;遥测/标签中禁止PII。
居住地:区域自由和设施仓库,白色出口清单。
完整性:工件散列寻址,日志变异。
存储策略目录(SQL)
sql
CREATE TABLE data_policies(
data_class TEXT, region TEXT, residency TEXT, kms_key TEXT, retention_days INT,
pii BOOLEAN, export_whitelist TEXT[]
);
6)秘密和密钥管理
生成HSM/KMS,按时间表和事件轮换(损害/解雇)。
关键操作的权力共享(SoD)和M-of-N。
秘密仅在秘密管理器中(不在环境/存储库变量中)。
服务间mTLS,OCSP-stapling/CRL的关键针。
密钥策略
yaml keys:
rotation_days: 30 pinning: true revoke_on:
- "suspicious_use"
- "employee_exit"
audit_required: ["signing_keys","bridge_keys"]
7)安全供应链(SLSA方法)
Provenance:工件签名(sigstore/cosign), SBOM,装配证明。
装配隔离:hermetic builds,可重复性,依赖性扫描(SCA)。
发行策略:金丝雀/蓝绿色,SLO门,杀手开关,哈希回滚。
SDK/客户端: CSP/Referrer-Policy, integrity属性,anti-tamper。
yaml supply_chain:
require_sbom: true attestations: ["build","test","scan"]
deploy:
strategy: "canary"
gates: { error_rate_pct: 0. 4, tti_p95_ms: 2500 }
8)可用性和特权
RBAC/ABAC:角色/属性权限、临时升级(JIT)。
服务:阅读/写入/管理,禁止通配符权利。
运算符:破玻璃通过多因素访问,并记录会话。
审计:不变日志(仅限附录),相关性"request_id/trace_id"。
角色/权利寄存器(SQL)
sql
CREATE TABLE roles(name TEXT PRIMARY KEY, description TEXT);
CREATE TABLE permissions(role TEXT, resource TEXT, action TEXT, PRIMARY KEY(role,resource,action));
9)可观察性,SLI/SLO和安全信号
SLI(内核):- AuthN/AuthZ Success%, Anomalous Deny%;
- Key/Cert Drift(到期/不一致);
- 诚信暴力(签名,CSP);
- Abuse Signals: rate-limit hits, DoS/scan events;
- Data Residency Violations;
- Error Budget Burn по P0.
- Auth p95 ≤ 200 мс, Success ≥ 99.95%;
- 已签署的活动≥ 99。9%;
- CSP违规行为≤ 0。05%的热门歌曲;
- 居住违规行为=0。
Дашборды: Security Posture, Keys & Certs, Supply Chain, Abuse/DoS, Residency & DLP.
10)事件响应(IR)和SOAR
准备:runbook'和负责P0/P1 24 × 7的沟通渠道。
检测:签名/行为规则,SIEM的语音,SOAR自动化。
遏制:令牌/密钥块,路线deny清单,quarantine拓扑。
发布/恢复:轮换,补丁,重新组装,从狙击手中恢复。
Mortem后:72小时内,动作Aitema,政策/测试更新。
SOAR规则(示例)
yaml soar:
playbooks:
key_compromise:
trigger: ["anomalous_sign","suspicious_kid"]
actions: ["revoke_key","rotate","notify_owners","enable_strict_mode"]
11)合规性和居住性
监管要求:数据存储/删除(DSR),报告,RNG/密码学认证。
居住地:按区域键和电压,按白色列表导出。
流程:定期审计,更改记录,关键策略的时间表。
yaml residency:
eu: { pii: "tokenized", export: ["anonymized_metrics"] }
uk: { pii: "tokenized", export: [] }
compliance:
dsr:
erase_sla_days: 30 export_sla_days: 30
12) DR/BCP和可持续性
RPO/RTO目标:P0服务-RPO ≤ 5分钟,RTO ≤ 15分钟。
Geo复制:资产-passive/资产-资产,定期恢复测试。
孤立模式:仅最终化,仅缓存,限制"昂贵"操作。
备用通道:独立的IX/提供商,加密的区域间隧道。
DR政策
yaml dr:
rpo_min: 5 rto_min: 15 exercises: ["quarterly-failover","annual-blackhole"]
13)安全度量与测试
Chaos-security: тесты MITM/DNS-poison/packet-loss/latency.
红色/蓝色团队:网络钓鱼场景,代币劫持,供应链注入。
Tabletop-drills:模拟决策和通信。
自动测试: SAST/DAST/IAST, fuzzing协议,linters.
14)事件花花公子
A.对成员钥匙的损害
1. "revoke_key" → "rotate" →更新受信任的注册表;
2.启用严格模式签名;3)重新吸收关键的蹦床;4)向合作伙伴报告。
B.居住中断
1.立即出口块;2)干扰/删除;3)通知DPO/Compliance;4)更新测试。
C.供应链注射
1.回滚哈希,杀手开关;2)重新验证SBOM/认证;3)CI令牌的轮换;4)后太平间。
D.大规模的DoS/L7洪水
1.激活强化限值/WAF;2)Anycast划船;3)P0优先级;4)与提供商沟通。
E.漂移政策/合同
1.为不兼容的电路启用deny;2)适配器发布;3)更新林特/寄存器。
15)实施支票(按步骤)
1.输入身份模型(org/peer/service/user)和mTLS+OIDC。
2.描述策略即代码(RBAC/ABAC)、PoLP和JIT上报。
3.加密"在路上"和"静止"数据,令牌化PII,设置驻留。
4.启用供应链保护:工件签名、SBOM、认证、canary+kill-switch。
5.配置WAF/Rate-limits/DoS卫兵和egress控制。
6.举起SIEM/SOAR,描述SLI/SLO,Alerts和Security dashbords。
7.调整钥匙/硫酸盐的旋转和断面玻璃的可用性。
8.演练DR/BCP和孤立模式,进行演习。
9.组织审计/编写和定期的后面模拟。
10.每季度审查策略,自动化检查。
16)词汇表
Zero-Trust是一种模型,可以独立于位置检查每个动作。
PoLP是最低要求权利的原则。
Policy-as-Code-通过声明性策略控制访问/规则。
SLSA-软件供应链安全级别。
RPO/RTO-数据丢失/恢复时间目标值。
DPoP/PoP-令牌绑定到特定的TLS通道/客户端。
严格模式是一种禁止不匹配的电路/签名的模式。
底线:生态系统的安全不是"防火墙和TLS",而是加密信任、严格的访问策略、可观察性和操作纪律的融合。遵循Zero-Trust,PoLP,供应链控制和可测量的SLO,将安全性转变为可管理的工程实践,可抵抗故障,攻击和监管变化。