1 连接类型或权限问题

服务器配置为使用 PSK 与 agent 连接,但 agent 仅接受未加密连接

在 server 或 proxy 日志中(使用 GnuTLS 3.3.16)

agent 获取值失败:zbx_tls_connect(): gnutls_handshake() 失败:\
           -110 TLS 连接未正常终止。

在 server 或 proxy 日志中(使用 OpenSSL 1.0.2c)

agent 获取值失败:TCP 连接成功,无法建立 TLS 到 [[127.0.0.1]:10050]: \
           连接被对端关闭。请检查允许的连接类型和访问权限

一端使用证书连接而另一端仅接受PSK,反之亦然

使用 GnuTLS 的任意日志中:

无法接受传入连接:来自 127.0.0.1: zbx_tls_accept(): gnutls_handshake() 失败:\
           -21 无法协商支持的密码套件。

使用 OpenSSL 1.0.2c 的任意日志中:

无法接受传入连接:来自 127.0.0.1: TLS 握手返回错误代码 1:\
           file .\ssl\s3_srvr.c 行 1411: 错误:1408A0C1:SSL 例程:ssl3_get_client_hello:无共享密码:\
           TLS 写入致命警报 "handshake failure"

尝试使用编译时启用了 TLS 支持的 Zabbix sender 向未启用 TLS 编译的 Zabbix server/proxy 发送数据

在连接端日志中:

Linux:

...在 zbx_tls_init_child()
       ...OpenSSL 库 (version OpenSSL 1.1.1  11 2018年9月) 已初始化
       ...
       ...在 zbx_tls_connect() 中:psk_identity:"PSK 测试发送者"
       ...zbx_tls_connect() 结束:FAIL 错误:'连接被对端关闭'
       ...发送值错误:TCP 成功,无法建立 TLS 到 [[localhost]:10051]:连接被对端关闭

Windows:

...OpenSSL 库 (version OpenSSL 1.1.1a  20 2018年11月) 已初始化
       ...
       ...在 zbx_tls_connect() 中:psk_identity:"PSK 测试发送者"
       ...zbx_psk_client_cb() 请求的 PSK 身份为 "PSK 测试发送者"
       ...zbx_tls_connect() 结束:FAIL 错误:'SSL_connect() I/O 错误:[0x00000000] 操作成功完成'
       ...发送值错误:TCP 成功,无法建立 TLS 到 [[192.168.1.2]:10051]:SSL_connect() I/O 错误:[0x00000000] 操作成功完成
在接受端日志中:
...无法接受传入的连接:来自 127.0.0.1:未编译支持 TLS 的功能

一端使用 PSK 连接,而另一端使用 LibreSSL 或编译时未启用加密支持

LibreSSL 不支持 PSK。

在连接端日志中:

...TCP 成功,无法建立 TLS 连接至 [[192.168.1.2]:10050]: SSL_connect() I/O 错误: [0] Success

在接收端日志中:

...未能接受传入的连接:来自 192.168.1.2: 编译时未包含对 PSK 的支持

在 Zabbix 前端中:

agent 获取值失败: TCP 成功,无法建立 TLS 连接至 [[192.168.1.2]:10050]: SSL_connect() I/O 错误: [0] Success

一端使用 PSK 连接,而另一端使用禁用了 PSK 支持的 OpenSSL

在连接端日志中:

...TCP 成功,无法通过 TLS 连接到 [[192.168.1.2]:10050]: SSL_connect() 设置结果代码为 SSL_ERROR_SSL: file ../ssl/record/rec_layer_s3.c 第 1536 行: 错误:14094410:SSL 例程:ssl3_read_bytes:sslv3 警报握手失败: SSL 警报编号 40: TLS 读取致命警报 "handshake failure"

在接收端日志中:

...接受传入连接失败: 来自 192.168.1.2: TLS 握手设置结果代码为 1: file ssl/statem/statem_srvr.c 第 1422 行: 错误:1417A0C1:SSL 例程:tls_post_process_client_hello:无共享密码: TLS 写入致命警报 "handshake failure"