Como configuro um Letsencrypt ssl no servidor de e-mail do Xeams?

1

Primeiro, consegui configurar com êxito um certificado letsencrypt em um servidor Ubuntu 14.0.4 para o meu domínio, e confirmei que estava tudo certo, verificando se podia acessar meu domínio via https e verificando se realmente tinha o correto arquivos em:

/etc/letsencrypt/live/domain.tld/

Eu tenho um servidor de e-mail do Xeams em execução no servidor e achei difícil seguir as etapas do guia . Primeiro eu tive que converter os arquivos certificados gerados pelo LetsEncrypt de .pem para .crt usando:

openssl x509 -outform der -in my-cert.pem -out my-cert.crt

Que funcionou bem e converteu os arquivos com sucesso, mas o problema que tenho com o guia é que, ele assume que eu não tenho um certificado SSL que não é o caso. Eu não acho que deveria ter que gerar um código CSR novamente quando eu já tenho o certificado do Letsencrypt.

Para esclarecer, esses são os arquivos certificados que eu tenho para o meu domínio.

  1. cert.pem
  2. chain.pem
  3. privkey.pem
  4. fullchain.pem

No entanto, no guia, é necessário gerar códigos de CSR e, portanto, ignorei a geração de um CSR para a parte em que preciso adicionar os certificados ao keystore, mas não é muito simples o que devo fazer, porque os arquivos no guia não estão correlacionados com o que recebi do Letsencrypt.

Quando tento seguir o restante do guia e testar se meu servidor aceita conexões na porta Secure IMAP: 995, meu servidor retorna um certificado auto-assinado e não o certificado da CA.

Eu usei openssl para testar a porta IMAP segura 995

openssl s_client -connect localhost:995

Eu também confirmei o suporte ao Letsencrypt para protocolos de e-mail ssl e Java, então tem que haver algo que eu não estou acertando. Eu não consegui descobrir como adicionar meus certificados ao keystore.

    
por Feyisayo Sonubi 18.10.2016 / 10:08

1 resposta

1

Então eu finalmente descobri depois de dias de pesquisa, graças ao guia aqui , você nem precisa usar o keytool, pois o xeams suporta os certificados PKCS12 .

  1. Crie um PKCS12 que contenha seu fullchain.pem e privkey.pem :

    openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out synametrics.cert -name xeams

  2. Copie o diretório de instalação synametrics.cert to xeams:

    cp synametrics.cert /etc/Xeams/config/

  3. Crie um arquivo server.properties na pasta ./config , se ainda não existir, e anexe os parâmetros abaixo no arquivo:

    javax.net.ssl.keyStore=config/synametrics.cert javax.net.ssl.keyStorePassword=password SSLCertificatePassword=password

    Onde pasword é a senha que você digitou quando criou o armazenamento de chaves com o openssl.

  4. Escolha o tipo de keystore PKCS12 no painel de administração do Xeams > Configuração SMTP > Configurar SSL:

  5. AtiveoservidorSMTPseguroeespecifiquesuaportaemxeams.Verifiquesevocêpodeseconectaraoseuservidordee-mailnasportasespecificadas:

    openssls_client-connectmail.example.com:465

FIXARPARAACHAVEDHFRACA

  • Você provavelmente obterá um erro do openssl sobre o DHKey usado pelo xeams sendo muito pequeno, isso é um problema do xeams, não do openssl ou do letsencrypt.

    O problema foi causado por xeams usando uma <\> chave pública Diffie-Hellman efêmera fraca , menor que 1024 bits, quando idealmente, não deveria ser menor que 2048 bits. Eu tentei muitas coisas, mas isso é o que consertou para mim:

    Atualize o jre que vem com xeams em /etc/xeams/jre com os que estão em este artigo da synammetrics:

    a. Pare o serviço xeams smtp:

    service xeams stop

    b. Renomeie a pasta jre no seu diretório de instalação de xeams:

    mv -T jre jre.old

    c. Pegue o jre compactado para a arquitetura da sua máquina a partir do link para o artigo acima e extraia-o para o diretório /etc/xeams/jre/ , sua nova pasta jre deve conter o conteúdo do jre compactado.

    d. Iniciar xeams!

    service xeams start

  • Espero que isso conserte alguém por aí. :)

        
    por 07.11.2016 / 21:43