Áú»¢¶Ä²©

17. Criptografia

Vis?o geral

Áú»¢¶Ä²© suporta comunica??es criptografadas entre componentes Áú»¢¶Ä²© usando Protocolo Transport Layer Security (TLS) v.1.2 e 1.3 (dependendo do biblioteca de criptografia). Criptografia baseada em certificado e baseada em chave pr¨¦-compartilhada ¨¦ suportado.

A criptografia pode ser configurada para conex?es:

A criptografia ¨¦ opcional e configur¨¢vel para componentes individuais:

  • Alguns proxies e agentes podem ser configurados para usar certificados criptografia com o servidor, enquanto outros podem usar criptografia baseada em chave, e ainda outros continuam com n?o criptografado comunica??es (como antes)
  • Servidor (proxy) pode usar diferentes configura??es de criptografia para diferentes anfitri?es

Os programas daemon Áú»¢¶Ä²© usam uma porta de escuta para conex?es de entrada n?o criptografadas. Adicionar uma criptografia n?o requer abrindo novas portas em firewalls.

Limita??es

  • As chaves privadas s?o armazenadas em texto simples em arquivos leg¨ªveis pelo Áú»¢¶Ä²© componentes durante a inicializa??o
  • Chaves pr¨¦-compartilhadas s?o inseridas no frontend do Áú»¢¶Ä²© e armazenadas no Áú»¢¶Ä²© banco de dados em texto simples
  • A criptografia integrada n?o protege as comunica??es:
    • Entre o servidor web rodando o frontend Áú»¢¶Ä²© e a web do usu¨¢rio navegador
    • Entre o frontend Áú»¢¶Ä²© e o servidor Áú»¢¶Ä²©
  • Atualmente, cada conex?o criptografada ¨¦ aberta com um handshake TLS completo, nenhum cache de sess?o e tickets s?o implementados
  • A adi??o de criptografia aumenta o tempo para verifica??es e a??es de itens, dependendo da lat¨ºncia da rede:
    • Por exemplo, se o atraso do pacote for de 100ms, abrir um TCP conex?o e envio de solicita??o n?o criptografada leva cerca de 200ms. Com criptografia s?o adicionados cerca de 1000 ms para estabelecer o TLS conex?o;
    • Os tempos limite podem precisar ser aumentados, caso contr¨¢rio, alguns itens e a??es que executam scripts remotos em agentes podem funcionar com conex?es n?o criptografadas, mas falham com o tempo limite com criptografado.
  • A criptografia n?o ¨¦ suportada por network descoberta. Verifica??es do agente Áú»¢¶Ä²© realizada pela descoberta de rede n?o ser¨¢ criptografada e se o Áú»¢¶Ä²© agente est¨¢ configurado para rejeitar conex?es n?o criptografadas, tais verifica??es n?o ter¨¢ sucesso.

Compilando Áú»¢¶Ä²© com suporte a criptografia

Para suportar a criptografia, o Áú»¢¶Ä²© deve ser compilado e vinculado a um dos bibliotecas de criptografia suportadas:

  • GnuTLS - da vers?o 3.1.18
  • OpenSSL - vers?es 1.0.1, 1.0.2, 1.1.0, 1.1.1
  • LibreSSL - testado com as vers?es 2.7.4, 2.8.2:
    • LibreSSL 2.6.x n?o ¨¦ suportado
    • O LibreSSL ¨¦ suportado como um substituto compat¨ªvel do OpenSSL; as novas fun??es de API espec¨ªficas do LibreSSL tls_*() n?o s?o usadas. Componentes Áú»¢¶Ä²© compilados com LibreSSL n?o poder?o usar PSK, somente certificados podem ser usados.

A biblioteca ¨¦ selecionada especificando a respectiva op??o para script "configurar":

  • --with-gnutls[=DIR]
  • --with-openssl[=DIR] (tamb¨¦m usado para LibreSSL)

