Server linux

Hướng dẫn dùng certwatch trong server linux

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