Avamar: SQL-Clientbackups schlagen nach dem Zufallsprinzip mit sslcontext::loadCert-Fehler bei aktivierter Sitzungssicherheit fehl
Summary: In Avamar-Versionen vor 19.8 SQL-Clients, die in Microsoft Azure mithilfe von Data Domain Virtual Edition (DDVE) bereitgestellt werden, können Backups bei aktivierter Sitzungssicherheit zufällig fehlschlagen. Die Fehler treten aufgrund von Validierungsfehlern des SSL-Zertifikats und des privaten Schlüssels auf, die durch eine falsche IP-Adressauswahl verursacht werden, wenn der Client in die IPv6-Loopback-Adresse anstelle von IPv4 aufgelöst wird. ...
Symptoms
Wenn die Sitzungssicherheit aktiviert ist, schlagen SQL-Clientbackups zeitweise mit SSL-bezogenen Fehlern fehl. Innerhalb desselben Backupjobs werden einige Threads erfolgreich abgeschlossen, während andere fehlschlagen.
- Bei der
avsqlProtokolle zeigen die folgenden Fehler an:
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
- Im selben Arbeitsauftrag
avtarThreads werden erfolgreich abgeschlossen, während andere mit Zertifikatfehlern fehlschlagen.
Erfolgreiche avtar Thread-Beispiel:
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 Thread-Beispiel:
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.
Das Verhalten ist inkonsistent, wobei Ausfälle zufällig über Backup-Threads hinweg auftreten.
Cause
In Fehlerszenarien ist der vom Avamar-Server empfangene private Schlüssel ungültig. Daher kann die OpenSSL-Funktion SSL_CTX_use_PrivateKey_file() Fehlschlägt.
Der Avamar Client-Agent wählt die erste erreichbare Hostadresse aus, bei der es sich möglicherweise um die IPv6-Loopbackadresse (::1), da er in der Liste der Hostnamen enthalten ist. Obwohl der Client eine IPv6-Adresse an die Verwaltungskonsole (MC) sendet, speichert der MC nur die IPv4-Adresse. Diese Adresse stimmt nicht überein, was dazu führt, dass die Validierung des SSL-Zertifikats fehlschlägt.
Resolution
Fügen Sie die folgenden Flags hinzu in avagent.cmd auf dem betroffenen Client und Neustart avagent So umgehen Sie dieses Problem:
--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)
Beschreibung der Parameter:
--ipupdateintervalGibt das Intervall (in Minuten) für die Aktualisierung der Client-IP-Adresse an.--addr-family=4erzwingt die Verwendung von IPv4 durch den Client.--netbindbindet den Agenten an eine bestimmte IPv4-Adresse anstelle einer automatischen Betriebssystemauswahl.
Starten Sie nach dem Anwenden der Änderungen den Avamar-Agent neu und führen Sie das Backup erneut aus.
Dauerhafte Lösung
Dieses Problem wurde in V19.8 behoben. Die Codeänderungen wurden vorgenommen, um die localhost-Auslagerungsadresse zu ignorieren.