Configure o exim4 para usar o Microsoft Exchange como smarthost

5

Minha empresa configurou recentemente um ambiente do Microsoft Exchange orientado ao Active Directory para consolidar e-mails enviados. Nós temos um conjunto de servidores de teste que agora devem usar nosso MSEXCHG como smarthost para o correio de saída.

Esses servidores estão localizados na DMZ, e é por isso que a solução com votos contra êxito em Autenticando no Exchange 2010 smarthost? não é uma alternativa, já que não podemos permitir que um servidor na DMZ apenas envie e-mails a qualquer momento através do nosso servidor Exchange.

Coisas que fizemos no MSEXCHG:

As coisas que fizemos em exim4 (8) :

  • Usando update-exim4.conf (8) (c.f. exim4_files (5) ), configuramos o exim para usar exchange.contoso.com:587 como um smarthost.
  • Em passwd.client ( exim4_files (5) ), adicionei a seguinte linha: exchange.contoso.com:[email protected]:secret123 )

Depois de iniciar o exim com a configuração descrita acima, recebo os dois erros de TLS a seguir em mainlog :

  • TLS error on connection to ex.contoso.com [192.168.1.8] (recv): A TLS packet with unexpected length was received.
  • TLS error on connection to ex.contoso.com [192.168.1.8] (send): The specified session has been invalidated for some reason.

Nosso MSEXCHG se recusa a enviar o e-mail e a seguinte entrada de log (final) é mostrada:

** [email protected] R=smarthost T=remote_smtp_smarthost: SMTP error from remote mail server after MAIL FROM:<[email protected]> SIZE=1538: host ex.contoso.com [192.168.1.8]: 530 5.7.1 Client was not authenticated

Outras coisas que tentei:

  • Coloque MAIN_TLS_ENABLE = 1 em exim4.conf.localmacros ( link )
  • Etapas descritas em link

Então, pergunta obrigatória: Como podemos obter o exim para usar nosso ambiente MSEXCHG como smarthost?

    
por Christian Kiewiet 08.04.2015 / 08:30

3 respostas

1

Nosso problema foi bastante específico para nossa configuração. Temos mais de um Exchange Server em execução em paralelo com um balanceador de carga atuando como AP. O LB foi configurado incorretamente, o que causou a negligência de oferecer qualquer barra de método de autenticação NTLM e GSSAPI mesmo após o bem-sucedido STARTTLS handshake.

Testes detalhados via swaks jetmore.org (podem recomendar esta ferramenta) revelaram isso .

    
por 22.04.2015 / 17:05
1

Sua organização opera sua própria autoridade de certificação para servidores internos? Talvez você precise adicionar os certificados de autoridade de certificação para o servidor Exchange no armazenamento confiável de certificado para o Exim? Muitos produtos não reportam muito bem este erro (não sei se o Exim faz ou não).

O Wireshark (captura primeiro no servidor com tcpdump -p -s0 -w /tmp/foo.pcap e copia para uma estação de trabalho local com o Wireshark) deve poder mostrar o envio do certificado do servidor do Exchange, e se o cliente desligar depois disso, um certificado CA ausente é uma causa comum.

    
por 17.04.2015 / 12:06
-2

O problema é devido aos certificados TLS. Procedimento para resolver:

Instalar o openssl (se estiver faltando)

sudo apt-get instala o openssl

Gerar certificados próprios

sudo / usr / share / doc / exim4-base / exemplos / exim-gencert

Adicionar TLS ao SMTP principal

sudo nano /etc/exim4/exim4.conf.localmacros

ou escolha seu arquivo .conf padrão

main_tls_enable = '1'

    
por 07.07.2015 / 21:56