2012-05-30

SSL証明書の有効期限を監視する

SSL証明書の有効期限が切れてしまい、HTTPSでアクセスできなくなったΣ(゜д゜;)
なんてことにならないようSSL証明書の有効期限を監視できないかと調べてみました。
echo | openssl s_client -connect google.co.jp:443 | openssl x509 -dates -noout
とすれば
depth=2 /C=US/O=Equifax/OU=Equifax Secure Certificate Authority
verify return:1
depth=1 /C=US/O=Google Inc/CN=Google Internet Authority
verify return:1
depth=0 /C=US/ST=California/O=Google Inc/CN=google.com
verify return:1
DONE
notBefore=Jan 17 12:55:04 2012 GMT
notAfter=Jan 17 12:55:04 2013 GMT
みたいな出力が得られて、notBeforeってのが期限開始日時、notAfterってのが期限満了日時のようです。
$data=`echo | openssl s_client -connect google.co.jp:443 | openssl x509 -dates -noout`
notBefore=`echo -e "$data" | grep notBefore | sed -e "s/notBefore=//"`
notAfter=`echo -e "$data" | grep notAfter | sed -e "s/notAfter=//"`
time1=`date -d "$notBefore" "+%s"`
time2=`date -d "$notAfter" "+%s"`
nb=`expr $start_run - $time1`
na=`expr $time2 - $start_run`
nb=`expr $nb / 86400`
na=`expr $na / 86400`
みたいな感じで整形してあげれば
$nbが期限開始日からの経過日数
$naに期限満了日までの日数
が入るので、この値をチェックしてメールを飛ばす仕組みなんかを作っておくと良さそうですヾ(*・ω・)シ

2 件のコメント:

  1. SSL証明書の有効期限監視って普通にできたのねぇ
    XymonやらHobbit監視を使うぐらいしか知らなかったw

    返信削除
  2. 逆にうちではXymon使ったことないかな・・・
    Nagiosやらmuninやらcollectdやら使ってるよ~

    返信削除