Áú»¢¶Ä²©

Esta ¨¦ uma tradu??o da p¨¢gina de documenta??o original em ingl¨ºs. Ajude-nos a torn¨¢-la melhor.

2 Usando chaves pr¨¦-compartilhadas

Vis?o geral

Cada chave pr¨¦-compartilhada (PSK) no Áú»¢¶Ä²© ¨¦ na verdade um par de:

  • string de identidade PSK n?o secreta,
  • valor da string PSK secreta.

A string de identidade PSK ¨¦ uma string UTF-8 n?o vazia. Por exemplo, "ID PSK 001 Áú»¢¶Ä²© agentd". ? um nome ¨²nico pelo qual este PSK espec¨ªfico ¨¦ referido pelos componentes Áú»¢¶Ä²©. N?o coloque informa??es confidenciais em Cadeia de identidade PSK - ¨¦ transmitida pela rede sem criptografia.

O valor PSK ¨¦ uma sequ¨ºncia de d¨ªgitos hexadecimais dif¨ªcil de adivinhar, por exemplo, "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9".

Limites de tamanho

Existem limites de tamanho para identidade e valor PSK no Áú»¢¶Ä²©, em alguns casos, uma biblioteca de criptografia pode ter limite inferior:

|Componente|Tamanho m¨¢ximo da identidade PSK|Tamanho m¨ªnimo do valor PSK|Tamanho m¨¢ximo do valor PSK| |---------|---------------------|----------------- -|------------------| |Áú»¢¶Ä²©|128 caracteres UTF-8|128 bits (PSK de 16 bytes, inserido como 32 d¨ªgitos hexadecimais)|2048 bits (PSK de 256 bytes, inserido como 512 d¨ªgitos hexadecimais)| |GnuTLS|128 bytes (pode incluir caracteres UTF-8)|-|2048 bits (PSK de 256 bytes, inserido como 512 d¨ªgitos hexadecimais)| |OpenSSL 1.0.x, 1.1.0|127 bytes (pode incluir caracteres UTF-8)|-|2048 bits (PSK de 256 bytes, inserido como 512 d¨ªgitos hexadecimais)| |OpenSSL 1.1.1|127 bytes (pode incluir caracteres UTF-8)|-|512 bits (PSK de 64 bytes, inserido como 128 d¨ªgitos hexadecimais)| |OpenSSL 1.1.1ae posterior|127 bytes (pode incluir caracteres UTF-8)|-|2048 bits (PSK de 256 bytes, inserido como 512 d¨ªgitos hexadecimais)|

::: n?o importante O frontend Áú»¢¶Ä²© permite configurar at¨¦ String de identidade PSK de 128 caracteres e PSK de 2048 bits independentemente de bibliotecas de criptografia usadas.
Se alguns componentes do Áú»¢¶Ä²© suportam limites mais baixos, ¨¦ do usu¨¢rio responsabilidade de configurar a identidade e o valor PSK com comprimento permitido para esses componentes.
Exceder os limites de comprimento resulta em falhas de comunica??o entre o Áú»¢¶Ä²© componentes. :::

Antes que o servidor Áú»¢¶Ä²© se conecte ao agente usando o PSK, o servidor procura a identidade PSK e o valor PSK configurado para esse agente no banco de dados (na verdade no cache de configura??o). Ao receber uma liga??o, o agente usa a identidade PSK e o valor PSK de seu arquivo de configura??o. Se ambos as partes t¨ºm a mesma cadeia de identidade PSK e valor PSK a conex?o pode ter sucesso.

::: n?o importante Cada identidade PSK deve ser emparelhada com apenas um valor. ? responsabilidade do usu¨¢rio garantir que n?o haja dois PSKs com a mesma string de identidade, mas com valores diferentes. Falhando ao fazer isso pode levar a interrup??es imprevis¨ªveis de comunica??o entre o Áú»¢¶Ä²© componentes usando PSKs com essa string de identidade PSK. :::

Gerando PSK

Por exemplo, um PSK de 256 bits (32 bytes) pode ser gerado usando o seguintes comandos:

  • com OpenSSL:
   $ openssl rand -hex 32
          af8ced32dfe8714e548694e2d29e1a14ba6fa13f216cb35c19d0feb1084b0429
  • com GnuTLS:
   $ psktool -u psk_identity -p database.psk -s 32
          Gerando uma chave aleat¨®ria para o usu¨¢rio 'psk_identity'
          Chave armazenada em database.psk
         
          $ cat database.psk
          psk_identity:9b8eafedfaae00cece62e85d5f4792c7d9c9bcc851b23216a1d300311cc4f7cb

