O postfix ainda reclama que “a verificação do certificado falhou”, mesmo quando “smtp_tls_security_level = fingerprint”

2

Estou tentando usar o Postfix (versão 2.6.6 no RHEL6) para conectar e enviar e-mails por meio de uma retransmissão de e-mail em nossa rede interna. Quero me conectar com o STARTTLS na porta 25 (a porta 465 não está disponível neste servidor). A retransmissão de email usa um certificado SSL / TLS autoassinado, portanto, eu precisava ignorar a verificação de certificado usando uma autoridade de certificação. Descobri o smtp_tls_security_level = fingerprint que não verifica a cadeia de confiança, a data de expiração, etc. Em vez disso, ele verifica o uso do impressão digital de certificado.

Eu percebi que essa era a solução perfeita, mas quando tento enviar um e-mail, ainda recebo erros em /var/log/maillog que dizem postfix/smtp[15182]: certificate verification failed for xxxxxxxxxxxx[zz.zz.zz.zz]:25: untrusted issuer .

Achei que o objetivo do nível de segurança fingerprint era pular a verificação de certificados. Eu estou entendendo errado o ponto dessa opção? Há algo mais que eu preciso configurar?

Aqui estão as linhas relevantes de main.cf :

relayhost = [xxx.xxx.xxx]
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl-passwords
smtp_sasl_security_options=
smtp_generic_maps = hash:/etc/postfix/generic
smtp_use_tls = yes
smtp_tls_security_level = fingerprint
smtp_tls_fingerprint_digest = sha1
# fingerprint changed for ServerFault. just an example.
smtp_tls_fingerprint_cert_match = c1:d3:54:12:00:r0:ef:fa:42:48:10:ff:ac:1e:75:13:dd:ad:af:3e
smtp_tls_note_starttls_offer = yes

Editar: adicionado em negrito

    
por fronzee 23.07.2014 / 23:28

2 respostas

2

Vou responder minha própria pergunta aqui. Não consegui obter fingerprint verification funcionando, mas descobri como obter o TLS sem verificação de certificado. Do manual :

Mandatory TLS encryption can be configured by setting "smtp_tls_security_level = encrypt". Even though TLS encryption is always used, mail delivery continues even if the server certificate is untrusted or bears the wrong name.

Eu tentei isso em um determinado momento, mas não tive todas as opções corretas ativadas. Mas usando as configurações acima, eu simplesmente mudei smtp_tls_security_level para encrypt e ele funciona bem.

    
por 25.07.2014 / 00:31
1

Como o Postfix habilitou o chroot (por padrão no Debian) "/etc/postfix/master.cf":

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      unix  -       -       -       -       -       smtp

e o valor padrão da variável smtp_tls_CAfile está vazio, o passe de solução para configurá-lo com a localização do arquivo de certificados dentro do chroot:

Em "/etc/postfix/main.cf":

smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
    
por 10.08.2016 / 09:38