Como configurar um certificado SSL no HAProxy

Como configurar um certificado SSL no HAProxy

O HAProxy, um balanceador de carga TCP/HTTP de alto desempenho, oferece suporte à terminação SSL, o que significa que ele pode lidar com tarefas de criptografia e descriptografia SSL, reduzindo a carga nos servidores de back-end.

Este artigo mostrará a você como configurar um certificado SSL no HAProxy, incluindo a geração de um código CSR (Certificate Signing Request), a obtenção de um certificado SSL comercial, a combinação do certificado com a chave privada e a configuração do HAProxy para usá-lo. Então, vamos começar!


Índice

  1. Gerar um código CSR para seu certificado SSL
  2. Obtenha um certificado SSL comercial para o HAProxy
  3. Mesclar o certificado e a chave privada
  4. Configurar o certificado SSL PEM no HAProxy

Gerar um código CSR para seu certificado SSL

Antes que a autoridade de certificação possa emitir o certificado SSL, ela precisa do código CSR que você forneceu para validar suas credenciais de contato. O CSR é um pequeno bloco de texto codificado com detalhes relevantes sobre seu site e sua empresa. Você deve gerá-lo e enviá-lo durante a inscrição no SSL.

Veja como você pode fazer isso:

  1. Abra um terminal: Acesse a interface de linha de comando em seu servidor.
  2. Execute o comando OpenSSL: Use o seguinte comando OpenSSL para gerar um CSR e uma chave privada. Substitua mydomain por seu nome de domínio real.

    openssl req -new -newkey rsa:2048 -nodes -keyout mydomain.key -out mydomain.csr
  3. Insira as informações necessárias: Você será solicitado a inserir detalhes como:
    • Nome do país (código de duas letras, por exemplo, EUA)
    • Nome do estado ou província (por exemplo, Califórnia)
    • Nome da localidade (por exemplo, San Jose)
    • Nome da organização (por exemplo, GPI Holding)
    • Nome da unidade organizacional (por exemplo, TI)
    • Nome comum (por exemplo, yourdomain.com)
    • Endereço de e-mail
  4. Salve o CSR e a chave privada: O comando gerará dois arquivos: mydomain.csr (o CSR) e mydomain.key (a chave privada). Mantenha a chave privada em segurança, pois ela será necessária posteriormente.

Obtenha um certificado SSL comercial para o HAProxy

Os certificados SSL comerciais são confiáveis para todos os navegadores e sistemas operacionais. Como resultado, seus sites ou aplicativos não enfrentarão erros irritantes de conexão SSL. Para um ambiente de produção, esses certificados são obrigatórios. Se estiver usando o HAProxy para fins de teste, você poderá gerar um certificado autoassinado, mas, neste artigo, vamos nos concentrar na configuração do HAProxy SSL para ambientes ativos.

Para obter um certificado SSL comercial, siga estas etapas:

  1. Escolha uma autoridade de certificação (CA): Selecione uma CA de boa reputação, como DigiCert, Comodo ou GeoTrust.
  2. Selecione o tipo de certificado: Escolha o tipo de certificado SSL que atenda às suas necessidades, como um certificado de domínio único, curinga ou de vários domínios (SAN).
  3. Envie o CSR: Forneça o CSR à CA para que ela possa emitir um certificado que corresponda à chave privada do seu servidor.
  4. Compre o certificado: Obtenha seu certificado SSL de um revendedor de SSL confiável, como a SSL Dragon, para obter o melhor preço e suporte ao cliente.
  5. Processo de validação: Dependendo do tipo de certificado, você passará por um processo de validação de domínio, validação de organização ou validação estendida.
  6. Receba o certificado: Após a validação, a CA emitirá os arquivos SSL arquivados em uma pasta ZIP.

Mesclar o certificado e a chave privada

