Bước 1: Tạo bot telegram để bắn cảnh báo
Trên thanh tìm kiếm Telegram tìm BotFather
Gõ /newbot
Đặt tên, username cho bot (username phải không trùng với người khác đã tạo) Sau đó, lấy được Token của Bot:
Bước 2: Tạo Group Telegram để nhận cảnh báo vào đó
Add con bot vừa tạo ở bước trên vào group để nó bắn được cảnh báo
Lấy ID của Group bằng cách:
– Chat vào group vài dòng gì cũng được
– Mở trình duyệt gõ link sau: https://api.telegram.org/bot$BOT_TOKEN/getupdates
Thay $BOT_TOKEN bằng đoạn token của bot đã tạo ở trên.
Để ý trong trình duyệt sẽ có đoạn như sau:
chat":{"id":-317836924,"title":"Tên GROUP BẠN TẠO
Thì cái -317836924 chính là group ID (lưu ý có cả dấu trừ)
Bước 3: Download script monitor
Trên server Linux bất kì:
Git clone script check SSL về tại đây: https://github.com/dangkiena3/cert-monitor
Sửa file domainlist. File này sẽ chứa các domain mà bạn muốn monitor SSL, phân cách bằng xuống dòng
Sửa file check_ssl.sh
NOTIFY_CRITICAL=28 ## Số ngày hết hạn còn lại của cert, nếu bằng hoặc ít hơn số này thì mới gửi cảnh báo BOT_TOKEN=604821066:AAGVYbLdJRmHcjvxDW1wSrStKpAfWsjksdj ## Bot token đã tạo ở trên CHANNEL_ID=-317836924 ## ID của Group đã tạo ở trên
Thay các giá trị tương ứng trong file như trên.
Chạy thử file, lưu ý khi chạy thử thì đặt cái NOTIFY_CRITICAL= to to tí để nó cảnh báo thử, vì nếu domain còn hạn lớn hơn số này thì script sẽ không cảnh báo gì. Do mình dùng chủ yếu là Letsencrypt cert nên để 28 ngày cho ít cảnh báo :)
/bin/bash check_ssl.sh
Kết quả:
Đặt 1 cronjob để chạy file này hàng ngày:
0 6 * * * /bin/bash /path/to/file/check_ssl.sh