Como corrigir o SSL do servidor de correio?

3

Nosso servidor de e-mail foi configurado originalmente usando certificados criados por você. No entanto, quando aqueles expiraram, e eu tentei recriá-los, a coisa toda explodiu. Como eu sei que será importante, estamos executando um servidor Debian e um postfix.

Agora vejo esses erros gerados nos registros de e-mail:

May 15 08:06:34 letterpress postfix/smtpd[22901]: warning: cannot get certificate from file /etc/postfix/ssl/smtpd.cert
May 15 08:06:34 letterpress postfix/smtpd[22901]: warning: TLS library problem: 22901:error:02001002:system library:fopen:No such file or directory:bss_file.c:352:fopen('/etc/postfix/ssl/smtpd.cert','r'):
May 15 08:06:34 letterpress postfix/smtpd[22901]: warning: TLS library problem: 22901:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:354:
May 15 08:06:34 letterpress postfix/smtpd[22901]: warning: TLS library problem: 22901:error:140DC002:SSL routines:SSL_CTX_use_certificate_chain_file:system lib:ssl_rsa.c:720:
May 15 08:06:34 letterpress postfix/smtpd[22901]: cannot load RSA certificate and key data

E ao tentar acessar o email de um cliente como o Thunderbird de fora da nossa rede local, você recebe "Não é possível conectar-se ao servidor SMTP".

Eu verifiquei que o arquivo /etc/postfix/ssl/smtpd.cert existe. O proprietário atual do arquivo é root:root . Isso precisa ser mudado?

    
por Noah Goodrich 18.05.2009 / 17:26

3 respostas

4

Seu /etc/postfix/main.cf conterá as três diretivas a seguir.

 smtpd_tls_cert_file=
 smtpd_tls_key_file=
 smtpd_use_tls=yes

Isso diz ao Postfix para usar o TLS.

Você pode fazê-lo funcionar novamente desabilitando o TLS ou criando novos certificados.

Desativando o TLS

  1. Altere smtpd_use_tls de sim para não
  2. /etc/init.d/postfix restart

Como criar novos certificados

  1. Localize o arquivo de chaves (de acordo com smtpd_tls_key_file ). Se estiver faltando, você terá que criar um novo. ( openssl genrsa -out nomedoarquivo.key 1024; chmod 600 nome_do_arquivo.key )
  2. Crie um CSR ( openssl req -new -key nome_do_arquivo.key -out nome_do_arquivo.csr )
  3. Crie o certificado ( openssl x509 -req -days 730 -no nome do arquivo.csr -signkey filename.key -out filename.crt )
  4. Transforme-o no formato .pem ( cat nome_do_arquivo.key nome_do_arquivo.crt > nome_do_arquivo.pem; chmod 600 nome_do_arquivo.pem; chown postfix nome_do_arquivo.pem )

Em seguida, certifique-se de que ele esteja de acordo com /etc/postfix/main.cf e reinicie o Postfix. Você deveria estar bem para ir.

    
por 18.05.2009 / 17:46
1

Parece que você tem um problema em "/etc/postfix/ssl/smtpd.cert", o arquivo está faltando, as permissões estão erradas ou a formatação do certificado dentro dele é inválida.

    
por 18.05.2009 / 17:43
0

Eu tive esse problema. Descobri que o nome da minha chave privada era mailserver. pem e, no entanto, na configuração do postfix, era mailserver. key . Eu segui um tutorial que tinha ambos com uma extensão .pem.

Eu também tinha o certificado e a chave privada legível apenas pelo root, e mudei isso para que eles pudessem ser lidos pelo root e pelo postfix (chown root: nome do arquivo postfix; chmod 640 filename). Não tenho certeza se esse segundo passo é necessário.

    
por 02.05.2010 / 05:53