SRE 与安全 - 可靠性与安全性的共舞
SRE 与安全的天然联系
如果我们将一个复杂的在线服务比作一辆设计精良、性能卓越的超级跑车,那么它的可靠性就体现在能持续高速、稳定地行驶。但如果这辆跑车没有车锁、方向盘极易被劫持、车身框架脆弱不堪(即安全防护薄弱),那么无论它跑得多快、功能多先进,我们都不能认为它是真正“可靠”的。安全特性是使其能够被信赖、并持续提供其核心价值(如安全准时地将乘客送达目的地)的关键组成部分。
SRE 和安全团队虽然有时关注点有所侧重,但其根本目标是高度一致的:确保系统的稳定、可预测、以及对各类故障(无论是意外故障还是恶意攻击)的韧性。
一个不安全的系统,其可靠性会受到以下威胁:
- 拒绝服务攻击 (DoS/DDoS):直接影响服务的可用性 (Availability)。
- 数据泄露或数据损坏: 破坏数据的完整性 (Integrity) 和可用性 (Availability)。
- 未授权的系统变更: 影响系统的完整性 (Integrity) 和可预测性 (Predictability)。
SRE 的核心原则和实践方法,很多都可以自然地延伸和应用于安全领域:
- 错误预算 (Error Budgets):虽然在安全领域直接套用错误预算比较复杂,但其理念(即容忍一定程度的“不完美”,并将其作为改进的驱动力)可以启发我们思考可接受的安全事件发生率或影响程度,并以此为目标进行投入。
- 自动化 (Automation):自动化安全补丁的应用、漏洞扫描、合规性检查、安全配置的部署、甚至部分