Por exemplo, para configurar as origens para servidor e agente com OpenSSL voc¨º pode usar algo como:

./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openssl

Diferentes componentes Áú»¢¶Ä²© podem ser compilados com diferentes criptomoedas bibliotecas (por exemplo, um servidor com OpenSSL, um agente com GnuTLS).

::: n?o importante Se voc¨º planeja usar chaves pr¨¦-compartilhadas (PSK), considere usar bibliotecas GnuTLS ou OpenSSL 1.1.0 (ou mais recente) em Componentes Áú»¢¶Ä²© usando PSKs. Bibliotecas GnuTLS e OpenSSL 1.1.0 suporta conjuntos de cifras PSK com . Vers?es mais antigas da biblioteca OpenSSL (1.0.1, 1.0.2c) tamb¨¦m suportam PSKs, mas os conjuntos de cifras PSK dispon¨ªveis n?o fornecem Perfect Forward Segredo. :::

Gerenciamento de criptografia de conex?o

Conex?es no Áú»¢¶Ä²© podem usar:

Existem dois par?metros importantes usados ??para especificar a criptografia entre Componentes do Áú»¢¶Ä²©:

  • TLSConnect - especifica qual criptografia usar para sa¨ªda conex?es (n?o criptografadas, PSK ou certificado)
  • TLSAccept - especifica quais tipos de conex?es s?o permitidas conex?es de entrada (n?o criptografadas, PSK ou certificado). Um ou mais valores podem ser especificados.

TLSConnect ¨¦ usado nos arquivos de configura??o do proxy Áú»¢¶Ä²© (no modo ativo, especifica apenas conex?es com o servidor) e agente Áú»¢¶Ä²© (para verifica??es ativas). No frontend do Áú»¢¶Ä²©, o equivalente do TLSConnect ¨¦ o Conex?es ao host campo em Configura??o ¡ú Hosts ¡ú <alguns host> ¡ú guia Criptografia e o campo Conex?es ao proxy em Administra??o ¡ú Proxies ¡ú <algum proxy> ¡ú guia Criptografia. Se o tipo de criptografia configurado para falha de conex?o, nenhuma outra criptografia tipos ser?o tentados.

TLSAccept ¨¦ usado nos arquivos de configura??o do proxy Áú»¢¶Ä²© (no modo passivo, especifica apenas conex?es do servidor) e agente Áú»¢¶Ä²© (para verifica??es passivas). No frontend do Áú»¢¶Ä²©, o equivalente do TLSAccept ¨¦ o Conex?es do host campo em Configura??o ¡ú Hosts ¡ú <alguns host> ¡ú aba Criptografia e o campo Conex?es do proxy em Administra??o ¡ú Proxies ¡ú <algum proxy> ¡ú guia Criptografia.

Normalmente voc¨º configura apenas um tipo de criptografia para criptografias. Mas voc¨º pode querer mudar o tipo de criptografia, por exemplo a partir de descriptografado para baseado em certificado com tempo de inatividade e revers?o m¨ªnimos possibilidade. Para alcan?ar isto:

  • Defina TLSAccept=unencrypted,cert no arquivo de configura??o do agente e reinicie o agente Áú»¢¶Ä²©
  • Teste a conex?o com o zabbix_get para o agente usando o certificado. Se funciona, voc¨º pode reconfigurar a criptografia para esse agente no Áú»¢¶Ä²© frontend na Configura??o ¡ú Hosts ¡ú <algum host> ¡ú Aba Criptografia definindo Conex?es ao host para "Certificado".
  • Quando o cache de configura??o do servidor ¨¦ atualizado (e proxy configura??o ¨¦ atualizada se o host for monitorado por proxy) ent?o as conex?es com esse agente ser?o criptografadas
  • Se tudo funcionar como esperado, voc¨º pode definir TLSAccept=cert no arquivo de configura??o do agente e reinicie o agente Áú»¢¶Ä²©. Agora o agente aceitar¨¢ apenas conex?es baseadas em certificados criptografados. Conex?es n?o criptografadas e baseadas em PSK ser?o rejeitadas.

