bg-tutorials

Como Instalar um Certificado SSL no Pound

Este guia mostra como instalar um certificado SSL/TLS no Pound, o leve proxy reverso HTTP/HTTPS. Ele abrange a parte que mais confunde os operadores: criar o arquivo PEM único combinado que o Pound espera, na ordem correta, e depois escrever um bloco ListenHTTPS funcional que desativa protocolos obsoletos, aponta o Pound para um backend e passa por uma verificação de configuração antes de você reiniciar o serviço.

Uma nota rápida sobre qual Pound este guia tem como alvo. O projeto original Apsis Pound foi descontinuado em setembro de 2022. O desenvolvimento ativo foi transferido para o fork mantido por Sergey Poznyakoff em github.com/graygnuorg/pound, que agora é o repositório canônico e a versão empacotada pelas distribuições Linux atuais. As diretivas abaixo correspondem à série moderna 4.x.

Gerar o CSR para o Pound

Se você já gerou seu CSR e tem em mãos os arquivos do certificado emitido, avance para Instalar o certificado SSL no Pound.

Antes que uma Autoridade Certificadora possa emitir seu certificado, você precisa enviar um CSR (Certificate Signing Request): um pequeno bloco de texto que contém os detalhes do seu domínio e uma chave pública, emparelhado com uma chave privada que permanece no servidor. Você tem duas opções:

  • Gerar o CSR automaticamente com nosso CSR Generator. A ferramenta retorna tanto o CSR quanto a chave privada correspondente, que você então move para o servidor.
  • Gerar o CSR no próprio servidor com o OpenSSL seguindo nosso tutorial sobre como gerar um CSR no Pound. A chave privada permanece no servidor.

Ao solicitar o certificado, cole o bloco completo do CSR, incluindo as linhas —–BEGIN CERTIFICATE REQUEST—– e —–END CERTIFICATE REQUEST—–. Se quiser confirmar o conteúdo do CSR antes de enviá-lo, cole-o em nosso decodificador de CSR. Mantenha o arquivo de chave privada correspondente (geralmente yourdomain.key) em um local seguro e legível apenas pelo root; você precisará dele durante a instalação.

Instalar o certificado SSL no Pound

Depois que a CA emitir o certificado, você normalmente receberá:

  • Seu certificado primário (do servidor), geralmente um arquivo .crt ou .pem nomeado a partir do seu domínio.
  • Um ou mais certificados intermediários, seja como arquivos separados ou agrupados em um único arquivo .ca-bundle.
  • A chave privada (um arquivo .key) que foi gerada junto com o seu CSR.

O Pound espera um único arquivo PEM que contenha o certificado, a cadeia intermediária e a chave privada não criptografada. O manual do graygnuorg é explícito sobre a ordem: certificado, depois os certificados intermediários (se houver), depois a chave privada, nessa ordem. Pular a cadeia é o erro de instalação mais comum: o certificado parece correto em um navegador de desktop, mas falha no Android, no iOS e em clientes de linha de comando.

Passo 1: Criar o arquivo PEM combinado

Este guia presume que os arquivos do certificado estão armazenados em /etc/pound/. Ajuste os caminhos conforme sua estrutura. Concatene os três arquivos em um único arquivo PEM. O padrão pipe-para-tee abaixo executa o redirecionamento com privilégios de root, o que é necessário porque /etc/pound/ geralmente só é gravável pelo root (um simples sudo cat … > /etc/pound/… falharia, já que o shell abre o arquivo de saída como seu usuário normal antes mesmo de o sudo ser executado):

cat your_domain.crt intermediate.crt your_domain.key | sudo tee /etc/pound/your_domain.pem > /dev/null

Se a CA forneceu os intermediários como um único arquivo .ca-bundle, use-o em vez disso:

cat your_domain.crt your_domain.ca-bundle your_domain.key | sudo tee /etc/pound/your_domain.pem > /dev/null

Substitua os nomes dos arquivos pelos seus. A chave privada dentro do arquivo combinado deve estar não criptografada, já que o Pound é iniciado de forma não interativa e não pode solicitar uma frase-senha. Restrinja o arquivo resultante para que somente o root possa lê-lo:

sudo chown root:root /etc/pound/your_domain.pem
sudo chmod 600 /etc/pound/your_domain.pem

Passo 2: Editar o pound.cfg

Abra o arquivo de configuração do Pound (comumente /etc/pound/pound.cfg no Debian e Ubuntu, ou /etc/pound.cfg em algumas outras distribuições) e adicione um bloco ListenHTTPS que aponte para o arquivo PEM combinado. Um bloco moderno mínimo se parece com isto:

ListenHTTPS
    Address 0.0.0.0
    Port 443
    Cert "/etc/pound/your_domain.pem"

    # Modern TLS only: disables SSLv2, SSLv3, TLSv1.0 and TLSv1.1,
    # leaving TLSv1.2 and TLSv1.3 enabled.
    Disable TLSv1_1
    Ciphers "ECDHE+AESGCM:ECDHE+CHACHA20:!aNULL:!MD5:!DSS"

    Service
        Backend
            Address 127.0.0.1
            Port 8080
        End
    End
End

