您现在的位置是:系统运维 >>正文
聊聊 SSL 证书过期巡检脚本
系统运维69431人已围观
简介哈喽大家好,我是咸鱼。我们知道 SSL 证书是会过期的,一旦过期之后需要重新申请。如果没有及时更换证书的话,就有可能导致网站出问题,给公司业务带来一定的影响。所以说我们要每隔一定时间去检查网站上的 S ...
哈喽大家好,聊聊我是书过咸鱼 。
我们知道 SSL 证书是期巡会过期的,一旦过期之后需要重新申请。检脚如果没有及时更换证书的聊聊话,就有可能导致网站出问题,书过给公司业务带来一定的期巡影响 。
所以说我们要每隔一定时间去检查网站上的检脚 SSL 证书是免费模板否过期。
如果公司业务体量较大的聊聊话 ,肯定不止一个域名 ,书过而一个域名后面又会对应着多台机器,期巡如果我们手动输入命令一台台检测的检脚话,所需要的聊聊精力和时间是很大的。
那么今天咸鱼跟大家介绍一个自己平常在用的书过自动检测 SSL 过期时间的云计算 shell 脚本 。
思路
前面我们说到,期巡一个公司(一个业务)底下可能会有多个域名多个 IP 地址,所以说我们需要整理出来放到一个文件里面,如下所示:
图片
整理出来之后,后面只需要循环遍历 domain.txt 中的每一行内容,然后把域名和 ip 地址分别提取出来一个一个去检测就行了。
首先我们对 domain.txt 中的内容进行循环遍历,提取出域名和 ip 池 。
图片
然后再遍历 ip 池,取出每一个 ip 地址,模板下载然后执行检测命令 ,把检测到的结果存进 text 变量里。
图片
我们着重看下检测命令:
图片
图片
输出信息如下(即 text 变量内容) :
图片
其中 notBefore 是开始时间,notAfter 是过期时间。
需要注意的是,如果提取不到 SSL 证书的信息 ,那么 text 里面是高防服务器没有内容的 ,所以在检测过期时间之前我们需要判断一下 。
图片
然后我们提取出输出的 SSL 证书信息中 notAfter 的值,然后转换成时间戳的形式 ,并且求出当前的时间戳。
图片
最后我们用过期时间减去当前时间,得出剩余时间,再对剩余时间做判断。亿华云
图片
我们来看下执行结果:
证书未过期


完整脚本
复制for line in $(cat domain.txt) do domain=$(echo ${ line} | awk -F: { print $1}) ip_pool=$(echo ${ line} | awk -F [a-z]: { print $2} | sed s/\,/ /g) for ip in ${ ip_pool} do echo -e "\e[33m---------------start to check---------------\e[0m" echo -e "ip:${ ip}\ndomain:${ domain}" text=$(echo | openssl s_client -servername ${ domain} -connect ${ ip}:443 2>/dev/null | openssl x509 -noout -dates ) # 判断命令是否执行成功,执行成功的话 text 变量里面是有内容的 if [[ ${ text} ]] then end_date=$(echo "$text" | grep -i "notAfter" | awk -F = { print $2}) # 证书过期时间 end_timestamp=$(date -d "$end_date" +%s) # 转换成时间戳 current_timestamp=$(date +%s) # 当前时间戳 # 如果证书过期时间减去当前时间的天数小于七天的话,则提示需要准备更换证书了 remain_date=$(( (${ end_timestamp} - ${ current_timestamp}) / 86400 )) if [[ ${ remain_date} -lt 7 && ${ remain_date} -ge 0 ]] then echo -e "\e[31m剩余时间小于七天 !请及时更换证书!\e[0m" echo -e "\e[31mip: ${ ip}, ${ domain}\e[0m" elif [[ ${ remain_date} -lt 0 ]] then echo -e "\e[31m证书已过期 !请及时更换证书 !\e[0m" else echo -e "\e[32m剩余天数为 :${ remain_date}\e[0m" fi else echo -e "\e[31mError!${ ip}\e[0m" echo -e "\e[31m${ domain}\e[0m" fi done done1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“算法与编程”。http://www.bzli.cn/html/119b599875.html
相关文章
网络安全与数字化转型:能源行业供应商协议的关键考虑因素
系统运维能源公司面临着一系列复杂的行业监管规定,这些规定因生产的能源类型而异,此外,州法律侵权索赔可能非常复杂和昂贵,基于连续能源服务的严格注意标准(因此服务的任何中断都可能意味着违反注意义务)。由于这种责任 ...
【系统运维】
阅读更多华擎主板系统安装教程(一步步教你安装华擎主板,打造顶级电脑性能)
系统运维在当今信息时代,电脑已经成为人们日常生活中必不可少的工具之一。而要组装一台高效稳定的电脑系统,选择适合自己需求的主板是至关重要的一步。本文将以华擎主板为例,为大家详细介绍华擎主板系统的安装步骤和注意事 ...
【系统运维】
阅读更多固态硬盘安装系统教程(让你的电脑速度飞起来!)
系统运维在现代科技快速发展的时代,固态硬盘作为一种新型存储介质,以其更高的读写速度和可靠性,成为越来越多电脑用户的首选。本文将介绍如何使用固态硬盘来安装操作系统,以提升电脑的速度和性能。了解固态硬盘的基本知识 ...
【系统运维】
阅读更多