De maneira semelhante, funciona no servidor e no proxy. Se no Áú»¢¶Ä²© frontend em configura??o do host Conex?es do host ¨¦ definido como "Certificado" e somente conex?es criptografadas baseadas em certificado ser?o aceitas do agent (verifica??es ativas) e zabbix_sender (itens do trapper).

Muito provavelmente voc¨º ir¨¢ configurar conex?es de entrada e sa¨ªda para usar o mesmo tipo de criptografia ou nenhuma criptografia. Mas tecnicamente ¨¦ poss¨ªvel configur¨¢-lo assimetricamente, por ex. baseado em certificado criptografia para conex?es de entrada e baseadas em PSK para conex?es de sa¨ªda.

A configura??o de criptografia para cada host ¨¦ exibida no Áú»¢¶Ä²© frontend, em Configura??o ¡ú Hosts na coluna Criptografia do agente. Por exemplo:

|Exemplo|Conex?es ao host|Conex?es permitidas do host|Conex?es rejeitadas do host| |-------|-------------------|--------------------- --------|------------------------------| |none_none.png|Unencrypted|Unencrypted|Criptografado, certificado e criptografado com base em PSK| |cert_cert.png|Criptografado, baseado em certificado|Criptado, baseado em certificado|N?o criptografado e criptografado com base em PSK| |psk_psk.png|Criptografado, baseado em PSK|Criptado, baseado em PSK|N?o criptografado e criptografado com base em certificado| |psk_none_psk.png|Criptografado, baseado em PSK|Criptografia n?o criptografada e baseada em PSK|Criptografia baseada em certificado| |cert_all.png|Criptografado, baseado em certificado|N?o criptografado, PSK ou criptografado baseado em certificado|-|

::: n?o importante As conex?es n?o s?o criptografadas por padr?o. Criptografia deve ser configurado para cada host e proxy individualmente. :::

zabbix_get e zabbix_sender com criptografia

Veja zabbix_get e zabbix_sender manpages para us¨¢-los com criptografia.

Ciphersuites

Ciphersuites por padr?o s?o configurados internamente durante a inicializa??o do Áú»¢¶Ä²© e, antes do Áú»¢¶Ä²© 4.0.19, 4.4.7, n?o s?o configur¨¢veis ??pelo usu¨¢rio.

Desde o Áú»¢¶Ä²© 4.0.19, 4.4.7 tamb¨¦m os ciphersuites configurados pelo usu¨¢rio s?o suportado para GnuTLS e OpenSSL. Os usu¨¢rios podem configure ciphersuites de acordo com suas pol¨ªticas de seguran?a. O uso deste recurso ¨¦ opcional (integrado ciphersuites padr?o ainda funcionam).

Para bibliotecas de criptografia compiladas com configura??es padr?o Áú»¢¶Ä²© built-in regras normalmente resultam nos seguintes conjuntos de cifras (em ordem de prioridade mais alta para mais baixa):

Biblioteca Certificate ciphersuites PSK ciphersuites
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

Ciphersuites configurados pelo usu¨¢rio

Os crit¨¦rios de sele??o do conjunto de cifras integrados podem ser substitu¨ªdos por ciphersuites configurados pelo usu¨¢rio.

::: n?o importante Ciphersuites configurados pelo usu¨¢rio ¨¦ um recurso destinado para usu¨¢rios avan?ados que entendem conjuntos de criptografia TLS, sua seguran?a e consequ¨ºncias de erros e que se sentem ¨¤ vontade com o TLS solu??o de problemas. :::

Os crit¨¦rios de sele??o do ciphersuite integrados podem ser substitu¨ªdos usando o seguintes par?metros:

