Avamar: No se puede agregar el servidor Avamar remoto a Client Manager
Resumen: No se puede agregar el servidor Avamar remoto a la página web del administrador de clientes (/aam) de origen. Esto se debe a la necesidad de importar el certificado de los servidores Avamar remotos en el origen. ...
Síntomas
Cuando se intenta agregar un servidor Avamar remoto en la aplicación web Client Manager, se produce el siguiente error.
Alert: Server authentication failed.
Logs
La siguiente excepción se puede capturar en /usr/local/avamar-tomcat/logs/ACMTrace.log
2023-01-17 17:09:24,819 ERROR [ajp-nio-0:0:0:0:0:0:0:1-8509-exec-2]-sdk.ServiceConnection: Unable to connect to web service for grid remote_avamar.dell.com
org.apache.axis2.AxisFault: Socket is closed
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:83)
at org.apache.axis2.transport.http.AxisRequestEntity.writeRequest(AxisRequestEntity.java:84)
at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:499)
at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2114)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:557)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:199)
at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:76)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:400)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:225)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:438)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at com.avamar.mc.sdk.client.McServiceStub.login(McServiceStub.java:6088)
at com.avamar.mc.sdk.client.McBaseServiceClient.login(McBaseServiceClient.java:120)
at com.avamar.mc.sdk.client.McBaseServiceClient.connect(McBaseServiceClient.java:93)
at com.emc.avamar.acm.core.mc.sdk.ServiceConnection.connect(ServiceConnection.java:67)
at com.emc.avamar.acm.core.impl.WebServiceProxy.<init>(WebServiceProxy.java:152)
at com.emc.avamar.acm.core.mapper.AvamarGridMapper.create(AvamarGridMapper.java:99)
at com.emc.avamar.acm.core.entities.impl.DomainObjectImpl.create(DomainObjectImpl.java:86)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.emc.avamar.acm.core.entities.impl.DomainObjectImpl.invoke(DomainObjectImpl.java:50)
at com.sun.proxy.$Proxy161.create(Unknown Source)
at com.emc.avamar.acm.service.impl.GridServiceImpl.addGrid(GridServiceImpl.java:164)
at com.emc.avamar.acm.action.common.AddGridAction.execute0(AddGridAction.java:68)
at com.emc.avamar.acm.action.common.BaseServiceAction.execute(BaseServiceAction.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:358)
at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:218)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:192)
at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:175)
at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115)
at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:174)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.webwork.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:169)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:186)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)
at com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:273)
at com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.emc.avamar.filters.SecurityFilter.doFilter(SecurityFilter.java:35)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.emc.avamar.filters.AuthenticationFilter.doFilter(AuthenticationFilter.java:74)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.emc.avamar.filters.RedirectSecurityFilter.doFilter(RedirectSecurityFilter.java:18)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at com.emc.avamar.filters.RedirectSecurityFilter.doFilter(RedirectSecurityFilter.java:18)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:662)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:526)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:882)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1647)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Caused by: com.ctc.wstx.exc.WstxIOException: Socket is closed
at com.ctc.wstx.sw.BaseStreamWriter.finishDocument(BaseStreamWriter.java:1692)
at com.ctc.wstx.sw.BaseStreamWriter.close(BaseStreamWriter.java:288)
at org.apache.axiom.util.stax.wrapper.XMLStreamWriterWrapper.close(XMLStreamWriterWrapper.java:46)
at org.apache.axiom.om.impl.MTOMXMLStreamWriter.close(MTOMXMLStreamWriter.java:188)
at org.apache.axiom.om.impl.llom.OMSerializableImpl.serializeAndConsume(OMSerializableImpl.java:197)
at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:79)
... 101 more
Caused by: java.net.SocketException: Socket is closed
at com.rsa.sslj.x.ap.l(Unknown Source)
at com.rsa.sslj.x.ap.a(Unknown Source)
at com.rsa.sslj.x.ap.a(Unknown Source)
at com.rsa.sslj.x.am.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at org.apache.commons.httpclient.ChunkedOutputStream.flush(ChunkedOutputStream.java:191)
at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:99)
at com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:214)
at com.ctc.wstx.sw.BufferingXmlWriter.close(BufferingXmlWriter.java:194)
at com.ctc.wstx.sw.BaseStreamWriter.finishDocument(BaseStreamWriter.java:1690)
... 106 more
Tcpdump/Wireshark
Antes de hacer clic en Guardar en el Administrador del cliente de origen para intentar agregar un servidor, realice un tcpdump en la interfaz principal de Avamar de origen y capture solo los paquetes con una IP de origen o destino del Avamar remoto que intentamos agregar.
Ejemplo:
tcpdump -i <primary_interface> host <remote_avamar> -w <capture_file_output>
tcpdump -i bond0 host remote_avamar.dell.com -w /home/admin/client_manager.pcapng
Ejecute el comando tcpdump dump para comenzar a capturar tráfico de red.
Después de iniciar el comando, haga clic en Save en la página Client Manager para intentar agregar Avamar remoto.
Una vez que se produce el error de autenticación, presione CTRL C tcpdump para dejar de capturar paquetes.
Ahora vea el tcpdump en una herramienta como Wireshark para investigar.
Ejemplo:
explicación del flujo de conexión:
protocolo de enlace TCP de 3 vías en los primeros 3 paquetes a Avamar remoto en el puerto 9443 (servicio web MCSDK)
- protocolo de enlace TLS del cuarto paquete comienza con Client Hello, donde el Avamar de origen envía sus funcionalidades al destino.
- 5.º paquete remoto Avamar reconoce el paquete 4
- 6.º paquete remoto Avamar envía el saludo al servidor con su cadena de certificados, la cadena de certificados es el alias mcssl de su /usr/local/avamar/lib/rmi_ssl_keystore
- 7.º paquete de origen Avamar confirma el paquete 6
- 8.º paquete de origen Avamar lanza una alerta irrecuperable de TLS 42 (certificado incorrecto)
Se debe confirmar
Antes de continuar con este artículo de la base de conocimientos, debe confirmar algunas cosas:
- Verificación de la búsqueda directa e inversa de DNS entre los servidores Avamar de origen y remotos
- Verificar con la credencial correcta para la cuenta
remota de Avamar MCUser- Verificar que no haya problemas en el servidor Avamar de origen con cuentas locales investigando /usr/local/avamar/var/mc/server_log/mcserver.out
- Verificar que el puerto 9443 esté abierto entre el origen y el remoto Avamar, esto se utiliza para mcsdk
Causa
Durante esta conexión, el Avamar de origen intentará validar el certificado mcssl del servidor Avamar remoto mediante su propio almacén de confianza /usr/local/avamar/lib/rmi_ssl_keystore.
Si mcssl del Avamar remoto no está en el almacén de claves rmi del Avamar de origen, el socket se cerrará después de la falla del protocolo de enlace de TLS (consulte el análisis de tcpdump en Síntomas)
Resolución
- El servidor Avamar remoto que se agrega tiene certificados web autofirmados (mcssl está autofirmado en el almacén de claves rmi)
- El servidor Avamar remoto que se agrega tiene certificados web firmados por CA (mcssl es un certificado firmado en cadena completa)
Si instaló certificados firmados en la AUI mediante el reemplazo de la clave privada en la pestaña sistema, se firmará mcssl. De lo contrario, es probable que los certificados estén autofirmados
Comando para ver el certificado mcssl en el almacén de claves RMI desde un servidor Avamar:
keytool -list -v -keystore /usr/local/avamar/lib/rmi_ssl_keystore -storepass $(avlockbox.sh -r keystore_passphrase) -alias mcsslEjemplo de mcssl autofirmado:
Podemos ver a continuación que solo hay un certificado en la longitud de la cadena, y que el propietario y el emisor son la misma entidad (Administrador).
Ejemplo de mcssl firmado por CA:
Podemos ver a continuación que mcssl tiene una longitud de cadena de 3.
El propietario y el emisor de cada certificado en los enlaces de la cadena llegan a la CA raíz de confianza (Dell Tech Root CA 2018)
Situación 1
: pasos:
1. Acceda mediante el protocolo SSH al servidor Avamar de
origen 2. Obtenga el certificado mcssl remoto mediante openssl
echo | openssl s_client -connect <remote_avamar_ip_addr>:9443 | openssl x509 > /home/admin/remote_mcssl.crt
3. Importe el certificado mcssl remoto al almacén de claves rmi
keytool -import -file /home/admin/remote_mcssl.crt -keystore /usr/local/avamar/lib/rmi_ssl_keystore -storepass $(avlockbox.sh -r keystore_passphrase) -alias remotemcssl
4. Reinicie mcs como usuario administrador
mcserver.sh --restart --force
5. Reinicie tomcat como usuario raíz
emwebapp.sh --restart
6. Vuelva a iniciar el programador de respaldo si es necesario
dpnctl start sched
Escenario 2
Pasos:
1. Acceda mediante el protocolo SSH al servidor Avamar de
origen 2. Obtenga los certificados de CA en la cadena para el certificado
mcssl remoto: si tiene acceso para obtener la(s) CA(s) intermedia(s) y la CA raíz de su proveedor de CA, coloque los archivos individuales en el servidor Avamar para importarlos al almacén
de claves rmi. En este artículo de la base de conocimientos, se explica cómo utilizar openssl para obtener la cadena completa de certificados desde Avamar mcssl remoto
echo | openssl s_client -connect <remote_avamar_ip_addr>:9443 -showcerts
Ejemplo de salida:
root@source_avamar:/home/admin/#: echo | openssl s_client -connect <remote_avamar_ip_addr>:9443 -showcerts
CONNECTED(00000003)
depth=2 C = US, ST = Texas, L = Round Rock, O = Dell Technologies, OU = Cybersecurity, CN = Dell Technologies Root Certificate Authority 2018
verify error:num=19:self signed certificate in certificate chain
---
Certificate chain
0 s:/C=US/ST=Raleigh/L=North Carolina/O=Dell/OU=ISG Support/CN=remote_avamar.dell.com
i:/C=US/ST=Texas/L=Round Rock/O=Dell Technologies/CN=Dell Technologies Issuing CA 101
-----BEGIN CERTIFICATE-----
MIIFhjCCBG6gAwIBAgITYQABIryZXAGxuzqHpgAAAAEivDANBgkqhkiG9w0BAQsF
ADB5MQswCQYDVQQGEwJVUzEOMAwGA1UECBMFVGV4YXMxEzARBgNVBAcTClJvdW5k
IFJvY2sxGjAYBgNVBAoTEURlbGwgVGVjaG5vbG9naWVzMSkwJwYDVQQDEyBEZWxs
IFRlY2hub2xvZ2llcyBJc3N1aW5nIENBIDEwMTAeFw0yMjEyMjkxNTUyMzRaFw0y
NDEyMjkxNjAyMzRaMIGNMQswCQYDVQQGEwJVUzEQMA4GA1UECBMHUmFsZWlnaDEX
MBUGA1UEBxMOTm9ydGggQ2Fyb2xpbmExDTALBgNVBAoTBERlbGwxFDASBgNVBAsT
C0lTRyBTdXBwb3J0MS4wLAYDVQQDEyVhdm1yLTQ0MDAtcnRwLmRwYWQuZ3NsYWJz
LmxhYi5lbWMuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxwou
w833CQTH+BVANqyS4pPBjz6/0jU0vGHu4Hz5L9/hPen0Nk8H6hmc2h0nMCfs5Q27
9I1YdP0XyY+fNt2qmXTFQ+pQ5e23QKLnRRo3NLxlPt0J8L9ju8WtHIcgmPnxd7zp
/9h5CDkdhJ73d0+bkXU+nj9TbLtGrX1xbxgEfGuth4ofTZuYar9uyDMZSsTnklI9
8/sInptiHMS9+u55RDCRt68PfkLY0MJooPbTsH08HVcI6Y3OHxivdEHf2tGDcHLM
x5onF6pw6e0l7Z1b0OXf6wdwrhDUoinfIFNDMOWFU3K0gWqToTu+TtL90ZaZy0zW
SHVtP5yKDzBthjBpwwIDAQABo4IB8DCCAewwPwYDVR0RBDgwNoIlYXZtci00NDAw
LXJ0cC5kcGFkLmdzbGFicy5sYWIuZW1jLmNvbYINYXZtci00NDAwLXJ0cDAdBgNV
HQ4EFgQU7Gix38z9pC5bfb/kIZD/Dv1xMOAwHwYDVR0jBBgwFoAUUwwDUHFz+sTs
UVOMRSttymBWk7YwXQYDVR0fBFYwVDBSoFCgToZMaHR0cDovL2NybC5kZWxsLmNv
bS9pbnQvaXNzdWluZy9EZWxsJTIwVGVjaG5vbG9naWVzJTIwSXNzdWluZyUyMENB
JTIwMTAxLmNybDBoBggrBgEFBQcBAQRcMFowWAYIKwYBBQUHMAKGTGh0dHA6Ly9h
aWEuZGVsbC5jb20vaW50L2lzc3VpbmcvRGVsbCUyMFRlY2hub2xvZ2llcyUyMElz
c3VpbmclMjBDQSUyMDEwMS5jcnQwDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCBaAw
PQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIh7jZbIGE+AiGvY0PhfOANYKzmVoz
g9fvaoHFyVgCAWQCARwwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMCcG
CSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwDQYJKoZIhvcN
AQELBQADggEBAFW4PGDJT4KwLfEKVv1xRapUrFjIdWpZUjnuBEYk7RXlQ7o0OBM6
wKmwJHuiM5kLnlCMeQgPHyDtrzQVWMAwzw9RP0sFm+OdQklarVc5CqNoj0n+agN1
jbknUwyN2av2XBM7GF+CSXFDILteyVQmEsb3QD11khEU4pXGasIm/3R7Tm4uY7qq
dtARJeSr0m/uFeaT2AONBZn2uy/EIomzJanB3FI2sLu7UcaoQ1VqsH0c9PZbWAkv
tUYVBHxOD79PUiEQWgajHFPwanmUuzwlZpWxr09z0Yqjx623ZpdkMwP7jVV+tJXF
yfJoP0EuL3NvyROwvwu4CWhUIiJ26Q6+ACI=
-----END CERTIFICATE-----
1 s:/C=US/ST=Texas/L=Round Rock/O=Dell Technologies/CN=Dell Technologies Issuing CA 101
i:/C=US/ST=Texas/L=Round Rock/O=Dell Technologies/OU=Cybersecurity/CN=Dell Technologies Root Certificate Authority 2018
-----BEGIN CERTIFICATE-----
MIIFNjCCBB6gAwIBAgITEwAAAAJT0lQwmqXBWgAAAAAAAjANBgkqhkiG9w0BAQsF
ADCBojELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVRleGFzMRMwEQYDVQQHEwpSb3Vu
ZCBSb2NrMRowGAYDVQQKExFEZWxsIFRlY2hub2xvZ2llczEWMBQGA1UECxMNQ3li
ZXJzZWN1cml0eTE6MDgGA1UEAxMxRGVsbCBUZWNobm9sb2dpZXMgUm9vdCBDZXJ0
aWZpY2F0ZSBBdXRob3JpdHkgMjAxODAeFw0xODExMTQyMTI2MzVaFw0yNTExMTQy
MTM2MzVaMHkxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIEwVUZXhhczETMBEGA1UEBxMK
Um91bmQgUm9jazEaMBgGA1UEChMRRGVsbCBUZWNobm9sb2dpZXMxKTAnBgNVBAMT
IERlbGwgVGVjaG5vbG9naWVzIElzc3VpbmcgQ0EgMTAxMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEAs1ijUZedCGDMDz4vpkxEO2JRi7Q3f5WE8m8emZFX
0393V+ekbyJZnEB3RLLPJiIy+YDgctJMLU51GenChujMJklk7gk+SKwqL+2p30vJ
Dpwz7Lsl7Cjn3v1vQ5AxEHkkUKL0H6NsRZ7uJKrPsH1cVvQtcpgZCg4ghdGB92wE
AIlSVYRPN07T/QkmD3EFSEdNEISFNk4KljIlRmpxprEN7hKyUv002COvN5S6zXMs
9GFPdnbTEaiZpFPtRF+ZZn0ub0i16Us0IRE60xHEllWyKWJYNhiW+srztLR/eP6a
1J4EIImvNz32pxrKDbIeQZxQAH9FVQqJpssSgN8LJzNXnwIDAQABo4IBizCCAYcw
EAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFFMMA1Bxc/rE7FFTjEUrbcpgVpO2
MBEGA1UdIAQKMAgwBgYEVR0gADAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL
BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTbAOslX5H7
mca2SBzQY61f4qe0VjBtBgNVHR8EZjBkMGKgYKBehlxodHRwOi8vY3JsLmRlbGwu
Y29tL2ludC9yb290L0RlbGwlMjBUZWNobm9sb2dpZXMlMjBSb290JTIwQ2VydGlm
aWNhdGUlMjBBdXRob3JpdHklMjAyMDE4LmNybDB4BggrBgEFBQcBAQRsMGowaAYI
KwYBBQUHMAKGXGh0dHA6Ly9haWEuZGVsbC5jb20vaW50L3Jvb3QvRGVsbCUyMFRl
Y2hub2xvZ2llcyUyMFJvb3QlMjBDZXJ0aWZpY2F0ZSUyMEF1dGhvcml0eSUyMDIw
MTguY3J0MA0GCSqGSIb3DQEBCwUAA4IBAQCAJoPC4DTuxgC/wAHcHHvstGfiP/sB
/moVVdyOabZ7jSk+Pr2UjBPsALcfnwEsqxeL25J5Hn112baDTnVvrcymdqo9gD/5
tkrWUOWwrvzuwCuB082qHcbWdaOJtoLyuYdobPDktShKc43Oprv7G19TL3ccCmMJ
CPWGh4uv0D5vZnOh0T3wA591Gok6wJAKlXU3GCl5hiPII0j84DXE1kVDDSvDSF82
syl1wzha6gYe8s0S64NiB9eWofwJEHhZlam86+N6WQm1qBHdJ4kix5ndaa9sUJYG
ldHZZdACf5Cg9+/f/5sBiSpua0Id87TmKHu2Cm51LwAiLLbJYvexZbXz
-----END CERTIFICATE-----
2 s:/C=US/ST=Texas/L=Round Rock/O=Dell Technologies/OU=Cybersecurity/CN=Dell Technologies Root Certificate Authority 2018
i:/C=US/ST=Texas/L=Round Rock/O=Dell Technologies/OU=Cybersecurity/CN=Dell Technologies Root Certificate Authority 2018
-----BEGIN CERTIFICATE-----
MIIEITCCAwmgAwIBAgIQGRwh4YLNUKpNzFg7nT7QgjANBgkqhkiG9w0BAQsFADCB
ojELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVRleGFzMRMwEQYDVQQHEwpSb3VuZCBS
b2NrMRowGAYDVQQKExFEZWxsIFRlY2hub2xvZ2llczEWMBQGA1UECxMNQ3liZXJz
ZWN1cml0eTE6MDgGA1UEAxMxRGVsbCBUZWNobm9sb2dpZXMgUm9vdCBDZXJ0aWZp
Y2F0ZSBBdXRob3JpdHkgMjAxODAeFw0xODA3MjMxNzA3NDVaFw00MzA3MjMxNzE3
NDRaMIGiMQswCQYDVQQGEwJVUzEOMAwGA1UECBMFVGV4YXMxEzARBgNVBAcTClJv
dW5kIFJvY2sxGjAYBgNVBAoTEURlbGwgVGVjaG5vbG9naWVzMRYwFAYDVQQLEw1D
eWJlcnNlY3VyaXR5MTowOAYDVQQDEzFEZWxsIFRlY2hub2xvZ2llcyBSb290IENl
cnRpZmljYXRlIEF1dGhvcml0eSAyMDE4MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAqlQlbFbW7/Iy6wVtPEmfxbRMliJj4S/0vboVuZySAYI7TtMBAaDu
gBBeKPuKmRD1nUP+T4L0i5KBUFRWq5OvgtDYk8Ig382douSbWe4dwGOvcjNKvbHf
Iki9cVSvgTjaeOtORYXzMlCLw59JT6FtXFKjlW1GrM+TPbb2rjDLNir0IzDYvPUx
INXXnxyBSaBvkTipChTnIqXJJG53xEZIb/tK4NE3vcuP5RTFE0AEZmdY9Ka06x8Y
3X83ifbFZ2ZNTjRYggWdVpXB1sdfhjskdUDHunlvN9xBdur4QIUhfsefpe8sVE0K
RAv7IFBKwo5X+zFrfFM9KZGRGQsCBhKWgwIDAQABo1EwTzALBgNVHQ8EBAMCAYYw
DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU2wDrJV+R+5nGtkgc0GOtX+KntFYw
EAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQELBQADggEBAKZ5Su5LLbOXtito
8OFAkOs/AxuzRPP16E1ZO8VWN8Q4y0RsCbJ7V+R1QAlhd793X1LnEMHYpnXQLPbg
tWtWcPfoZbVK5zcDCIt4/7XgpCmL6yGGk9SVDkJrZIv+bvlB6P64vR/Fs2BYHaQx
G2ITb2GN4CrU+UxmieBPMvj12epD23R8HIcarKD/ZRCAR3XAd80v2A5mncxSqdHI
PzNT/fmlMgiesEl+IjJqc98HCtVAVa2hLsXkiZiLGKZPmS0cbQTsW/sNBE+s5WlG
Yo++cDfTgqdLiYcTXmx9PPyMwbmzkUr8Mr8dbDBodWSEpVgv6oCej2kGOF6saUAr
/4YKU4g=
-----END CERTIFICATE-----
---
Server certificate
subject=/C=US/ST=Raleigh/L=North Carolina/O=Dell/OU=ISG Support/CN=remote_avamar.dell.com
issuer=/C=US/ST=Texas/L=Round Rock/O=Dell Technologies/CN=Dell Technologies Issuing CA 101
---
No client certificate CA names sent
Peer signing digest: SHA256
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 4353 bytes and written 459 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES128-SHA256
Session-ID: 63D41D4F774A930BF695B94A53099134EF9DBC7B62B05595E1F82F4CC7CEA4AE
Session-ID-ctx:
Master-Key: 9CF0572465C0B5F72F2C4D19DF3EA5E5B5D27A37EA8A5C8EAD6656B7E362B80B1FF1F71E0BB07BE4CC9EAD393FCE2D30
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1674845514
Timeout : 300 (sec)
Verify return code: 19 (self signed certificate in certificate chain)
---
DONE
En el resultado, vemos que hay 3 certificados en la cadena.
En orden:
Server Cert
0 s:/C=US/ST=Raleigh/L=North Carolina/O=Dell/OU=ISG Support/CN=remote_avamar.dell.com
Intermediate CA
1 s:/C=US/ST=Texas/L=Round Rock/O=Dell Technologies/CN=Dell Technologies Issuing CA 101
Root CA
2 s:/C=US/ST=Texas/L=Round Rock/O=Dell Technologies/OU=Cybersecurity/CN=Dell Technologies Root Certificate Authority 2018
El contenido de un certificado comienza con -----BEGIN CERTIFICATE----- y termina con -----END CERTIFICATE----- inclusive
Tome el segundo certificado en la salida (CA intermedia en la profundidad 1) y guarde su contenido en un archivo como remote_mcssl_int.crt
Tome el tercer certificado en la salida (CA raíz en la profundidad 2) y guarde su contenido en un archivo como remote_mcssl_root.crt
Realizaría este proceso para cualquier cadena de longitud para mcssl firmado, guardando todas las CA intermedias y la CA raíz en archivos individuales.
3. Importe cada CA al almacén de claves rmi
keytool -import -file /home/admin/remote_mcssl_int.crt -keystore /usr/local/avamar/lib/rmi_ssl_keystore -storepass $(avlockbox.sh -r keystore_passphrase) -alias remoteMcsslInt
keytool -import -file /home/admin/remote_mcssl_root.crt -keystore /usr/local/avamar/lib/rmi_ssl_keystore -storepass $(avlockbox.sh -r keystore_passphrase) -alias remoteMcsslRoot
4. Reinicie mcs como usuario administrador
mcserver.sh --restart --force
5. Reinicie tomcat como usuario raíz
emwebapp.sh --restart
6. Vuelva a iniciar el programador de respaldo si es necesario
dpnctl start sched