1 连接类型或权限问题

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

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

Get value from agent failed: zbx_tls_connect(): gnutls_handshake() failed: \
           -110 The TLS connection was non-properly terminated.

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

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

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

在任何日志中(使用GnuTLS):

failed to accept an incoming connection: from 127.0.0.1: zbx_tls_accept(): gnutls_handshake() failed:\
           -21 Could not negotiate a supported cipher suite.

在任何日志中(使用OpenSSL 1.0.2c):

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

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

在连接端日志中:

Linux:

...In zbx_tls_init_child()
       ...OpenSSL library (version OpenSSL 1.1.1  11 Sep 2018) initialized
       ...
       ...In zbx_tls_connect(): psk_identity:"PSK test sender"
       ...End of zbx_tls_connect():FAIL error:'connection closed by peer'
       ...send value error: TCP successful, cannot establish TLS to [[localhost]:10051]: connection closed by peer

Windows:

...OpenSSL库(version OpenSSL 1.1.1a 2018年11月20日)已初始化 ... ...在zbx_tls_connect()中: psk_identity:"PSK测试发送方" ...zbx_psk_client_cb()请求了PSK身份"PSK测试发送方" ...zbx_tls_connect()结束:失败 错误:'SSL_connect() I/O错误: [0x00000000] 操作成功完成' ...发送值错误: TCP成功,但无法与[[192.168.1.2]:10051]建立TLS连接: SSL_connect() I/O错误: [0x00000000] 操作成功完成

在接受端日志中:

...无法接受传入连接:来自127.0.0.1:未编译TLS支持

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

LibreSSL不支持PSK。

在连接端日志中:

...TCP successful, cannot establish TLS to [[192.168.1.2]:10050]: SSL_connect() I/O error: [0] Success

在接收端日志中:

...failed to accept an incoming connection: from 192.168.1.2: support for PSK was not compiled in

在Zabbix前端:

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

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

在连接端日志中:

...TCP successful, cannot establish TLS to [[192.168.1.2]:10050]: SSL_connect() set result code to SSL_ERROR_SSL: file ../ssl/record/rec_layer_s3.c line 1536: error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure: SSL alert number 40: TLS read fatal alert "handshake failure"

在接收端日志中:

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