Observe que "psktool" acima gera um arquivo de banco de dados com uma identidade PSK e seu PSK associado. O Áú»¢¶Ä²© espera apenas um PSK no arquivo PSK, ent?o a string de identidade e os dois pontos (':') devem ser removidos do arquivo.

Configurando PSK para comunica??o agente-servidor (exemplo)

No host do agente, grave o valor PSK em um arquivo, por exemplo, /home/zabbix/zabbix_agentd.psk. O arquivo deve conter PSK no primeiro cadeia de texto, por exemplo:

1f87b595725ac58dd977carne14b97461a7c1045b9a1c963065002c5473194952

Defina os direitos de acesso ao arquivo PSK - ele deve ser leg¨ªvel apenas pelo usu¨¢rio do Áú»¢¶Ä²©.

Edite os par?metros TLS no arquivo de configura??o do agente zabbix_agentd.conf, por exemplo, defina:

TLSConnect=psk
       TLSAccept=psk
       TLSPSKFile=/home/zabbix/zabbix_agentd.psk
       TLSPSKIdentity=PSK 001

O agente se conectar¨¢ ao servidor (verifica??es ativas) e aceitar¨¢ do servidor e zabbix_get somente conex?es usando PSK. A identidade PSK ser¨¢ "PSK 001".

Reinicie o agente. Agora voc¨º pode testar a conex?o usando zabbix_get, por exemplo:

$ zabbix_get -s 127.0.0.1 -k "system.cpu.load[all,avg1]" --tls-connect=psk \
                   --tls-psk-identity="PSK 001" --tls-psk-file=/home/zabbix/zabbix_agentd.psk

(Para minimizar o tempo de inatividade, veja como alterar o tipo de conex?o em Connection criptografia gerenciamento).

Configure a criptografia PSK para este agente no frontend do Áú»¢¶Ä²©:

  • V¨¢ para: Configura??o ¡ú Hosts
  • Selecione o host e clique na guia Criptografia

Exemplo:

psk_config.png

Todos os campos de entrada obrigat¨®rios est?o marcados com um asterisco vermelho.

Quando o cache de configura??o ¨¦ sincronizado com o banco de dados, o novo conex?es usar?o PSK. Verifique se h¨¢ erros nos arquivos de log do servidor e do agente mensagens.

Configurando PSK para servidor - comunica??o proxy ativa (exemplo)

No proxy, grave o valor PSK em um arquivo, por exemplo, /home/zabbix/zabbix_proxy.psk. O arquivo deve conter PSK no primeiro cadeia de texto, por exemplo:

e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9

Defina os direitos de acesso ao arquivo PSK - ele deve ser leg¨ªvel apenas pelo usu¨¢rio do Áú»¢¶Ä²©.

Edite os par?metros TLS no arquivo de configura??o de proxy zabbix_proxy.conf, para exemplo, defina:

TLSConnect=psk
       TLSPSKFile=/home/zabbix/zabbix_proxy.psk
       TLSPSKIdentity=PSK 002

O proxy se conectar¨¢ ao servidor usando o PSK. A identidade PSK ser¨¢ "PSK 002".

(Para minimizar o tempo de inatividade, veja como alterar o tipo de conex?o em Connection criptografia gerenciamento).

Configure o PSK para este proxy no frontend do Áú»¢¶Ä²©. Vamos para ´¡»å³¾¾±²Ô¾±²õ³Ù°ù²¹??´Ç¡ú±Ê°ù´Ç³æ¾±±ð²õ, selecione o proxy, v¨¢ para a aba "Criptografia". Dentro "Conex?es do proxy" marcam PSK. Cole no campo "Identidade PSK" "PSK 002" e "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9" em campo "PSK". Clique em "Atualizar".

Reinicie o proxy. Ele come?ar¨¢ a usar conex?es criptografadas baseadas em PSK para servidor. Verifique os arquivos de log do servidor e do proxy para mensagens de erro.

Para um proxy passivo, o procedimento ¨¦ muito semelhante. A ¨²nica diferen?a - defina TLSAccept=psk no arquivo de configura??o do proxy e defina "Conex?es para proxy" no frontend do Áú»¢¶Ä²© para PSK.