首页 > 其他分享 >一个脚本实现 SSL 证书到期监控,微信通知,太强了!

一个脚本实现 SSL 证书到期监控,微信通知,太强了!

时间:2022-10-25 09:22:55浏览次数:86  
标签:monitor 太强 SSL 微信 证书 ssl TimeStamp Time

准备工作

创建一个企业微信账号,并创建一个组,在组里面配置企业微信提供的机器人。

将机器人提供的 WebHook 地址保存。

编写脚本

[root@Nginx ~]# cat ssl-monitor.sh
#!/bin/bash
# 定义网站域名和端口号信息
WebName="www.baidu.com"
Port="443"

# 通过 Openssl 工具获取到当前证书的到期时间
Cert_END_Time=$(echo | openssl s_client -servername ${WebName} -connect ${WebName}:${Port} 2> /dev/null | openssl x509 -noout -dates | grep 'After' | awk -F '=' '{print $2}' | awk '{print $1,$2,$4}')

# 将证书的到期时间转化成时间戳
Cert_NED_TimeStamp=$(date +%s -d "$Cert_END_Time")

# 定义当前时间的时间戳
Create_TimeStamp=$(date +%s)

# 通过计算获取到证书的剩余天数
Rest_Time=$(expr $(expr $Cert_NED_TimeStamp - $Create_TimeStamp) / 86400)

# 配置告警提示信息
echo "$WebName  网站的 SSL 证书还有 $Rest_Time 天后到期" > ssl-monitor.txt

# 判断出证书时间小于 30 天的
if [ $Rest_Time -lt 30 ];then

# 定义企业微信机器人的 API 接口
WebHook='https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=2743320b-0a2c-404b-87bc-25fedf1ff67a'

# 通过 Curl 命令来发送 Post 请求
curl "${WebHook}" -H 'Content-Type: application/json' -d '
{
    "msgtype": "text",
    "text": {
        "content": "'"$(cat ssl-monitor.txt)"'"
    }
}' &> /dev/null
fi

因为我们上面有配置条件判断,所以在验证时,我们可以先将条件判断删除。

手动验证

[root@Nginx ~]# bash ssl-monitor.sh 

配置到 CronJob 中

[root@Nginx ~]# crontab -e
* 23 * * * /bin/bash /root/ssl-monitor.sh

来源:https://blog.csdn.net/weixin_46902396/article/details/122965103

近期热文推荐:

1.1,000+ 道 Java面试题及答案整理(2022最新版)

2.劲爆!Java 协程要来了。。。

3.Spring Boot 2.x 教程,太全了!

4.别再写满屏的爆爆爆炸类了,试试装饰器模式,这才是优雅的方式!!

5.《Java开发手册(嵩山版)》最新发布,速速下载!

觉得不错,别忘了随手点赞+转发哦!

标签:monitor,太强,SSL,微信,证书,ssl,TimeStamp,Time
From: https://www.cnblogs.com/javastack/p/16823803.html

相关文章

  • 微信客户移动预约应用
       摘要:客户移动预约下单,自动生成预约二维码与条码,进厂扫描二维码自动识别单据信息   使用到的框架为mui,boostrap,layui    ......
  • 学习微信小程序开发文档总结
    微信小程序开发完成小程序注册微信公众平台(qq.com)根据步骤进行小程序注册,最终获得一个AppID,下载开发者工具,安装后建立第一个小程序项目,填入AppID,才可通过微信扫码进行......
  • cydia无法加载(cydia无法加载发生了ssl错误)
    为什么我的ipad2越狱完成后点开cydia就一直显示加载中的页?网页上面有一条加载的线显示的cydia无法加载,(请求超时)这个怎么解决,求大神了,无法添加?2、打开iTool后,点击左侧的......
  • OpenSSL库开发:(三)命令行使用
    1、简介OpenSSL是用于传输层安全(TLS)协议(以前称为安全套接字层(SSL)协议)的强大、商业级、功能齐全的开源工具包。协议实现基于全强度通用密码库,也可以单独使用。Op......
  • 人脸识别/安全帽识别AI智能分析网关微信端告警推送如何配置模板消息?
    智能分析网关设备内置多种AI算法,可对实时视频中的人脸、人体、物体等进行检测、跟踪与抓拍,支持口罩佩戴检测、安全帽佩戴检测、人体检测、区域入侵检测等,可支持拓展多种AI......
  • MQTT Host name verification failure (SSL)-增加--insecure选项解决
    增加一个选项即可解决:--insecure出问题:mosquitto_pub-d-h192.168.1.10-p1883-thello-m123--cafile~/cacert.pemClientnullsendingCONNECTError:hostn......
  • APP调用微信接口安全方案设计
    针对AppID、AppSecret账号信息泄露的情况,设计的安全方案。其实前后端交互都可以做参考,尤其是有App客户端的情况下,如果是直接把重要的账号信息直接放到使用者设备上,是非常危......
  • 关于公众号微信群的说明
    为了让各位关注本公众号的互联网行业小伙伴有更多、更好的交流平台波哥建了个微信群,这几天已经马上要满500了。因为最近比较忙的缘故,平时可能不会太关注和参与跟各位小伙伴......
  • 无需越狱,第三方微信多开聊天记录恢复教程
    无需越狱,第三方微信多开聊天记录恢复教程 未分类 3个月前 陌路  2,265 0 1多开微信每次掉签就面临一个问题,微信聊天记录保存不了,怎么去完美恢复微信的历史......
  • http申请证书ssl
    1freessl.cn注册登录2.https://univooks.top申请3.dcv配置cname的话,就在买域名的地方,加两个记录,如果是两个cname的话。4.等待半个钟左右生效,配置完成,立即检测5.就会......