查看原文
其他

简单脚本监控SSL证书,并到期提醒续签

运维研习社 运维研习社 2022-11-05


随着https的普及,或者说被强制使用,需要维护的SSL证书越来越多,而且由于各种原因吧,需要在各种不同的平台申请维护证书,时间长了,总有证书忘记续签


有些使用了letsencrypt自动续签,但是某些原因,并不稳定,经常续签失败,letsencrypt的邮件通知有时候又会被忽略掉


所以写了个简单的证书监控的脚本,结合zabbix进行监控,到期提醒续签


脚本很简单,就三个方法,获取证书、获取证书时间,获取到期天数


网上有人用load_cerrtificate,结合ssl.get_server_certificate(url,port)来获取证书,其实这个获取到的证书是不对的,这里获取到的证书是解析完url,解析到对应服务器,获取服务器上443端口访问到的第一个证书,并不是传入url的域名的证书


所以这里通过socket的方式,建立连接,获取对应域名的证书,再获取证书的信息


脚本放zabbix_agent里面,配置key


在zabbix_server用zabbix_get验证


在zabbix中添加监控项,ssl监控频率不需要设置太密,按天,或者按周检查都可以


接着添加触发器,检测到SSL剩余一个月提醒续签


到期企业微信告警


脚本很简单,不用zabbix的话,通过添加定时任务的方式也可以做,如果项目多的话,手动添加不合适,可以通过脚本获取web下面的server_name作为参数进行监控


关于pyopenssl包更多信息可查看文档https://www.pyopenssl.org/en/stable/introduction.html


推荐阅读Filebeat自定义pipeline,完美处理自定义日志字段 开源镜像仓库Harbor镜像安全 Linux下time命令进行性能分析 


扫描二维码关注我们吧



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存