Depois de receber seu certificado SSL da CA, você precisa combiná-lo com sua chave privada para criar um único arquivo que o HAProxy possa usar.

  1. Prepare os arquivos: Certifique-se de que você tenha os seguintes arquivos:
    • O certificado SSL do seu domínio (por exemplo, mydomain.crt)
    • A chave privada gerada anteriormente (mydomain.key)
    • Quaisquer certificados intermediários fornecidos pela CA (por exemplo, intermediate.crt). Normalmente, a CA envia os intermediários em um arquivo CA Bundle.
  2. Combine os arquivos: Esse comando combina o certificado, o certificado intermediário e a chave privada em um único arquivo PEM.

    cat mydomain.crt intermediate.crt mydomain.key > /etc/haproxy/mydomain.pem

Configurar o certificado SSL PEM no HAProxy

Agora que você tem o arquivo PEM, pode configurar o HAProxy para usar o certificado SSL.

Etapa 1: Faça o upload do certificado PEM para o servidor HAProxy:

Use o comando scp para carregar o arquivo de certificado PEM no servidor HAProxy (substitua sysadmin e haproxy_server_ip pelo nome de usuário e endereço IP do servidor remoto, respectivamente):

scp mydomain.pem sysadmin@haproxy_server_ip:/home/sysadmin/

Etapa 2: Crie um diretório para o certificado

Crie um diretório onde o arquivo PEM do certificado será armazenado:

sudo mkdir -p /etc/ssl/mydomain/
sudo cp mydomain.pem /etc/ssl/mydomain/

Etapa 3: Editar o arquivo de configuração do HAProxy

Abra o arquivo de configuração do HAProxy (por padrão, localizado em /etc/haproxy/haproxy.cfg) em um editor de texto como o Bloco de Notas.

Etapa 4: Configurar a seção de front-end

Modifique a seção de front-end para ativar a terminação SSL e redirecionar o tráfego HTTP para HTTPS:

frontend http_frontend
mode http
bind *:80
bind *:443 ssl crt /etc/ssl/mydomain/mydomain.pem alpn h2,http/1.1
redirect scheme https code 301 if !{ ssl_fc }
default_backend http_servers

Etapa 5: Adicionar parâmetros SSL/TLS

Para garantir o uso de versões modernas e seguras de SSL/TLS, adicione o parâmetro ssl-min-ver:

bind *:443 ssl crt /etc/ssl/mydomain/mydomain.pem alpn h2,http/1.1 ssl-min-ver TLSv1.2

Essa diretiva é compatível com os protocolos HTTP/2 e HTTP/1.1 e impõe uma versão mínima de TLS de 1.2 para conexões seguras.

Etapa 6: Configurar a seção de back-end

Certifique-se de que seus servidores de back-end estejam definidos corretamente.

backend http_servers
mode http
balance roundrobin
server server1 :80 check
server server2 :80 check

Etapa 7: Reinicie o HAProxy

Aplique as alterações reiniciando o serviço HAProxy:

sudo systemctl restart haproxy

Etapa 8: Teste sua configuração de SSL

Para testar a configuração SSL do HAProxy, use o SSL Labs e insira o nome do seu domínio. A ferramenta fornecerá um relatório abrangente sobre sua configuração de SSL/TLS, incluindo os detalhes do certificado e os possíveis problemas.


Conclusão

Em resumo, aprender a configurar um certificado SSL no HAProxy é essencial para proteger seus aplicativos da Web e garantir uma comunicação confiável entre clientes e servidores. Ao definir corretamente a configuração do SSL do HAProxy, você pode proteger dados confidenciais e aumentar a segurança geral. Seguir essas diretrizes ajuda a implementar uma criptografia robusta e garante que seu site opere com segurança em HTTPS, proporcionando uma experiência mais segura para seus usuários.

Economize 10% em certificados SSL ao fazer seu pedido hoje!

Emissão rápida, criptografia forte, 99,99% de confiança no navegador, suporte dedicado e garantia de reembolso de 25 dias. Código do cupom: SAVE10

Escrito por

Redator de conteúdo experiente, especializado em certificados SSL. Transformação de tópicos complexos de segurança cibernética em conteúdo claro e envolvente. Contribua para melhorar a segurança digital por meio de narrativas impactantes.