2020年3月20日晚间,许多苹果用户看到系统不断地弹窗无法验证服务器身份,包括iOS、iPadOS以及 macOS系统全部如此。
在弹窗中苹果标注不能验证「appleimap.163.com」的身份,简单来说就是这个域名的 HTTPS 证书无法被信任。
至于不能被信任的原因非常简单,网易邮箱忘记给服务器更换新证书,导致原证书到期后无法进行验证。
运维又成了背锅侠,原因很简单,因为运维人员没有在用户之前发现证书过期并及时更换。
值得庆幸的是,该事件在接到用户反馈之后及时更换了服务器证书,未酿成重大信息安全攻击事件,若是对网易用户引起信息泄密事件,运维人员也将沦落“跑路”的下场。
其实像这类忘记续期和更换数据证书的错误,在很多企业里面都是可能会发生。因为企业内部的应用中,运维面向各式各样的应用系统,这类证书基本都是2年才更换一次。如果没有很好的工具进行检测和通知,则经常被遗忘在运维忙碌的技术支持工作中。
疑惑一:
很多人可能想问,为啥这类情况经常会被忘记,为啥证书有效期不一次性设置100年呢?这样,应用系统可能都下线了,就不再需要考虑证书过期的事情了?
事实上,数字证书一般由第三方的法定数据认证中心机构签发,以数据证书为核心的加密技术对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递信息的机密性、完整性,从而保障网络应用的安全性。所以,在保障可用性的前提下,定期的更新保障安全才是解决问题的核心。
据了解,基于安全考虑,苹果Safari从2020年9月1日起就不再支持有效期超过398天的HTTPS加密证书。
最早提出缩短证书有效期,提高安全性的就是谷歌。由于市场占有率非常高,对整个行业有巨大影响,因此迟迟都未推出具体的政策时间,但是有效期限制也是板上钉钉的。
参考链接:
https://www.landiannews.com/archives/70427.html?replytocom=98923
疑惑二:
也有人会表达困惑,既然这样的场景经常被遗忘,影响又比较大,这类数字证书可能会有哪些类型呢?从运维的角度,应该如何管理好这类证书的事情呢?
关于数字证书,从使用对象的角度,目前数字证书类型主要包括:个人身份证书、企业或机构身份证书、支付网关证书、服务器证书、安全电子邮件证书、个人代码签名证书。
从数据证书的技术角度,CA证书机构颁发的证书分为两类:SSL证书和SET证书,一般SSL证书是服务于银行对企业或企业对企业的电子商务活动,而SET证书则服务于持卡消费、网上沟通。
基于以上网易邮箱的案例,提到的证书是属于服务器证书或安全电子邮件证书,也是属于SSL证书类型。
在企业运维中,更多关注的证书类型,是从应用系统的角度出发,属于SSL证书类型的服务器证书。
如何对这些SSL服务器证书进行有效的管理和监控呢?以下给大家分享一个工具,即可满足实现SSL证书的管理和有效期监控。
针对上述谈到的SSL服务器证书,从运维角度实现有效管理和监控的工具,主要有以下几个核心功能:
自动发现服务器证书
基于业务系统和访问地址,可以自动获取该应用服务器正在使用和依赖的SSL服务器证书,并获取证书的颁发机构、使用者名称及有效期信息等,如下:
告警设置
针对已添加业务系统证书列表,基于证书有效期的管理,设置告警策略,如在过期前30天,发送通知管理员。
证书报表
基于证书颁发机构,定期更新和统计证书的信息和有效期,能够给到管理员每年提前规划证书的采购、续期计划。
当然,SSL证书管理和有效期监控,只是我们运维工作中一个很小的场景。
是否因为这样一个不经常被关注的微小场景而引入一个工具会导致成本高昂呢?
是否从运维的角度,自研这样一个小的运维工具,技术难度会很大呢?
是否为了支持各种类似的运维场景,都需要建设一套场景工具,导致工具太多、运维管理困难呢?
针对以上这些问题,分享一下我们的做法,也是我们很多客户落地的做法,可以很好的解决上述问题。
通过一套运维PaaS平台,核心提供运维API Gateway、运维工具流水线、免运维托管环境,让运维人员能够低门槛入手工具开发,快速响应各类运维场景的工具需求。
API GateWay:
内置各种运维基础的原子能力,如管控平台、作业平台、配置平台、容器平台、监控平台等,也可支持第三方API接入能力。
运维工具流水线:
提供基于VUE和Django的开发框架,运维人员可基于简单Python脚本语言和API的组装,快速开发运维场景工具。
运行环境托管:
提供基于Docker容器化的运行环境,支持场景工具的一键部署和运行,减少各类运维工具的运维管理工作。
基于PaaS技术架构搭建一体化、自动化运维平台,不仅能够提供运维工具效率,更能低成本快速响应运维场景建设,让运维人员不再成为“背锅侠”、“跑路狗”。
作者:李平洋