Substituir escopo Par?metro Valor Descri??o
Sele??o de Ciphersuite para certificados TLSCipherCert13 V¨¢lido OpenSSL 1.1.1 para protocolo TLS 1.3 (seus valores s?o passados ??para a fun??o OpenSSL SSL_CTX_set_ciphersuites()). Crit¨¦rios de sele??o de conjuntos de c¨®digos baseados em certificados para TLS 1.3

Somente OpenSSL 1.1.1 ou mais recente.
TLSCipherCert OpenSSL v¨¢lido para TLS 1.2 ou GnuTLS v¨¢lido . Seus valores s?o passados ??para as fun??es SSL_CTX_set_cipher_list() ou gnutls_priority_init(), respectivamente. Crit¨¦rios de sele??o de conjuntos de c¨®digos baseados em certificados para TLS 1.2/1.3 (GnuTLS), TLS 1.2 (OpenSSL)
Sele??o de Ciphersuite para PSK TLSCipherPSK13 V¨¢lido OpenSSL 1.1.1 para protocolo TLS 1.3 (seus valores s?o passados ??para a fun??o OpenSSL SSL_CTX_set_ciphersuites()). Crit¨¦rios de sele??o de conjuntos de c¨®digos baseados em PSK para TLS 1.3

Somente OpenSSL 1.1.1 ou mais recente.
TLSCipherPSK OpenSSL v¨¢lido para TLS 1.2 ou GnuTLS v¨¢lido . Seus valores s?o passados ??para as fun??es SSL_CTX_set_cipher_list() ou gnutls_priority_init(), respectivamente. Crit¨¦rios de sele??o de ciphersuite baseados em PSK para TLS 1.2/1.3 (GnuTLS), TLS 1.2 (OpenSSL)
Lista combinada de ciphersuite para certificado e PSK TLSCipherAll13 Valid OpenSSL 1.1.1 para protocolo TLS 1.3 (seus valores s?o passados ??para a fun??o OpenSSL SSL_CTX_set_ciphersuites()). Crit¨¦rios de sele??o de Ciphersuite para TLS 1.3

Somente OpenSSL 1.1.1 ou mais recente.
TLSCipherAll OpenSSL v¨¢lido para TLS 1.2 ou GnuTLS v¨¢lido . Seus valores s?o passados ??para as fun??es SSL_CTX_set_cipher_list() ou gnutls_priority_init(), respectivamente. Crit¨¦rios de sele??o do Ciphersuite para TLS 1.2/1.3 (GnuTLS), TLS 1.2 (OpenSSL)

Para substituir a sele??o do ciphersuite em zabbix_get e zabbix_sender utilit¨¢rios - use o par?metros de linha de comando:

  • --tls-cipher13
  • --tls-cipher

Os novos par?metros s?o opcionais. Se um par?metro n?o for especificado, o valor padr?o interno ¨¦ usado. Se um par?metro ¨¦ definido, ele n?o pode ser vazio.

Se a configura??o de um valor TLSCipher* na biblioteca de criptografia falhar, o servidor, proxy ou agente n?o ser¨¢ iniciado e um erro ser¨¢ registrado.

? importante entender quando cada par?metro ¨¦ aplic¨¢vel.

Conex?es de sa¨ªda

O caso mais simples s?o as conex?es de sa¨ªda:

  • Para conex?es de sa¨ªda com certificado - use TLSCipherCert13 ou TLSCipherCert
  • Para conex?es de sa¨ªda com PSK - use TLSCipherPSK13 e TLS CipherPSK
  • No caso dos utilit¨¢rios zabbix_get e zabbix_sender a linha de comando par?metros --tls-cipher13 e --tls-cipher podem ser usados (a criptografia ¨¦ especificada sem ambiguidade com um --tls-connect par?metro)
Conex?es de sa¨ªda

O caso mais simples s?o as conex?es de sa¨ªda:

  • Para conex?es de sa¨ªda com certificado - use TLSCipherCert13 ou TLSCipherCert
  • Para conex?es de sa¨ªda com PSK - use TLSCipherPSK13 e TLS CipherPSK
  • No caso dos utilit¨¢rios zabbix_get e zabbix_sender a linha de comando par?metros --tls-cipher13 e --tls-cipher podem ser usados (a criptografia ¨¦ especificada sem ambiguidade com um --tls-connect par?metro)
Testando strings de cifras e permitindo apenas conjuntos de cifras PFS

Para ver quais ciphersuites foram selecionados, voc¨º precisa definir 'DebugLevel=4' no arquivo de configura??o, ou use a op??o -vv para zabbix_sender.

Algumas experi¨ºncias com os par?metros TLSCipher* podem ser necess¨¢rias antes de obter os conjuntos de cifras desejados. ? inconveniente reiniciar Servidor, proxy ou agente Áú»¢¶Ä²© v¨¢rias vezes apenas para ajustar TLSCipher* par?metros. Op??es mais convenientes est?o usando zabbix_sender ou o comando openssl. Vamos mostrar os dois.

1. Usando zabbix_sender.

Vamos fazer um arquivo de configura??o de teste, por exemplo /home/zabbix/test.conf, com a sintaxe de um arquivo zabbix_agentd.conf:

  Nome do host=n?o existente
         ServerActive=inexistente
         
         TLSConnect=cert
         TLSCAFile=/home/zabbix/ca.crt
         TLSCertFile=/home/zabbix/agent.crt
         TLSKeyFile=/home/zabbix/agent.key
         TLSPSKIdentity=inexistente
         TLSPSKFile=/home/zabbix/agent.psk

Voc¨º precisa de certificados v¨¢lidos de CA e agente e PSK para este exemplo. Ajuste os caminhos e nomes de certificados e arquivos PSK para seu ambiente.

Se voc¨º n?o estiver usando certificados, mas apenas PSK, voc¨º pode simplificar arquivo de teste:

  Nome do host=n?o existente
         ServerActive=inexistente
         
         TLSConnect=psk
         TLSPSKIdentity=inexistente
         TLSPSKFile=/home/zabbix/agentd.psk

Os ciphersuites selecionados podem ser vistos executando zabbix_sender (exemplo compilado com OpenSSL 1.1.d):

  $ zabbix_sender -vv -c /home/zabbix/test.conf -k item_n?o-existente -o 1 2>&1 | grep ciphersuites
         zabbix_sender [41271]: depura??o: zbx_tls_init_child () ciphersuites de certificados: TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-MCG-SHA256 ECDHE-RSA-AES de 128 SHA256 ECDHE-RSA-AES128-SHA AES128-MCG-SHA256 AES128-CCM8 AES128-CCM AES128-SHA256 AES128-SHA
         zabbix_sender [41271]: depura??o: zbx_tls_init_child () PSK ciphersuites: TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-PSK-AES de 128 CBC-SHA256 ECDHE-PSK-AES de 128 CBC-SHA PSK-AES128-MCG-SHA256 PSK-AES de 128 CCM8 PSK-AES de 128 CCM PSK-AES128-CBC-SHA256 PSK-AES128-CBC-SHA
         zabbix_sender [41271]: depura??o: zbx_tls_init_child () certificado e PSK ciphersuites: TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-MCG-SHA256 ECDHE-RSA-AES de 128 SHA256 ECDHE-RSA-AES128-SHA AES128-MCG-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

Aqui voc¨º v¨º os conjuntos de cifras selecionados por padr?o. Esses valores padr?o s?o escolhidos para garantir a interoperabilidade com os agentes Áú»¢¶Ä²© rodando em sistemas com vers?es mais antigas do OpenSSL (de 1.0.1).

Com sistemas mais novos, voc¨º pode optar por aumentar a seguran?a permitindo apenas um alguns conjuntos de cifras, e. apenas ciphersuites com PFS (Perfect Forward Segredo). Vamos tentar permitir apenas ciphersuites com PFS usando Par?metros TLSCipher*.

::: n?o importante O resultado n?o ser¨¢ interoper¨¢vel com sistemas usando OpenSSL 1.0.1 e 1.0.2, se PSK for usado. Baseado em certificado criptografia deve funcionar. :::

Adicione duas linhas ao arquivo de configura??o test.conf:

  TLSCipherCert=EECDH+aRSA+AES128
         TLS CipherPSK=kECDHEPSK+AES128

e teste novamente:

  $ zabbix_sender -vv -c /home/zabbix/test.conf -k item_n?o-existente -o 1 2>&1 | grep ciphersuites
         zabbix_sender [42892]: DEBUG: zbx_tls_init_child() certificados ciphersuites: TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES1128-SHA256 ECDHE-RSA-AES1128-SHA256
         zabbix_sender [42892]: DEBUG: zbx_tls_init_child() Ciphersuites PSK: TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-PSK-AES128-CBC-SHA256 ECDHE-PSK-AES128-CBC-SHA
         zabbix_sender [42892]: depura??o: zbx_tls_init_child () certificado e PSK ciphersuites: TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-MCG-SHA256 ECDHE-RSA-AES de 128 SHA256 ECDHE-RSA-AES128-SHA AES128-MCG-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

As listas "certificate ciphersuites" e "PSK ciphersuites" foram alteradas - eles s?o mais curtos do que antes, contendo apenas conjuntos de cifras TLS 1.3 e TLS 1.2 ECDHE-* ciphersuites conforme esperado.

2. TLSCipherAll e TLSCipherAll13 n?o podem ser testados com zabbix_sender; eles n?o afetam "certificados e conjuntos de cifras PSK" valor mostrado no exemplo acima. Para ajustar TLScipherAll e TLSCipherAll13 voc¨º precisa experimentar com o agente, proxy ou servidor.

Portanto, para permitir apenas conjuntos de cifras PFS, voc¨º pode precisar adicionar at¨¦ tr¨ºs par?metros

  TLSCipherCert=EECDH+aRSA+AES128
         TLS CipherPSK=kECDHEPSK+AES128
         TLSCipherAll=EECDH+aRSA+AES128:kECDHEPSK+AES128

para zabbix_agentd.conf, zabbix_proxy.c

Mudando de AES128 para AES256

O Áú»¢¶Ä²© usa o AES128 como padr?o interno para dados. Vamos supor que voc¨º est¨¢ usando certificados e deseja mudar para AES256, no OpenSSL 1.1.1.

Isso pode ser feito adicionando os respectivos par?metros em 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
         TLSipherPSK13=TLS_CHACHA20_POLY1305_SHA256
         TLSCipherPSK=kECDHEPSK+AES256:-SHA1
         TLSipherAll13=TLS_AES_256_GCM_SHA384
         TLSCipherAll=EECDH+aRSA+AES256:-SHA1:-SHA384

::: n?o importante Embora apenas conjuntos de criptografia relacionados a certificados ser¨¢ usado, os par?metros TLSCipherPSK* tamb¨¦m s?o definidos para evitar seus valores padr?o que incluem cifras menos seguras para interoperabilidade. Ciphersuites PSK n?o podem ser completamente desabilitados em servidor/proxy. :::

E em zabbix_agentd.conf:

  TLSConnect=cert
         TLSAccept=cert
         TLSCAFile=/home/zabbix/ca.crt
         TLSCertFile=/home/zabbix/agent.crt
         TLSKeyFile=/home/zabbix/agent.key
         TLSCipherCert13=TLS_AES_256_GCM_SHA384
         TLSCipherCert=EECDH+aRSA+AES256:-SHA1:-SHA384