乐趣区

关于程序员:故障案例分享-证书过期引发的血案

根本状况

1 月某日早 9 点 15 分,某手机端 app 接到用户报障:app 出现异常,具体表象为登录 app 提醒“License 不非法,请分割系统管理员!”。后经核查,具体报错工夫为 7 点 24 分 -10 点 32 分,故障影响时长 188 分钟,影响该时间段内 254 位用户登录。

工夫线回放

  • 0:00 证书生效。
  • 7:24 app 呈现登录异样。
  • 9:15 用户报障。
  • 9:20 运维人员登录后盾治理平台确认 License 受权已过期,并分割证书提供商相干工作人员申请新的 License 文件,事发时人在里面。
  • 9:55 证书提供商工作人员开始近程撑持。
  • 10:20 证书提供商提供新 License 文件。
  • 10:25 app 运维人员实现服务器受权更新。
  • 10:26 app 复原应用。

起因剖析

  1. 该 app 未将 License 到期查看纳入例行运维查看项,在日常查看中均未发现该问题。
  2. 该 app 业务探测、证书到期等各类告警缺失,导致问题未能及时发现。
  3. 对于 license 受权到期问题,证书提供商外部有一套 License 受权文件管理系统,零碎会在 license 受权到期前 10 天,在公司外部通信软件每日推送告警揭示,直到解决实现。证书提供商人员未器重 License 到期状况查看,未器重群里告警揭示,没有在第一工夫被动发现问题。
  4. 证书提供商撑持力量薄弱,问题响应不及时。

整改动作

  1. 针对本次 License 受权文件到期问题,安顿相干责任人,将 License 到期查看纳入例行运维查看项中,每周进行例行查看,及时发现问题解决问题
  2. 全面梳理公司外部 iOS 证书、形容文件、软件受权证书、https 证书等所有证书过期危险隐患,联合省 ITSM 系统维护作业性能对立治理,实现定期揭示执行保护作业。
  3. 手机端部署 rpa 定时巡检,模仿用户操作等性能,异常情况及时告警。
  4. 减少 License 证书到期监控告警

    故障点评

  5. 证书须要闭环管控
    前有特斯拉证书过期导致车辆无奈失常解锁,后有 LinkedIn 的 HTTPS 证书两年内接连两次过期导致站点停机,BATJ 这类大厂,都不乏证书过期导致的故障。很多人的第一反馈,可能会感觉证书过期治理这么个小事件都搞不好,是不是人的问题?然而业界这么多出名厂商都中招,我想不能简略的把问题归因为人不行,这是思维的懈怠啊!咱们应该从技术治理、流程机制等角度系统化的解决问题,既治本又治标。
  6. 第三方默认无责
    谁引入了第三方的技术组件,谁就要对其可用性负责。即咱们在应用内部技术组件的时候,要认真评估对方的可用性状况,以及咱们的兜底计划等等。在该案例中,证书即可视为第三方组件。定责是对内的,默认第三方无责是为了防止外部定责时把问题甩锅给第三方,长此以往 SRE 会失去应有的责任心。当然,故障是第三方引起的,咱们理当去追责、索赔,这没有问题,但在架构设计上、整个稳定性保障上有没有哪些工作是能够欠缺来躲避故障的,这是咱们须要思考的内容。

本文由 mdnice 多平台公布

退出移动版