なんてことにならないよう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に期限満了日までの日数
が入るので、この値をチェックしてメールを飛ばす仕組みなんかを作っておくと良さそうですヾ(*・ω・)シ
SSL証明書の有効期限監視って普通にできたのねぇ
返信削除XymonやらHobbit監視を使うぐらいしか知らなかったw
逆にうちではXymon使ったことないかな・・・
返信削除Nagiosやらmuninやらcollectdやら使ってるよ~