快速实现企业级域名SSL证书有效期监控检查系统HTTPS不再是可选项,已成为必须。HTTPS协议采用SSL协议,采用公钥技术,提供了一套TCP/IP传输层数据加密机制。SSL证书是符合SSL协议的服务器数字证书,一般是权威机构颁发给网站的可信证书。SSL证书有到期时间限制。2020年9月起,权威机构颁发的SSL证书最长有效期限制为398天。也就是说,基本上每个网站每年都需要更新或更换。一次性SSL证书,否则证书过期会导致网站无法访问、数据泄露等各种风险。根据网上公布的信息,2018年12月,日本运营商软银数字证书到期,导致3060万用户通信失败4个多小时;2020年2月,微软协同办公软件Team因证书过期全球宕机2020年5月13日,特斯拉APP因证书过期出现大规模宕机,导致大部分车主被锁在车外。根据《企业数字证书管理安全调查》统计报告,74%的组织都曾因证书过期而宕机,平均每个组织的损失超过1100万美元。证书有效期的缩短增加了证书更新的频率,这使得使用加密证书的网站所有者和企业的管理周期更加复杂,给许多依赖数字证书保护系统的公司带来了巨大的证书管理成本,对于SSL证书管理者来说,建立SSL证书有效期的监控和检查系统是非常有必要的。本文实现的SSL证书有效期监控检查系统原理比较简单,大致流程如下图所示。本质上就是通过Python脚本获取域名的SSL证书文件。一般来说,证书文件的内容会包括发证机构、证书序列号、有效期开始时间、有效期结束时间等信息。获取证书有效期结束时间后,判断证书是否在有效期即将到期时,将过期事件推送到观察云,巡检系统配置相应的告警策略.事件报警发生后,会推送到钉钉群或奇微群。What下面将详细介绍如何利用ObservationCloud的智能检测能力,帮助企业快速搭建SSL证书有效期监控检测系统。第一步:安装DataFluxFunc执行以下命令安装DataFluxFunc平台(func.guance.com)。DataFluxFunc是一个基于Python的脚本开发、管理和执行平台,可以帮助我们非常快速方便??的执行Python脚本。/bin/bash-c"$(curl-fsSLt.guance.com/func-portable-download)"第二步:注册观察云登录观察云官网(www.guance.com)注册观察云。注册后,进入“管理”-“API密钥管理”-“新建密钥”,保留生成的密钥ID和密钥。第三步:运行SSL证书有效期检测脚本。进入第一步搭建的Func平台,进入“管理”-“实验室”功能,打开“打开脚本市场”和“打开PIP工具模块”进入“管理”-“脚本市场”,点击安装“观察云”自建InspectionCore核心包”,进入“管理”-“PIP工具”,进入pyopenssl,点击“安装”进入“开发”-“添加脚本集”,填写ID和标题(这里可以填写inasneeded),点击“保存”进入“开发”-“SSL证书有效性监控”-“添加脚本”,填写脚本ID,复制以下代码到“SSL证书有效性监控”-》main”脚本,将第134、135行的API_KEY_ID和API_KEY修改为第2步创建的KeyID和Key,修改第12行的domain_list,添加需要审核的域名,点击上方的“发布”右上角。如果需要脚本功能,可以在Status中编辑点击运行代码,请到文首掘金链接查看原文,进入“管理”-“自动触发配置”-“新建””,选择“ExecuteFunction”,根据实际需要设置脚本执行频率。以下设置为每天08:00定时触发脚本第四步:配置智能巡检和告警策略进入观察云控制台(console.guance.com),选择“监控”-“通知对象管理”-“新建通知对象”,根据实际需求添加通知对象,以添加钉钉群组机器人为例。具体步骤参见添加页面“更多帮助”进入“监控”-“告警策略管理”-“新建告警策略”,输入“名称”,选择第一步创建的告警通知对象Notificationobject进入“监控”-“智能巡检”,点击修改“SSL证书过期时间巡检”,“告警策略”选择第二步创建的告警策略提示:第3步的脚本必须至少运行一次才能生效haveSSLCertificateexpirationinspection这个选项显示观察云“事件”的效果,可以管理SSL证书过期事件。告警推送效果总结本文重点介绍如何利用现有平台的能力,快速帮助搭建企业级SSL证书有效性监控检测系统。此外,观测云本身还可以支持接入指标、链路、日志等可观测数据,并可以对这些数据进行统一的标签处理。控制台可以实现可观测数据的互联互通,方便运维、研发、测试团队从一个平面了解系统运行情况,可以大大提高软件开发和交付的效率。
