Certwatch là 1 tool của linux, dùng để thông báo cho admin khi chứng chỉ ssl sắp hết hạn
certwatch là tool đi kèm với gói crypto-utils
Cài đặt :
yum install crypto-utils
Sau khi chạy xong lệnh trên thì sẽ xuất hiện file /etc/cron.daily/certwatch , file này sẽ được chạy định kì
thông tin về chạy định kì có thể xem ở file
/etc/anacrontab
1 5 cron.daily nice run-parts /etc/cron.daily
( mặc định chạy vào lúc 3h 5 phút theo giờ server )
Mở file /etc/cron.daily/certwatch thêm đoạn code sau
[ -r /etc/sysconfig/httpd ] && . /etc/sysconfig/httpd
# Use configured httpd binary
httpd=${HTTPD-/usr/sbin/httpd}
INCLUDE_CERTS='/etc/httpd/ssl/2017/server.crt'
certs=`ls $INCLUDE_CERTS 2>/dev/null`
RETVAL=$?
test $RETVAL -eq 0 || exit 0
for c in $certs; do
# Check whether a warning message is needed, then issue one if so.
if [[ ! "$c" =~ ca-bundle ]]; then
/usr/bin/certwatch --period 19 -q "$c" &&
/usr/bin/certwatch --period 19 "$c" | mailx -v -s "[WARNING][TST-ONI] certificate expire" -S smtp="smtp.gmail.com:587" -S smtp-use-starttls -S smtp-auth=login -S smtp-auth-user="brite.s.ma@gmail.com" -S smtp-auth-password="xxxx" -S ssl-verify=ignore -S nss-config-dir="/etc/pki/nssdb/" tunglt@britevn.net 2>/dev/null &&
/usr/bin/certwatch --period 19 "$c" | mailx -v -s "[WARNING][TST-ONI] certificate expire" -S smtp="smtp.gmail.com:587" -S smtp-use-starttls -S smtp-auth=login -S smtp-auth-user="brite.s.ma@gmail.com" -S smtp-auth-password="xxxx" -S ssl-verify=ignore -S nss-config-dir="/etc/pki/nssdb/" app@media-active.co.jp 2>/dev/null &&
/usr/bin/certwatch --period 19 "$c" | mailx -v -s "[WARNING][TST-ONI] certificate expire" -S smtp="smtp.gmail.com:587" -S smtp-use-starttls -S smtp-auth=login -S smtp-auth-user="brite.s.ma@gmail.com" -S smtp-auth-password="xxxx" -S ssl-verify=ignore -S nss-config-dir="/etc/pki/nssdb/" dev-media@media-active.co.jp 2>/dev/null
fi
done
Nếu thời gian hết hạn < 19 ngày , thì sẽ gửi email
Link tham khảo
https://linux.die.net/man/1/certwatch
https://www.rubysecurity.org/certwatch