SSL证书检查工具使用教程
1. 项目目录结构及介绍
本项目为一个用于检查SSL证书有效性的开源工具,其目录结构如下:
https-ssl-cert-check-zabbix/
├── .github/ # GitHub工作流和模板文件
│ └── ISSUE_TEMPLATE # Issue模板文件
├── testing-in-docker/ # Docker测试相关文件
├── zabbix_integration_examples/ # Zabbix集成示例
│ └── userparameters_ssl_cert_check.conf # Zabbix用户参数配置文件示例
├──/LICENSE # 许可证文件
├──/README.md # 项目说明文件
├── ssl_cert_check.sh # SSL证书检查脚本
└── userparameters_ssl_cert_check.conf # Zabbix用户参数配置文件
.github/
: 包含GitHub Actions工作流和Issue模板等。testing-in-docker/
: 包含Docker容器中的测试文件。zabbix_integration_examples/
: 包含与Zabbix集成的示例配置文件。/LICENSE
: 开源许可证文件。/README.md
: 项目描述文件,介绍项目的使用方法和功能。ssl_cert_check.sh
: 主脚本文件,用于检查SSL证书的有效性。userparameters_ssl_cert_check.conf
: Zabbix集成时使用的用户参数配置文件。
2. 项目的启动文件介绍
项目的启动文件为ssl_cert_check.sh
。此脚本用于检查指定主机的SSL证书是否有效,以及距离证书到期还有多少天。脚本的使用方式如下:
./ssl_cert_check.sh [valid|expire|json] <主机名或IP> [端口[/启动TLS协议]] [TLS SNI域名] [检查超时时间(秒)] [TLS版本|tls_auto,[self_signed_ok]] [s_client选项1] [...]
[valid|expire|json]
: 指定执行的操作类型,valid
检查证书是否有效,expire
检查证书到期时间,json
输出证书信息的JSON格式。<主机名或IP>
: 指定要检查的主机名或IP地址。[端口[/启动TLS协议]]
: 指定检查的端口号和启动TLS的协议,默认端口为443。[TLS SNI域名]
: 如果证书的域名与主机名不同,指定SNI域名。[检查超时时间(秒)]
: 指定检查操作的超时时间,默认为5秒。[TLS版本|tls_auto,[self_signed_ok]]
: 指定TLS版本,tls_auto
表示自动协商版本,self_signed_ok
表示接受自签名证书。[s_client选项1]
:[...]
: 其他openssl s_client
命令行选项。
3. 项目的配置文件介绍
项目的配置文件为userparameters_ssl_cert_check.conf
,此文件主要用于Zabbix集成时设置用户参数。
配置文件中包含了一系列的用户参数定义,例如:
UserParameter=ssl_cert_validity[*],/path/to/ssl_cert_check.sh valid $1 $2 $3 $4
UserParameter=ssl_cert_expiry[*],/path/to/ssl_cert_check.sh expire $1 $2 $3 $4
UserParameter=ssl_cert_json[*],/path/to/ssl_cert_check.sh json $1 $2 $3 $4
这些用户参数允许Zabbix通过执行脚本的方式来检查SSL证书的有效性、到期时间以及获取证书信息的JSON输出。在Zabbix中配置相应的监控项时,将这些参数与主机相关联,即可实现对SSL证书状态的监控。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考