Zabbix admet comunicacions xifrades entre components Zabbix emprant el protocol Transport Layer Security (TLS) v.1.2 i 1.3 (segons la biblioteca de xifrat). S'admet tant el xifrat basat en certificats com el basat en claus precompartides.
El xifrat es pot configurar per a connexions:
El xifrat és opcional i configurable per a components individuals:
Els dimonis Zabbix empren un port d'escolta per a connexions entrants xifrades i no xifrades. L'afegit de xifrat no requereix obrir nous ports als tallafocs.
Per donar suport al xifrat, Zabbix s'ha de compilar i enllaçar amb una de les biblioteques de xifrat admeses:
tls_*()
específiques de LibreSSL no s'empren. Els components Zabbix compilats amb LibreSSL no podran emprar PSK, només es poden emprar certificats.Podeu obtindre més informació sobre com configurar SSL per a la interfície Zabbix consultant aquestes pràctiques recomanades.
La biblioteca es tria especificant l'opció corresponent per "configurar" l'script:
--with-gnutls[=DIR]
--with-openssl[=DIR]
(també s'utilitza per a LibreSSL)Per exemple, per configurar les fonts del servidor i de l'agent amb OpenSSL, podeu emprar alguna cosa com:
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openssl
Es poden compilar diferents components de Zabbix amb diferents biblioteques de xifrat (per exemple, servidor amb OpenSSL, agent amb GnuTLS).
Si teniu previst emprar claus precompartides (PSK), penseu a emprar biblioteques GnuTLS o OpenSSL 1.1.0 (o més recent) als components Zabbix mitjançant PSK. Les biblioteques GnuTLS i OpenSSL 1.1.0 admeten suites de xifrat PSK amb Perfect Forward Secrecy. Les versions anteriors de la biblioteca OpenSSL (1.0.1, 1.0.2c) també admeten PSK, però les suites de xifrat PSK disponibles no proporcionen Perfect Forward Secrecy.
Les connexions a Zabbix poden emprar:
S'empren dos paràmetres importants per especificar el xifrat entre components Zabbix:
TLSConnect
s'empra als fitxers de configuració per al proxy Zabbix (en mode actiu, només especifica les connexions del servidor) i l'agent Zabbix (per a comprovacions actives). A la interfície de Zabbix, l'equivalent de TLSConnect és el camp Connexions a l'equip a Configuració → Equips → <un equip> → Pestanya Xifrat i el camp Connexions al proxy a la pestanya Administració → Proxys → <un proxy> → Xifrat . Si el tipus de xifrat configurat per a la connexió falla, no es provarà cap altre tipus de xifrat.
TLSAccept
s'empra als fitxers de configuració per al proxy Zabbix (en mode passiu, només especifica connexions des del servidor) i l'agent Zabbix (per a comprovacions passives). A la interfície de Zabbix, l'equivalent de TLSAccept és el camp Connexions des de l'equip a la pestanya Configuració → Equips → <un equip> → Xifrat i el camp Connexions des del proxy a la pestanya Administració → Proxys → <un proxy> → Xifrat .
Normalment, només configureu un tipus de xifrat per a xifrats entrants. Però és possible que vulgueu canviar el tipus de xifrat, per exemple, de no xifrat a basat en certificats amb un temps d'inactivitat i una capacitat de retrocés mínims. Per aconseguir-ho:
TLSAccept=unencrypted,cert
al fitxer de configuració de l'agent i reinicieu l'agent ZabbixTLSAccept=cert
al fitxer de configuració de l'agent i reiniciar l'agent Zabbix. Ara l'agent només admetrà connexions basades en certificats xifrats. Les connexions no xifrades i basades en PSK seran rebutjades.De la mateixa manera, funciona al servidor i al proxy. Si a la interfície Zabbix, a la configuració de l'equip, Connexions des de l'equip s'estableix a "Certificat", només les connexions xifrades basades en certificats seran acceptades per l'agent (comprovacions actives) i el _sender de zabbix (elements trapper).
El més probable és que configureu les connexions entrants i sortints per emprar el mateix tipus de xifrat o cap xifrat. Però tècnicament és possible configurar-ho de manera asimètrica, com ara xifrat basat en certificats per a connexions entrants i encriptació basat en PSK per a connexions sortints.
La configuració de xifrat per a cada equip es mostra a la interfície Zabbix, a Recull de dades → Equips a la columna Xifrat de l'agent. Per exemple:
|Exemple|Connexions a l'equip|Connexions permeses des de l'equip|Connexions no permeses des de l'equip| |-------|--------------------|-----|---------------- ----| ||No xifrat|No xifrat|Xifrat, certificat i xifrat basat en PSK| ||Xifrat, basat en certificats|Xifrat, basat en certificats|No xifrat i xifrat amb PSK| ||Xifrat, basat en PSK|Xifrat, basat en PSK|Xifrat sense xifrar i xifrat en certificat| ||Xifrat, basat en PSK|Sense xifrat i xifrat amb PSK|Xifrat basat en certificat| ||Xifrat, basat en certificat|Sense xifrat, PSK o xifrat basat en certificat|-|
Les connexions no són xifrades per defecte. El xifrat s'ha de configurar per a cada equip i proxy individualment.
Veieu els manuals de zabbix_get et zabbix_sender per emprar el xifrat.
Les suites de xifrat per defecte es configuren internament quan s'inicia Zabbix i abans de Zabbix 4.0.19, 4.4.7 no es poden configurar per l'usuari.
Des de Zabbix 4.0.19, les suites de xifrat configurades per l'usuari 4.4.7 també són compatibles amb GnuTLS i OpenSSL. Els usuaris poden configurar suites de xifrat segons les seves polítiques de seguretat. L'ús d'aquesta característica és opcional (les suites de xifrat predeterminades integrades encara funcionen).
Per a les biblioteques de xifrat compilades amb la configuració predeterminada, les regles integrades de Zabbix solen donar lloc a les següents suites de xifrat (en ordre de major a menor precedència):
Biblioteca | Certificate Cipher Suite | PSK Cipher Suite |
---|---|---|
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 |
Els criteris de selecció de la suite de xifrat integrada es poden substituir per les suites de xifrat configurades per l'usuari.
Les suites de xifrat configurades per l'usuari és una característica per als usuaris avançats que entenen les suites de xifrat TLS, la seva seguretat i les conseqüències dels errors, i que se senten còmodes amb la resolució de problemes de TLS.
Els criteris de selecció de la suite de xifrat integrat es poden substituir mitjançant la configuració següent:
Substitueix l'àmbit | Paràmetre | Valor | Descripció |
---|---|---|---|
Selecció de la suite de xifrat per als certificats OpenSSL 1.1.1 | TLSCipherCert13 | Cadenes de xifrat vàlid per al protocol TLS 1.3 (els seus valors es passen a la funció OpenSSL SSL_CTX_set_ciphersuites()). | Criteris de selecció del conjunt de xifrat basat en certificats per a TLS 1.3 Només OpenSSL 1.1.1 o versió posterior. |
TLSCipherCert | Cadenes de xifrat OpenSSL vàlid per a TLS 1.2 o cadenes de prioritat GnuTLS vàlid. Els seus valors es passen a les funcions SSL_CTX_set_cipher_list() o gnutls_priority_init(), respectivament. | Criteris de selecció de la suite de xifrat basat en certificats per a TLS 1.2/1.3 (GnuTLS), TLS 1.2 (OpenSSL) | |
Selecció de la suite de xifrat per a PSK | TLSCipherPSK13 | Cadenes de xifrat OpenSSL 1.1.1 vàlid per al protocol TLS 1.3 (els seus valors es passen a la funció OpenSSL SSL_CTX_set_ciphersuites()). | Criteris de selecció de paquets de xifrat basats en PSK per a TLS 1.3 Només OpenSSL 1.1.1 o posterior. |
TLSCipherPSK | Cadenes de xifrat OpenSSL vàlid per a TLS 1.2 o cadenes de prioritat GnuTLS vàlid. Els seus valors es passen a les funcions SSL_CTX_set_cipher_list() o gnutls_priority_init(), respectivament. | Criteris de selecció del conjunt de xifrat basat en PSK per a TLS 1.2/1.3 (GnuTLS), TLS 1.2 (OpenSSL) | |
Llista combinada de conjunts de xifrat per a certificat i PSK | TLSCipherAll13 | Cadenes de xifrat OpenSSL 1.1.1 vàlid per al protocol TLS 1.3 (els seus valors es passen a la funció OpenSSL SSL_CTX_set_ciphersuites()). | Criteris de selecció de Ciphersuite per a TLS 1.3 Només OpenSSL 1.1.1 o posterior. |
TLSCipherAll | Cadenes de xifrat OpenSSL vàlid per a TLS 1.2 o cadenes de prioritat GnuTLS vàlid. Els seus valors es passen respectivament a les funcions SSL_CTX_set_cipher_list() o gnutls_priority_init(). | Criteris de selecció de Ciphersuite per a TLS 1.2/1.3 (GnuTLS), TLS 1.2 (OpenSSL) |
Per anul·lar la selecció de la suite de xifrat a les utilitats zabbix_get i zabbix_sender, empreu els paràmetres de la línia d'ordres:
--tls-cipher13
--tls-cipher
Els nous paràmetres són opcionals. Si no s'especifica cap paràmetre, s'empra el valor per defecte intern. Si es defineix un paràmetre, no pot ésser buit.
Si no s'estableix un valor TLSCipher* a la biblioteca de xifrat, el servidor, el proxy o l'agent no s'inicien i es registra un error.
És important entendre quan cada paràmetre és aplicable.
El cas més senzill és per a les connexions sortints:
--tls-cipher13
i --tls-cipher
(el xifrat s'especifica sense ambigüitats amb un --tls-connect
)És una mica més complicat amb les connexions entrants perquè les regles són específiques dels components i de la configuració.
Per a l'agent Zabbix:
Configuració de connexió de l'agent | Configuració de xifrat |
---|---|
TLSConect=cert | TLSCipherCert,TLSCipherCert13 |
TLSConect=psk | TLSCipherPSK,TLSCipherPSK13 |
TLSAccept=cert | TLSCipherCert, TLSCipherCert13 |
TLSAccept=psk | TLSCipherPSK, TLSCipherPSK13 |
TLSAccept=cert,psk | TLSCipherAll,TLSCipherAll13 |
Per al servidor i proxy Zabbix:
Configuració de connexió | Configuració de xifrat |
---|---|
Connexions sortints amb PSK | TLSCipherPSK, TLSCipherPSK13 |
Connexions entrants amb certificats | TLSCipherAll, TLSCipherAll13 |
Connexions entrants amb PSK si el servidor no té certificat | TLSCipherPSK, TLSCipherPSK13 |
Connexions entrants amb PSK si el servidor té un certificat | TLSCipherAll, TLSCipherAll13 |
Alguns patrons es poden veure a les dues taules anteriors:
Les taules següents mostren els valors predeterminats integrats de TLSCipher*
. Poden ser un bon punt de partida per als vostres propis valors personalitzats.
Configuració | 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 |
Paràmetre | 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 Els valors per defecte són diferents per a les versions anteriors d'OpenSSL (1.0.1, 1.0.2, 1.1.0), per a LibreSSL i si OpenSSL es compila sense suport PSK.
Exemples de suites de xifrat configurades per l'usuari
Veieu els exemples següents de suites de xifrat configurades per l'usuari tot seguit:
Per veure quines suites de xifrat s'han triat, heu d'establir 'DebugLevel=4' al fitxer de configuració o emprar l'opció -vv
per a zabbix_sender.
És possible que es requereixi una mica d'experimentació amb els paràmetres TLSCipher*
abans d'aconseguir els conjunts de xifrat desitjats. No és pràctic reiniciar el servidor, el proxy o l'agent Zabbix diverses vegades només per canviar la configuració de TLSCipher *
. Les opcions més convenients fan servir zabbix_sender o l'ordre openssl
. Mostrem tots dos.
1. S'empra zabbix_sender.
Creem un fitxer de configuració de prova, per exemple /home/zabbix/test.conf, amb la sintaxi d'un fitxer 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
Us calen certificats de CA i d'agent i PSK vàlids per a aquest exemple. Ajusteu els camins i els noms dels certificats i fitxers PSK per al vostre entorn.
Si no feu servir certificats, només PSK, podeu crear un fitxer de prova més senzill:
Hostname=nonexisting
ServerActive=nonexisting
TLSConnect=psk
TLSPSKIdentity=nonexisting
TLSPSKFile=/home/zabbix/agentd.psk
Les suites de xifrat seleccionades es poden veure executant zabbix_sender (exemple compilat amb 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
Aquí veieu les suites de xifrat seleccionades per defecte. Aquests valors predeterminats s'escullen per garantir la interoperabilitat amb els agents Zabbix que s'executen en sistemes amb versions anteriors d'OpenSSL (a partir de la 1.0.1).
Amb els sistemes més nous, podeu optar per augmentar la seguretat permetent només unes quantes suites de xifrat, per exemple només suites de xifrat amb PFS (Perfect Forward Secrecy). Intentem permetre només les suites de xifrat amb PFS emprant paràmetres TLSCipher*
.
El resultat no serà interoperable amb sistemes que empren OpenSSL 1.0.1 i 1.0.2, si s'empra PSK. El xifrat basat en certificats hauria de funcionar.
Afegiu dues línies al fitxer de configuració test.conf
:
i provar de nou:
$ 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
Les llistes de "suites de xifrat de certificat" i "suites de xifrat PSK" han canviat - Són més curtes que abans i només contenen conjunts de xifrat TLS 1.3 i conjunts de xifrat TLS 1.2 ECDHE-* com s'esperava.
2. TLSCipherAll i TLSCipherAll13 no es poden provar amb zabbix_sender; no afecten el valor "certificat i paquets de xifrat PSK" que es mostra a l'exemple anterior. Per modificar TLSCipherAll i TLSCipherAll13, heu d'experimentar amb l'agent, el proxy o el servidor.
Per tant, per permetre només les suites de xifrat PFS, és possible que hagueu d'afegir fins a tres paràmetres
TLSCipherCert=EECDH+aRSA+AES128
TLSCipherPSK=kECDHEPSK+AES128
TLSCipherAll=EECDH+aRSA+AES128:kECDHEPSK+AES128
a zabbix_agentd.conf, zabbix_proxy.conf i zabbix_server.conf si cadascun d'ells té un certificat configurat i l'agent també té PSK.
Si el vostre entorn Zabbix només empra xifrat basat en PSK i cap certificat, només un:
Ara que enteneu com funciona, podeu provar la selecció de la suite de xifrat fins i tot fora de Zabbix, amb l'ordre openssl
. Provem els tres valors del paràmetre 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
És possible que preferiu xifrat openssl
amb l'opció -V
per obtindre una sortida més detallada:
$ 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
De la mateixa manera, podeu provar les cadenes prioritàries per a 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 empra AES128 per defecte per a les dades. Suposem que sou emprant certificats i voleu actualitzar a AES256, a OpenSSL 1.1.1.
Això es pot aconseguir afegint els paràmetres respectius següents a 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
Tot i que només s'empren conjunts de xifrat relacionats amb certificats, els paràmetres TLSCipherPSK*
també s'estableixen per evitar els seus valors predeterminats que inclouen xifrats menys segurs per a una interoperabilitat més àmplia. Les suites de xifrat PSK no es poden desactivar completament al servidor/proxy.
I a zabbix_agentd.conf
: