Áú»¢¶Ä²© admet comunicacions xifrades entre components Áú»¢¶Ä²© 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 Áú»¢¶Ä²© 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, Áú»¢¶Ä²© 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 Áú»¢¶Ä²© compilats amb LibreSSL no podran emprar PSK, nom¨¦s es poden emprar certificats.Podeu trobar m¨¦s informaci¨® sblre com configurar SSL per la interf¨ªcie de Áú»¢¶Ä²© seguint aquestes bones pr¨¤ctiques.
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 Áú»¢¶Ä²© 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 Áú»¢¶Ä²© mitjan?ant PSK. Les biblioteques GnuTLS i OpenSSL 1.1.0 admeten suites de xifrat PSK amb . 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 Áú»¢¶Ä²© poden emprar:
S'empren dos par¨¤metres importants per especificar el xifrat entre components Áú»¢¶Ä²©:
TLSConnect
s'empra als fitxers de configuraci¨® per al proxy Áú»¢¶Ä²© (en mode actiu, nom¨¦s especifica les connexions del servidor) i l'agent Áú»¢¶Ä²© (per a comprovacions actives). A la interf¨ªcie de Áú»¢¶Ä²©, l'equivalent de TLSConnect ¨¦s el camp Connexions a l'equip a °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® ¡ú 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 Áú»¢¶Ä²© (en mode passiu, nom¨¦s especifica connexions des del servidor) i l'agent Áú»¢¶Ä²© (per a comprovacions passives). A la interf¨ªcie de Áú»¢¶Ä²©, l'equivalent de TLSAccept ¨¦s el camp Connexions des de l'equip a la pestanya °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® ¡ú 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 connexions 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 Áú»¢¶Ä²©TLSAccept=cert
al fitxer de configuraci¨® de l'agent i reiniciar l'agent Áú»¢¶Ä²©. 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 Áú»¢¶Ä²©, 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 Áú»¢¶Ä²©, a °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® ¡ú 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 Áú»¢¶Ä²© i abans de Áú»¢¶Ä²© 4.0.19, 4.4.7 no es poden configurar per l'usuari.
Des de Áú»¢¶Ä²© 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 Áú»¢¶Ä²© 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 | ±Ê²¹°ù¨¤³¾±ð³Ù°ù±ð | Valor | ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨® |
---|---|---|---|
Selecci¨® de la suite de xifrat per als certificats OpenSSL 1.1.1 | TLSCipherCert13 | 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 | OpenSSL v¨¤lid per a TLS 1.2 o 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 | 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 | OpenSSL v¨¤lid per a TLS 1.2 o 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 | 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 | OpenSSL v¨¤lid per a TLS 1.2 o 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 Áú»¢¶Ä²©:
°ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® de connexi¨® de l'agent | °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® 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 Áú»¢¶Ä²©:
°ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® de connexi¨® | °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® 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.
°ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® | 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 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 Áú»¢¶Ä²© 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. Emprant 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 Áú»¢¶Ä²© 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 Áú»¢¶Ä²© 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 Áú»¢¶Ä²©, 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
Áú»¢¶Ä²© 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
: