Zabbix支持使用TLS协议v.1.2和1.3(取决于加密库)在Zabbix组件之间进行加密通信。支持证书加密和预共享密钥加密。
可以为连接配置加密:
加密是可选和可配置的单个组件:
Zabbix守护程序为传入的加密和非加密连接使用一个侦听端口。 添加加密并不需要在防火墙上打开新的端口。
为了支持加密,Zabbix必须编译并链接到受支持的加密库之一:
--with-gnutls[=DIR]
--with-openssl[=DIR]
(也用于LibreSSL)例如,要用OpenSSL配置server和agent的源文件,你可以使用如下方法:
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openssl
不同的Zabbix组件可以使用不同的加密库进行编译 (例如,服务器上有OpenSSL,代理上有GnuTLS)。
如果您计划使用预共享密钥(PSK),请考虑在使用PSK的Zabbix组件中使用GnuTLS或OpenSSL 1.1.0(或更新)库。 GnuTLS和OpenSSL 1.1.0库 支持PSK密码套件 向前兼容密码.OpenSSL库的旧版本(1.0.1,1.0.2c)也支持PSK,但可用的PSK密码套件不支持向前兼容密码。
Zabbix中的连接可以使用:
有两个重要的参数用于指定之间的加密Zabbix组件:
TLSConnect
在Zabbix proxy(在主动模式下,仅指定到server的连接)和Zabbix agent(在主动检查中)的配置文件中使用。在Zabbix前端TLSConnect等效的是配置→主机→<一些主机>→加密标签中的连接到主机字段和管理→Proxy代理→<一些proxy代理>→加密标签中的连接到proxy字段。如果为连接配置的加密类型失败,则不会尝试其他加密类型。
TLSAccept
在Zabbix proxy(被动模式,仅指定来自server的连接)和Zabbix agent(被动检查)的配置文件中使用。在Zabbix前端TLSAccept等价的是配置→主机→<一些主机>→加密标签中的主机连接字段和管理→proxy代理→<一些proxy代理>→加密标签中的proxy连接字段。
通常您只为传入加密配置一种类型的加密。 但您可能希望切换加密类型,例如,从未加密切换到基于证书的加密,并尽可能减少停机时间和回滚可能性。 为实现这一目标:
TLSAccept=unencrypted,cert
在agent配置文件中设置,重启Zabbix agent以类似的方式,它在server和proxy上工作。 如果在Zabbix前端主机配置来自主机的连接设置为“证书”,那么只有基于证书的加密连接将被接受从agent(主动检查)和Zabbix_sender(trapper监控项)。
最可能的情况是将传入和传出连接配置为使用相同的加密类型或完全不加密。 但在技术上,可以不对称地配置它,例如,对传入连接进行基于证书的加密,对传出连接进行基于psk的加密。
Zabbix前端“Agent加密”列的“配置→主机”中显示各主机的加密配置信息。 例如:
例子 | 连接到主机 | 允许连接的主机 | 拒绝连接的主机 |
---|---|---|---|
非加密的 | 非加密的 | 加密,证书和psk加密 | |
加密的,基于证书 | 加密的, 基于证书 | 加密的基于PSK | |
加密的, 基于PSK | 加密的, 基于PSK | 非加密的基于证书加密的 | |
加密的, 基于PSK | 非加密和基于PSK加密 | 基于证书加密 | |
加密, 证书加密 | 未加密, PSK或者or基于证书加密 | - |
:: noteimportant 默认情况下,连接是不加密的。如果使用加密那么必须分别为每个主机和proxy配置加密。 :::
请参阅zabbix_get和zabbix_sender 操作说明使用加密。
默认情况下,密码套件是在Zabbix启动期间内部配置的,在Zabbix 4.0.19和4.4.7之前是不能由用户配置的。
从Zabbix 4.0.19,4.4.7开始也支持GnuTLS和OpenSSL用户配置的密码套件。用户可以根据他们的安全策略配置密码套件。使用这个特性是可选的(内置的默认密码套件仍然可以使用)。
对于使用默认设置编译的加密库,Zabbix内置规则通常会导致以下加密套件(按优先级由高到低的顺序):
库 | 证书密码套件 | PSK密码套件 |
---|---|---|
GnuTLS 3.1.18 | TLS_ECDHE_RSA_AES_128_GCM_SHA256 TLS_ECDHE_RSA_AES_128_CBC_SHA256 TLS_ECDHE_RSA_AES_128_CBC_SHA1 TLS_RSA_AES_128_GCM_SHA256 TLS_RSA_AES_128_CBC_SHA256 TLS_RSA_AES_128_CBC_SHA1 |
TLS_ECDHE_PSK_AES_128_CBC_SHA256 TLS_ECDHE_PSK_AES_128_CBC_SHA1 TLS_PSK_AES_128_GCM_SHA256 TLS_PSK_AES_128_CBC_SHA256 TLS_PSK_AES_128_CBC_SHA1 |
OpenSSL 1.0.2c | ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA AES128-GCM-SHA256 AES128-SHA256 AES128-SHA |
PSK-AES128-CBC-SHA |
OpenSSL 1.1.0 | ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA AES128-GCM-SHA256 AES128-CCM8 AES128-CCM AES128-SHA256 AES128-SHA |
ECDHE-PSK-AES128-CBC-SHA256 ECDHE-PSK-AES128-CBC-SHA PSK-AES128-GCM-SHA256 PSK-AES128-CCM8 PSK-AES128-CCM PSK-AES128-CBC-SHA256 PSK-AES128-CBC-SHA |
OpenSSL 1.1.1d | TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA AES128-GCM-SHA256 AES128-CCM8 AES128-CCM AES128-SHA256 AES128-SHA |
TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-PSK-AES128-CBC-SHA256 ECDHE-PSK-AES128-CBC-SHA PSK-AES128-GCM-SHA256 PSK-AES128-CCM8 PSK-AES128-CCM PSK-AES128-CBC-SHA256 PSK-AES128-CBC-SHA |
内置的密码套件选择标准可以被用户配置的密码套件覆盖。
用户配置的密码套件是针对了解TLS密码套件、其安全性和错误后果以及熟悉TLS故障排除的高级用户的特性。
内置的密码套件选择标准可以使用以下参数覆盖:
覆盖范围 | 参数 | 值 | 描述 |
---|---|---|---|
证书的密码套件选择 | TLSCipherCert13 | 有效 OpenSSL 1.1.1 cipher strings 对于TLS 1.3协议(它们的值被传递到OpenSSL函数SSL_CTX_set_ciphersuites())。 | TLS 1.3的基于证书的加密套件选择标准 仅支持OpenSSL 1.1.1及以上版本。 |
TLSCipherCert | 针对TLS 1.2的有效OpenSSL密码字符串 或有效的GnuTLS优先级字符串。它们的值分别传递给SSL_CTX_set_cipher_list()或gnutls_priority_init()函数。 | 针对TLS 1.2/1.3 (GnuTLS)、TLS 1.2 (OpenSSL)的基于证书的密码套件选择标准。 | |
Ciphersuite selection for PSK | TLSCipherPSK13 | 有效的OpenSSL 1.1.1密码字符串 对于TLS 1.3协议(它们的值被传递到OpenSSL函数SSL_CTX_set_ciphersuites())。 | 基于psk的TLS 1.3加密套件选择标准 仅支持OpenSSL 1.1.1及以上版本。 |
TLSCipherPSK | 对于TLS 1.2有效的OpenSSL密码字符串或有效的GnuTLS优先级字符串。它们的值分别传递给SSL_CTX_set_cipher_list()或gnutls_priority_init()函数。 | 基于psk的TLS 1.2/1.3 (GnuTLS)、TLS 1.2 (OpenSSL)加密套件选择标准。 | |
Combined ciphersuite list for certificate and PSK | TLSCipherAll13 | TLS 1.3协议的有效的OpenSSL 1.1.1密码字符串(它们的值被传递到OpenSSL函数SSL_CTX_set_ciphersuites())。 | TLS 1.3 仅支持OpenSSL 1.1.1及以上版本。 |
TLSCipherAll | 对于TLS 1.2有效的OpenSSL密码字符串或有效的GnuTLS优先级字符串。它们的值分别传递给SSL_CTX_set_cipher_list()或gnutls_priority_init()函数。 | 针对TLS 1.2/1.3 (GnuTLS)、TLS 1.2 (OpenSSL)的加密套件选择标准. |
在zabbix_get和zabbix_sender工具中覆盖密码套件选择 - 使用命令行参数:
--tls-cipher13
--tls-cipher
新参数为可选参数。 如果没有指定参数,则使用内部的默认值。 如果参数已定义,则它不能为空。
如果加密库中的tlsciphher *值设置失败,则server、proxy或agent将无法启动,并记录一个错误。
理解每个参数何时适用是很重要的。
简单例子外部连接:
对于传入连接来说,这有点复杂,因为规则是特定于组件和配置的。
对 Zabbix agent:
Agent 连接步骤 | 密码配置 |
---|---|
TLSConnect=cert | TLSCipherCert, TLSCipherCert13 |
TLSConnect=psk | TLSCipherPSK, TLSCipherPSK13 |
TLSAccept=cert | TLSCipherCert, TLSCipherCert13 |
TLSAccept=psk | TLSCipherPSK, TLSCipherPSK13 |
TLSAccept=cert,psk | TLSCipherAll, TLSCipherAll13 |
对 Zabbix server 和**proxy** :
连接步骤 | 密码配置 |
---|---|
Outgoing connections using PSK | TLSCipherPSK, TLSCipherPSK13 |
Incoming connections using certificates | TLSCipherAll, TLSCipherAll13 |
Incoming connections using PSK if server has no certificate | TLSCipherPSK, TLSCipherPSK13 |
Incoming connections using PSK if server has certificate | TLSCipherAll, TLSCipherAll13 |
在上面的两个表中可以看到一些模式:
下表显示了' TLSCipher* '的内置默认值。 对于您自己的定制值来说,它们可能是一个很好的起点。
参数 | GnuTLS 3.6.12 |
---|---|
TLSCipherCert | NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509 |
TLSCipherPSK | NONE:+VERS-TLS1.2:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL |
TLSCipherAll | NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509 |
参数 | OpenSSL 1.1.1d 1 |
---|---|
TLSCipherCert13 | |
TLSCipherCert | EECDH+aRSA+AES128:RSA+aRSA+AES128 |
TLSCipherPSK13 | TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256 |
TLSCipherPSK | kECDHEPSK+AES128:kPSK+AES128 |
TLSCipherAll13 | |
TLSCipherAll | EECDH+aRSA+AES128:RSA+aRSA+AES128:kECDHEPSK+AES128:kPSK+AES128 |
1 对于较早的OpenSSL版本(1.0.1,1.0.2,1.1.0),对于LibreSSL和如果在没有PSK支持的情况下编译OpenSSL,默认值是不同的。
用户配置的密码套件示例
请参阅以下用户配置的密码套件示例:
要查看哪些加密套件已经被选中,你需要在配置文件中设置'DebugLevel=4',或者对zabbix_sender使用' -vv '选项。
在获得所需的密码组之前,可能需要对“TLSCipher”参数进行一些实验。 为了调整“TLSCipher”参数,多次重启Zabbix server、proxy或agent是不方便的。 更方便的选项是使用zabbix_sender或' openssl '命令。 让我们几种都看看如何实现。
1. 使用 zabbix_sender.
让我们做一个测试配置文件,例如/home/zabbix/test.conf,使用zabbix_agentd.conf文件的规则:
Hostname=nonexisting
ServerActive=nonexisting
TLSConnect=cert
TLSCAFile=/home/zabbix/ca.crt
TLSCertFile=/home/zabbix/agent.crt
TLSKeyFile=/home/zabbix/agent.key
TLSPSKIdentity=nonexisting
TLSPSKFile=/home/zabbix/agent.psk
在本例中,您需要有效的CA和代理证书以及PSK。 为您的环境调整证书和PSK文件路径和名称。
如果你不使用证书,而只使用PSK,你可以制作一个更简单的测试文件:
Hostname=nonexisting
ServerActive=nonexisting
TLSConnect=psk
TLSPSKIdentity=nonexisting
TLSPSKFile=/home/zabbix/agentd.psk
运行zabbix_sender(用OpenSSL 1.1.d编译的例子)可以看到所选的密码套件:
$ zabbix_sender -vv -c /home/zabbix/test.conf -k nonexisting_item -o 1 2>&1 | grep ciphersuites
zabbix_sender [41271]: DEBUG: zbx_tls_init_child() certificate ciphersuites: TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA AES128-GCM-SHA256 AES128-CCM8 AES128-CCM AES128-SHA256 AES128-SHA
zabbix_sender [41271]: DEBUG: zbx_tls_init_child() PSK ciphersuites: TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-PSK-AES128-CBC-SHA256 ECDHE-PSK-AES128-CBC-SHA PSK-AES128-GCM-SHA256 PSK-AES128-CCM8 PSK-AES128-CCM PSK-AES128-CBC-SHA256 PSK-AES128-CBC-SHA
zabbix_sender [41271]: DEBUG: zbx_tls_init_child() certificate and PSK ciphersuites: TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA AES128-GCM-SHA256 AES128-CCM8 AES128-CCM AES128-SHA256 AES128-SHA ECDHE-PSK-AES128-CBC-SHA256 ECDHE-PSK-AES128-CBC-SHA PSK-AES128-GCM-SHA256 PSK-AES128-CCM8 PSK-AES128-CCM PSK-AES128-CBC-SHA256 PSK-AES128-CBC-SHA
这里可以看到默认选择的密码套件。 选择这些默认值是为了确保与运行在较早OpenSSL版本(从1.0.1开始)的系统上的Zabbix代理的互操作性。
在较新的系统中,你可以选择通过只允许一些密码套件来加强安全性,例如。 只有PFS(完全向前保密)密码套件。 让我们尝试只允许使用' TLSCipher* '参数的PFS加密套件。
如果使用PSK,结果将无法与使用OpenSSL 1.0.1和1.0.2的系统进行互操作。 基于证书的加密应该可以工作。
添加两行到' test.conf '配置文件:
然后再测试一次:
$ zabbix_sender -vv -c /home/zabbix/test.conf -k nonexisting_item -o 1 2>&1 | grep ciphersuites
zabbix_sender [42892]: DEBUG: zbx_tls_init_child() certificate ciphersuites: TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA
zabbix_sender [42892]: DEBUG: zbx_tls_init_child() PSK ciphersuites: TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-PSK-AES128-CBC-SHA256 ECDHE-PSK-AES128-CBC-SHA
zabbix_sender [42892]: DEBUG: zbx_tls_init_child() certificate and PSK ciphersuites: TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA AES128-GCM-SHA256 AES128-CCM8 AES128-CCM AES128-SHA256 AES128-SHA ECDHE-PSK-AES128-CBC-SHA256 ECDHE-PSK-AES128-CBC-SHA PSK-AES128-GCM-SHA256 PSK-AES128-CCM8 PSK-AES128-CCM PSK-AES128-CBC-SHA256 PSK-AES128-CBC-SHA
“证书密码套件”和“PSK密码套件”列表已更改 - 它们比以前短,只包含预期的TLS 1.3加密套件和TLS 1.2 ECDHE-*加密套件。
2. TLSCipherAll和TLSCipherAll13不能被zabbix_sender测试; 它们不会影响上面示例中显示的“证书和PSK密码套件”的值。 要调整TLSCipherAll和TLSCipherAll13,你需要用agent、proxy或server进行实验。
因此,为了只允许PFS密码套件,您可能需要添加最多三个参数
TLSCipherCert=EECDH+aRSA+AES128
TLSCipherPSK=kECDHEPSK+AES128
TLSCipherAll=EECDH+aRSA+AES128:kECDHEPSK+AES128
如果zabbix_agentd.conf、zabbix_proxy.conf和zabbix_server_conf都配置了证书,并且agent也有PSK。
如果Zabbix环境只使用基于psk的加密并且没有证书,那么只有一个:
现在您已经了解了它的工作原理,您可以在Zabbix之外使用“openssl”命令测试密码套件的选择。 让我们测试三个' TLSCipher* '参数值:
$ openssl ciphers EECDH+aRSA+AES128 | sed 's/:/ /g'
TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA
$ openssl ciphers kECDHEPSK+AES128 | sed 's/:/ /g'
TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-PSK-AES128-CBC-SHA256 ECDHE-PSK-AES128-CBC-SHA
$ openssl ciphers EECDH+aRSA+AES128:kECDHEPSK+AES128 | sed 's/:/ /g'
TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA ECDHE-PSK-AES128-CBC-SHA256 ECDHE-PSK-AES128-CBC-SHA
你可能更喜欢 openssl ciphers
带参数 -V
执行 得到更详细的信息 输出:
$ openssl ciphers -V EECDH+aRSA+AES128:kECDHEPSK+AES128
0x13,0x02 - TLS_AES_256_GCM_SHA384 TLSv1.3 Kx=any Au=any Enc=AESGCM(256) Mac=AEAD
0x13,0x03 - TLS_CHACHA20_POLY1305_SHA256 TLSv1.3 Kx=any Au=any Enc=CHACHA20/POLY1305(256) Mac=AEAD
0x13,0x01 - TLS_AES_128_GCM_SHA256 TLSv1.3 Kx=any Au=any Enc=AESGCM(128) Mac=AEAD
0xC0,0x2F - ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD
0xC0,0x27 - ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA256
0xC0,0x13 - ECDHE-RSA-AES128-SHA TLSv1 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA1
0xC0,0x37 - ECDHE-PSK-AES128-CBC-SHA256 TLSv1 Kx=ECDHEPSK Au=PSK Enc=AES(128) Mac=SHA256
0xC0,0x35 - ECDHE-PSK-AES128-CBC-SHA TLSv1 Kx=ECDHEPSK Au=PSK Enc=AES(128) Mac=SHA1
类似地,你可以测试GnuTLS的优先级字符串:
$ gnutls-cli -l --priority=NONE:+VERS-TLS1.2:+ECDHE-RSA:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509
Cipher suites for NONE:+VERS-TLS1.2:+ECDHE-RSA:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509
TLS_ECDHE_RSA_AES_128_GCM_SHA256 0xc0, 0x2f TLS1.2
TLS_ECDHE_RSA_AES_128_CBC_SHA256 0xc0, 0x27 TLS1.2
Protocols: VERS-TLS1.2
Ciphers: AES-128-GCM, AES-128-CBC
MACs: AEAD, SHA256
Key Exchange Algorithms: ECDHE-RSA
Groups: GROUP-SECP256R1, GROUP-SECP384R1, GROUP-SECP521R1, GROUP-X25519, GROUP-X448, GROUP-FFDHE2048, GROUP-FFDHE3072, GROUP-FFDHE4096, GROUP-FFDHE6144, GROUP-FFDHE8192
PK-signatures: SIGN-RSA-SHA256, SIGN-RSA-PSS-SHA256, SIGN-RSA-PSS-RSAE-SHA256, SIGN-ECDSA-SHA256, SIGN-ECDSA-SECP256R1-SHA256, SIGN-EdDSA-Ed25519, SIGN-RSA-SHA384, SIGN-RSA-PSS-SHA384, SIGN-RSA-PSS-RSAE-SHA384, SIGN-ECDSA-SHA384, SIGN-ECDSA-SECP384R1-SHA384, SIGN-EdDSA-Ed448, SIGN-RSA-SHA512, SIGN-RSA-PSS-SHA512, SIGN-RSA-PSS-RSAE-SHA512, SIGN-ECDSA-SHA512, SIGN-ECDSA-SECP521R1-SHA512, SIGN-RSA-SHA1, SIGN-ECDSA-SHA1
Zabbix使用AES128作为数据的内置默认值。让我们假设您正在使用证书,并希望切换到OpenSSL 1.1.1上的AES256。 这可以通过添加相应的参数来实现 zabbix_server.conf
:
TLSCAFile=/home/zabbix/ca.crt
TLSCertFile=/home/zabbix/server.crt
TLSKeyFile=/home/zabbix/server.key
TLSCipherCert13=TLS_AES_256_GCM_SHA384
TLSCipherCert=EECDH+aRSA+AES256:-SHA1:-SHA384
TLSCipherPSK13=TLS_CHACHA20_POLY1305_SHA256
TLSCipherPSK=kECDHEPSK+AES256:-SHA1
TLSCipherAll13=TLS_AES_256_GCM_SHA384
TLSCipherAll=EECDH+aRSA+AES256:-SHA1:-SHA384
虽然只使用与证书相关的密码套件,但' TLSCipherPSK* '参数也被定义得很好,以避免它们的默认值包括较不安全的密码,以实现更广泛的互操作性。 不能在server/proxy上完全禁用PSK密码套件。
并且在 zabbix_agentd.conf
: