O proxy HA falha na validação SSL

O proxy HA falha na validação SSL

Estamos usando um certificado curinga Godaddy em HA(Cartão curinga.pem)e certificados de CA personalizados nos back-ends. A CA interna é confiável para HA e todos os servidores. Posso acessar todos os servidores back-end individualmente sem problemas, mas quando ativamos a validação SSL, a verificação de integridade falha com erro 503 quase imediatamente.

Configurações de alta disponibilidade

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

Preciso mesclar nossos certificados de back-end que criamos usando nossa CA com o arquivo pem GoDaddy? se sim, qual seria a ordem correta?

Responder1

Sim, você precisa mesclar os certificados CA personalizados com o arquivo de certificado GoDaddy para criar um arquivo de certificado combinado que pode ser usado como o valor para a opção ca-file na configuração do servidor back-end HAProxy. A ordem correta dos certificados no arquivo combinado é:

O certificado folha (seu certificado curinga GoDaddy)

O certificado intermediário (cadeia de certificados GoDaddy)

O certificado raiz (seu certificado CA personalizado)

Para criar o arquivo de certificado combinado, você pode usar um editor de texto para copiar e colar o conteúdo de cada arquivo de certificado em um único arquivo na ordem correta. Alternativamente, você pode usar o comando cat no Linux para concatenar os arquivos, assim:

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

Depois de criar o arquivo de certificado combinado, você pode atualizar a configuração do servidor backend HAProxy para usar a opção de verificação SSL necessária do arquivo ca, assim:

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

Com esta configuração, o HAProxy verificará os certificados SSL apresentados pelos servidores backend usando o certificado CA personalizado, e a verificação de integridade deverá passar se os certificados forem válidos.

informação relacionada