HA Proxy falla la validación SSL

HA Proxy falla la validación SSL

Estamos utilizando un certificado comodín de Godaddy en HA(Comodín.pem)y certificados de CA personalizados en los backends. HA y todos los servidores confían en la CA interna. Puedo acceder a todos los servidores backend individualmente sin ningún problema, pero cuando habilitamos la validación SSL, la verificación de estado falla con el error 503 casi de inmediato.

Configuraciones de alta disponibilidad

frontend api.qa.domain.com_esil_HTTPS_443_VS_172.20.25.69
    mode http
    bind 172.20.25.69:80
    bind 172.20.25.69:443 ssl crt /etc/hapee-2.4/ssl/Wildcard.pem ciphers ECDHE-RSA-AES128-CBC-SHA:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-CBC-SHA:AES128-SHA:AES256-SHA:ECDHE-ECDSA-AES128-SHA:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS ssl-min-ver TLSv1.2
    http-after-response replace-header set-cookie "^(my.session=.*)" "\1; SameSite=Strict" 
    http-request set-var(txn.path) path
    http-request set-var(req.backend) str(api.qa.domain.com_loggingservices_http_33313_POOL) if { path -i -m beg /loggingservice/ }
    
    use_backend %[var(req.backend)]

    backend api.qa.domain.com_loggingservice_http_333_POOL
    mode http
    http-request return status 503 content-type "text/html; charset=utf-8" lf-file /etc/hapee-2.4/apps/app_offline.htm if { nbsrv() le 0 }

    balance roundrobin
    dynamic-cookie-key Av3ryS3curek3y
    option httpchk GET /loggingservice/v1/_healthcheck HTTP/1.1
    http-check send hdr host api.qa.domain.com
    http-check expect status 200
    server QA_SERVER1_Node 10.133.20.24:333 check ssl verify none

¿Necesito fusionar nuestros certificados de backend que creamos usando nuestra CA con el archivo pem de GoDaddy? En caso afirmativo, ¿cuál sería el orden correcto?

Respuesta1

Sí, debe fusionar los certificados de CA personalizados con el archivo de certificado de GoDaddy para crear un archivo de certificado combinado que pueda usarse como valor para la opción ca-file en la configuración de su servidor backend HAProxy. El orden correcto de los certificados en el archivo combinado es:

El certificado hoja (su certificado comodín de GoDaddy)

El certificado intermedio (cadena de certificados de GoDaddy)

El certificado raíz (su certificado de CA personalizado)

Para crear el archivo de certificado combinado, puede utilizar un editor de texto para copiar y pegar el contenido de cada archivo de certificado en un solo archivo en el orden correcto. Alternativamente, puedes usar el comando cat en Linux para concatenar los archivos, así:

cat leaf.crt intermediate.crt customCA.crt > combined_cert.pem

Una vez que haya creado el archivo de certificado combinado, puede actualizar la configuración de su servidor backend HAProxy para usar la opción de archivo ca requerido de verificación SSL, como esta:

backend api.qa.domain.com_loggingservice_http_333_POOL
    mode http
    http-request return status 503 content-type "text/html; charset=utf-8" lf-file /etc/hapee-2.4/apps/app_offline.htm if { nbsrv() le 0 }

    balance roundrobin
    dynamic-cookie-key Av3ryS3curek3y
    option httpchk GET /loggingservice/v1/_healthcheck HTTP/1.1
    http-check send hdr host api.qa.domain.com
    http-check expect status 200
    server QA_SERVER1_Node 10.133.20.24:333 check ssl verify required ca-file /path/to/combined_cert.pem

Con esta configuración, HAProxy verificará los certificados SSL presentados por los servidores backend utilizando el certificado CA personalizado, y la verificación de estado debería pasar si los certificados son válidos.

información relacionada