Avamar: Os backups de client SQL falham aleatoriamente com o erro sslcontext::loadCert com a segurança da sessão ativada
Summary: Nas versões do Avamar anteriores à 19.8, os clients SQL implementados no Microsoft Azure usando o Data Domain Virtual Edition (DDVE), os backups podem falhar aleatoriamente com a segurança da sessão habilitada. As falhas ocorrem devido a erros de validação de chave privada e certificado SSL causados pela seleção incorreta de endereço IP quando o client resolve para o endereço de loopback IPv6 em vez de IPv4. ...
Symptoms
Quando a segurança da sessão está ativada, os backups do client SQL falham intermitentemente com erros relacionados a SSL. No mesmo trabalho de backup, alguns threads são concluídos com sucesso, enquanto outros falham.
- A coluna
avsqlOs logs mostram os seguintes erros:
2023-01-11 12:02:10.99399 [avsql] uflags::parsefile Printing flags from C:\Program Files\avs\var\avsql.cmd: .cmd flag [1]: --debug=true .cmd flag [2]: --verbose=1 .cmd flag [3]: --x14=32768 2023-01-11 12:02:10.99399 [avsql] sock::libinit(enc="tls", encrypt_strength="high", verify=0) socktype="sock_ssl" 2023-01-11 12:02:10.99399 [avsql] sockimpl::libinit(usessl=1, verify=0, encrypt_strength="high", pemdir="C:\Program Files\avs\etc") 2023-01-11 12:02:10.99399 [avsql] sslcontext::libinit 2023-01-11 12:02:10.99399 [avsql] sslcontext::libinit verifypeer=0, encrypt_strength="high", global_sslctx=0000000001950D90, global_sslctx->ctx=000000000119B630 2023-01-11 12:02:10.99399 [avsql] sslcontext::libinit load cert: C:\Program Files\avs\etc\cert.pem 2023-01-11 12:02:10.99399 [avsql] sslcontext::libinit load key: C:\Program Files\avs\etc\key.pem 2023-01-11 12:02:10.99399 [avsql] ERROR: <0001> sslcontext::loadCert certificate/key not found or invalid cert=C:\Program Files\avs\etc\cert.pem key=C:\Program Files\avs\etc\key.pem 2023-01-11 12:02:10 avsql Error <5664>: SSL certificate/key not found or invalid. 2023-01-11 12:02:10 avsql Error <16154>: Unable to initialize socket library
- Na mesma ordem de trabalho, alguns
avtarthreads são concluídos com sucesso, enquanto outros falham com erros de certificado.
Bem sucedido avtar Exemplo de thread:
2023-01-11 12:02:11 avtar Info <5008>: Logging to C:\Program Files\avs\var\SCH-60-G-TLOG-SQL-60-1673449200555#2-3006-SQL.avtar.log 2023-01-11 12:02:11 avtar Info <5174>: - Reading C:\Program Files\avs\var\avtar.cmd 2023-01-11 12:02:11 avtar Info <5551>: Command Line: avtar --ddr-auth-enabled=false --ddr-encrypt-strength=none --ddr-auth-mode=3 --case_sensitive=false --max-streams=1 --backup-type=incremental --cacheprefix=avsql_t1 --ctlcallport=64502 --ctlinterface=3006-SCH-60-G-TLOG-SQL-60-1673449200555#2 --check-stdin-path=false --logfile="C:\Program Files\avs\var\SCH-60-G-TLOG-SQL-60-1673449200555#2-3006-SQL.avtar.log" --vardir="C:\Program Files\avs\var" --bindir="C:\Program Files\avs\bin" --sysdir="C:\Program Files\avs\etc" --account=/Azure/AZ-Prod/cldsrv1088.arcorgroup.com --id=backuponly --password=**************** --server=cldlnx0063.arcorgroup.com --ctlusessl=true 2023-01-11 12:02:11 avtar Info <7977>: Starting at 2023-01-11 12:02:11 Argentina Standard Time [avtar Oct 16 2020 15:51:11 19.4.100-116 Windows Server 2019 Datacenter Server Edition (No Service Pack) 64-bit-AMD64] 2023/01/11-15:02:11.03500 [avtar] <1291> FIPS mode enabled 2023-01-11 12:02:11 avtar Info <10684>: Setting ctl message version to 3 (from 1) 2023-01-11 12:02:11 avtar Info <16136>: Setting ctl max message size to 268435456 2023-01-11 12:02:11 avtar Info <6767>: Successfully connected to 127.0.0.1:64502
avtar Exemplo de thread:
2023-01-11 12:02:30 avtar Info <5008>: Logging to C:\Program Files\avs\var\SCH-60-G-TLOG-SQL-60-1673449200555#0-3006-SQL.avtar.log 2023-01-11 12:02:30 avtar Info <5174>: - Reading C:\Program Files\avs\var\avtar.cmd 2023-01-11 12:02:30 avtar Info <5551>: Command Line: avtar --ddr-auth-enabled=false --ddr-encrypt-strength=none --ddr-auth-mode=3 --case_sensitive=false --max-streams=1 --backup-type=incremental_full --ctlcallport=64502 --ctlinterface=3006-SCH-60-G-TLOG-SQL-60-1673449200555 --check-stdin-path=false --logfile="C:\Program Files\avs\var\SCH-60-G-TLOG-SQL-60-1673449200555#0-3006-SQL.avtar.log" --vardir="C:\Program Files\avs\var" --bindir="C:\Program Files\avs\bin" --sysdir="C:\Program Files\avs\etc" --account=/Azure/AZ-Prod/cldsrv1088.arcorgroup.com --id=backuponly --password=**************** --server=cldlnx0063.arcorgroup.com --ctlusessl=true 2023-01-11 12:02:30 avtar Info <7977>: Starting at 2023-01-11 12:02:30 Argentina Standard Time [avtar Oct 16 2020 15:51:11 19.4.100-116 Windows Server 2019 Datacenter Server Edition (No Service Pack) 64-bit-AMD64] 2023/01/11-15:02:30.86500 [avtar] <1291> FIPS mode enabled 2023/01/11-15:02:30.86500 [avtar] ERROR: <0001> sslcontext::loadCert certificate/key not found or invalid cert=C:\Program Files\avs\etc\cert.pem key=C:\Program Files\avs\etc\key.pem 2023-01-11 12:02:30 avtar Error <5664>: SSL certificate/key not found or invalid. 2023-01-11 12:02:30 avtar FATAL <19035>: Unable to initialize socket library for CTL.
O comportamento é inconsistente, com falhas ocorrendo aleatoriamente nos threads de backup.
Cause
Durante cenários de falha, a chave privada recebida do Avamar Server é inválida. Como resultado, a função OpenSSL SSL_CTX_use_PrivateKey_file() Falhar.
O agente do Avamar Client seleciona o primeiro endereço de host acessível, que pode ser o endereço de loopback IPv6 (::1) porque está incluído na lista de nomes de host. Embora o client envie um endereço IPv6 ao Management Console (MC), o MC armazena apenas o endereço IPv4. Essa disparidade de endereço causa falhas na validação do certificado SSL.
Resolution
Adicione os seguintes indicadores em avagent.cmd no client afetado e reinicie avagent Para contornar esse problema:
--ipupdateinterval=43200 (Number of minutes between IP address update) --addr-family=4 (Force to use IPv4) --netbind=10.x.x.x (Force association with this network address rather than OS autoselection)
Descrições dos parâmetros:
--ipupdateintervalespecifica o intervalo (em minutos) para atualizar o endereço IP do client.--addr-family=4força o cliente a usar IPv4.--netbindvincula o agente a um endereço IPv4 específico em vez da seleção automática do sistema operacional.
Depois de aplicar as alterações, reinicie o agente do Avamar e execute novamente o backup.
Correção
permanenteEsse problema foi resolvido na V19.8. As alterações de código foram feitas para ignorar o endereço de paginação localhost.