批量扫描ssl证书过期时间
目前ssl 证书大多有效期只有一年,所以每年都要更换一次,有些是配置在nginx上的,有些配置在k8s的ingress上,还有些在业务层使用的。从dns运营商哪里导出dns记录,然后用脚本批量跑扫描,大多数是443端口,有些使用的非标端口,需要单独确认端口后再跑一次。最好是在分配证书使用时在cmdb里记录好使用域名和端口,方便后续更新时直接获取到。failed代表命令执行失败,需要区分是否有其他端
·
背景
目前ssl 证书大多有效期只有一年,所以每年都要更换一次,有些是配置在nginx上的,有些配置在k8s的ingress上,还有些在业务层使用的
思路
从dns运营商哪里导出dns记录,然后用脚本批量跑扫描,大多数是443端口,有些使用的非标端口,需要单独确认端口后再跑一次。
最好是在分配证书使用时在cmdb里记录好使用域名和端口,方便后续更新时直接获取到。
脚本
1、check过期时间的脚本
ok.txt输出的是域名 过期时间
failed代表命令执行失败,需要区分是否有其他端口
cat ssl_check.sh
echo $1
output=$(echo "Q" | openssl s_client -connect $1:443 -servername $1 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null)
if [ $? -eq 0 ]; then
echo $1 $output>> ok.txt
else
echo $1 >> failed.txt
fi%
批量跑
将域名列表写到一个文件中 domain.txt
cat domain.txt|xargs -i bash ssl_check.sh {}
更多推荐
已为社区贡献2条内容
所有评论(0)