shell腳本檢測https證書有效期

申請的https證書越多,管理起來越容易出問題,因此有必要添加定期巡檢的腳本(當然,首先要把https證書的申請權限收口到運維側統一管理,不然還是無法根治問題)



#!/bin/bash
# 檢測https證書有效期

source /etc/profile

while read line; do
    echo "====================================================================================="
    
    echo "當前檢測的域名:" $line
    end_time=$(echo | timeout 1 openssl s_client -servername $line -connect $line:443 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | awk -F '=' '{print $2}' )
    ([ $? -ne 0 ] || [[ $end_time == '' ]]) &&  exit 10
    
    end_times=`date -d "$end_time" +%s `
    current_times=`date -d "$(date -u '+%b %d %T %Y GMT') " +%s `
    
    let left_time=$end_times-$current_times
    days=`expr $left_time / 86400`
    echo "剩餘天數: " $days
    
    [ $days -lt 30 ] && echo "https 證書有效期少於30天,存在風險" 
    
done < /root/https_list



cat /root/https_list  內容類似如下:

www.baidu.com 
www.qq.com


腳本的執行後效果如下。 另外,我們可以在腳本的判斷條件裏面,將echo改成email告警或者調公司內部的告警平臺。

image.png





另外,網上看到有python版的,供大家參考: http://python.01314.cn/201812519.html





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章