Zabbix实践:SSL证书监控全流程技术解析

配置当SSL证书距离到期时间小于7天时,系统发出提示,以便及时更新证书,避免因证书过期导致的安全问题。

背景

在某项目中,为了确保系统安全稳定运行,需要对所有 SSL 证书的有效期进行监控。当证书距离到期时间小于 7 天时,系统将发出提示,以便及时更新证书,避免因证书过期导致的安全问题。


Zabbix 环境信息

Zabbix 版本: 6.0.6

Zabbix 部署路径: /usr/local/zabbix/usr/local/zabbix/share/zabbix/externalscripts/


一、脚本创建

在 zabbix 的externalscripts 目录下创建脚本check_ssl.sh,脚本内容如下。

# vi /usr/local/zabbix/share/zabbix/externalscripts/check_ssl.sh

#!/bin/bash
time=$(echo | openssl s_client -connect $1:443 2>/dev/null | openssl x509 -noout -dates |awk -F'=' 'NR==2{print $2}')
times=$((($(date +%s -d "$time")-$(date +%s))/(60*60*24)))
echo $times

脚本check_ssh.sh授权。

# cd /usr/local/zabbix/share/zabbix/externalscripts/

# chown zabbix:zabbix check_ssh.sh
# chmod 755 check_ssh.sh


二、创建模板,添加监控项。

# 创建 ssl 证书有效期检测模板

gb81zok367e3a0d1afc7f.png

yW13t2uN67e3a0db593ce.png

# 添加外部检查类型监控项

SBSybT6C67e3a0eb471d7.png

xfNyhCqz67e3a0f330b0b.png

名称:ssl 证书有效期

类型:外部检查

键值:check_ssh.sh[{$KEY}]

信息类型:数字(无正负)

单位:天

更新间隔: 1d

djOj3Dka67e3a10102175.png

创建触发器:

vzADeNne67e3a10d873a7.png

名称:[SSL]{HOST.NAME} ssl证书剩余有效时间不足{$DAY}天

严重等级: 警告

表达式:last(/SSL certificate monitoring/check_ssh.sh[{$KEY}])<{$DAY}

F3qw9Oqf67e3a11b3ca2e.png

HSPIGvHG67e3a1267676a.png

# 添加变量宏

mmFGOtAR67e3a135789b2.png

{$KEY}

{$DAY}

0BNmxi9367e3a14132b50.png

三、主机连接”ssl 证书有效期检测”模板,验证。

# 主机连接模板

7wgZiI7967e3a14fad36d.png

# 填写域名和到期前提醒时间,测试验证。

vF9S28Ma67e3a15a6dcbf.png

四、验证。

手动执行:

acGA2zQQ67e3a16733edb.png

KSEEvgkS67e3a171545a8.png

0 条评论

请先 登录 后评论
乐维君
乐维君

427 篇文章

作家榜 »

  1. 乐维君 427 文章
  2. YOHOHO 14 文章
  3. 机灵小和尚 13 文章
  4. 细雨闲花 12 文章
  5. 我是一只小菜鸡 12 文章
  6. 。。。 9 文章
  7. 御前侍卫张五哥 9 文章
  8. 小黄人 8 文章