Algumas observações sobre as diretivas acima:

  • Cert fornece o arquivo PEM combinado que você criou no Passo 1. O manual deixa claro que Cert deve preceder todas as outras diretivas específicas de SSL dentro do listener, então mantenha-o no topo do bloco.
  • Disable desativa o protocolo indicado e todo protocolo mais antigo do que ele. Disable TLSv1_1, portanto, desativa SSLv2, SSLv3, TLSv1.0 e TLSv1.1, deixando o TLSv1.2 e o TLSv1.3 ativos, o que está de acordo com as orientações atuais do setor.
  • Ciphers define a lista de cifras do OpenSSL (usada para TLS 1.2; o TLS 1.3 negocia seu próprio conjunto de cifras). A lista acima restringe o proxy a conjuntos ECDHE modernos com AEAD; se precisar dar suporte a clientes mais antigos, use o perfil “intermediate” da Mozilla em ssl-config.mozilla.org.
  • Service / Backend é onde o Pound faz o proxy do tráfego descriptografado. O exemplo encaminha para um único backend na interface de loopback (porta 8080); substitua o endereço e a porta pelo que sua aplicação estiver ouvindo, e adicione mais blocos Backend se quiser que o Pound faça balanceamento de carga.

Se você também quiser que o Pound aceite HTTP puro e o encaminhe (normalmente apenas para redirecionar para HTTPS, veja o Passo 4), adicione um bloco ListenHTTP separado no mesmo arquivo.

Passo 3: Verificar a configuração e reiniciar o Pound

Antes de recarregar o serviço, valide o arquivo de configuração para que um erro de digitação não derrube o proxy. O Pound tem um modo de verificação embutido:

sudo pound -c -f /etc/pound/pound.cfg

Ele sai com status 0 e não imprime nada em caso de sucesso, ou status 1 com uma mensagem de erro indicando o arquivo e a linha em caso de falha. Adicione -v se quiser uma confirmação explícita de “configuration OK”. Quando a verificação for aprovada, reinicie o Pound para que ele passe a usar o novo listener:

sudo systemctl restart pound

Em sistemas sem systemd, use o script init mais antigo:

sudo /etc/init.d/pound restart

Confirme que o serviço está em execução e ouvindo na porta 443:

sudo systemctl status pound
sudo ss -tlnp | grep ':443'

Passo 4 (recomendado): Redirecionar HTTP para HTTPS

Para garantir que os visitantes que digitarem o domínio puro caiam na URL segura, adicione um listener HTTP puro que responda a toda requisição com um redirecionamento permanente para a versão HTTPS do mesmo caminho:

ListenHTTP
    Address 0.0.0.0
    Port 80
    Service
        Redirect 301 "https://example.com$1"
    End
End

Substitua example.com pelo seu próprio domínio. A referência retroativa $1 preserva o caminho original da requisição. Execute sudo pound -c -f /etc/pound/pound.cfg novamente e, em seguida, reinicie o serviço.

Testar a instalação SSL

Abra seu site via https:// em um navegador e verifique se o cadeado está fechado e se o certificado corresponde ao seu domínio. Em seguida, execute uma verificação mais profunda com nosso SSL Checker para obter um relatório instantâneo sobre o certificado, a cadeia e os protocolos e cifras que o Pound está oferecendo. Um resultado limpo ali significa que os clientes em todas as principais plataformas, incluindo clientes móveis e de API, confiarão no certificado.

Perguntas Frequentes

Qual versão do Pound devo instalar?

O projeto original da Apsis foi abandonado em 2022. O fork ativamente mantido é o graygnuorg/pound de Sergey Poznyakoff, atualmente na série 4.x, e é o que as principais distribuições Linux empacotam como pound. Se você estiver executando algo da antiga linha 2.x, planeje migrar para uma versão atual: as diretivas de configuração deste guia presumem o fork moderno.

Em que ordem o certificado, a cadeia e a chave devem aparecer no arquivo PEM?

Conforme o manual do Pound: primeiro o certificado do servidor, depois os certificados intermediários (se houver) e, por fim, a chave privada, tudo codificado em PEM, em um único arquivo. A chave privada não pode estar protegida por frase-senha, pois o Pound é iniciado como um daemon e não tem como solicitar uma.

Como desativo versões antigas do TLS no Pound?

Use a diretiva Disable dentro do bloco ListenHTTPS. O Disable do Pound desativa o protocolo indicado e todo protocolo mais antigo do que ele, então Disable TLSv1_1 desativa SSLv2, SSLv3, TLSv1.0 e TLSv1.1, deixando apenas o TLSv1.2 e o TLSv1.3. Essa é a configuração recomendada para novas implantações.

Posso hospedar mais de um site HTTPS na mesma instância do Pound?

Sim. O Pound oferece suporte a SNI, então você pode declarar várias instruções Cert dentro do mesmo listener ListenHTTPS (ou apontar Cert para um diretório de arquivos PEM). O Pound percorre os certificados em ordem e usa o primeiro cujo Nome Comum ou SAN corresponda ao nome de host solicitado, então liste certificados mais específicos (nomes de host) antes dos curinga.

Como testo a configuração do Pound sem reiniciar?

Execute sudo pound -c -f /etc/pound/pound.cfg. A flag -c verifica o arquivo de configuração em busca de erros de sintaxe e encerra sem iniciar o proxy; status de saída 0 significa OK, status 1 significa que há um erro (a mensagem informa qual arquivo e linha). Adicione -v para uma mensagem explícita de sucesso.

Com que frequência preciso renovar o certificado?

A partir de 15 de março de 2026, os certificados SSL/TLS de confiança pública terão validade máxima de 200 dias, e o CA/Browser Forum já programou novas reduções (para 100 dias em 2027 e 47 dias em 2029). Planeje repetir a instalação acima bem antes de cada expiração, ou automatize as renovações com ACME.

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

Uma imagem detalhada de um dragão em voo
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.