Last Updated on 2021年7月4日 by かんりにん
※対象のOSはRedHat Enterprise Linux 6.*とCentOS6.*です。
RedHat/CentOSに”crypto-utils”なるRPMパッケージがあり、
このユーティリティにふくまれる”certwatch”という親切ツールがあるのだけど
cronで SSL証明書が期限間近になるとメールでお知らせしてくれる、というもの。
これまではnagiosでSSL証明書のプラグインを使っていたので、ユーティリティでチェックができるので便利!というか手間が省ける!
参考:お世話になっております!
certwatch(1) – Linux man page
ローカルに置いてある証明書の有効期限をチェックするスクリプト – kenjiskywalker’s diary –
以下、ツールやファイルの概要はこんな感じ。
パッケージ:crypto-utils ツール :certwatch (実行ファイルは/usr/bin/certwatch) スクリプト:/etc/cron.daily/certwatch (bashのスクリプト) 実行間隔 :デフォルトではdailyで動作 関連設定 :/etc/sysconfig/httpd
しかしながら、認証局から発行してもらった証明書を使用していない環境でも
OSにデフォルトで用意されている証明書(localhost.crtとか)をチェックして
お知らせしてくれちゃう、というありがた迷惑な側面も持っている。
というより、httpdのssl.confで指定されている証明書を見ているので
apache/httpdでssl.confをメンテしていなければ、そういう動きになるんだけどw
今回のAWS環境ではSSL通信にELBでリバースプロキシを使っているし、この通知はいらないね!ということで
仕組みのおさらいと無効化の対応をランチ前にサクっと実行。
やりかた その1)httpd側で無効にする
スクリプトを読んでみると、冒頭のコメント部分に
“Set NOCERTWATCH=yes in /etc/sysconfig/httpd to disable.”
と説明があり、/etc/sysconfig/httpdに説明を書けばOKとのこと。超簡単!
設定ファイル:/etc/sysconfig/httpd 設定値 :NOCERTWATCH=yes
以上、これにて終了。
やりかた その2) cronファイルを隠しファイルに。
certwatchのスクリプトは/etc/cron.daily以下に配置されているので、このスクリプトを隠しファイルにしちゃえばOK。
# cd /etc/cron.daily # mv certwatch .certwatch
以上でOK。
ファイルに”.bak”とかつけちゃえ、と思ったが、拡張子を見てるわけではないので
隠しファイルにしてしまったほうが確実。
ファイルをrmしちゃうのも気が引けるので…(とはいえ、使わないのですがw)
ということでランチに行ってきま~すw