AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1147040
Accepted
Nick Lockheart
Nick Lockheart
Asked: 2023-11-02 06:53:34 +0800 CST2023-11-02 06:53:34 +0800 CST 2023-11-02 06:53:34 +0800 CST

Quais são as configurações corretas para ativar o TLS entre Postfix e Dovecot via LMTP?

  • 772

Estou tentando fazer com que o Postfix encaminhe mensagens via LMTP para o Dovecot. Isso funciona bem quando o TLS está desativado nas configurações de ambos os lados.

Depois que as configurações de TLS são habilitadas, o Postfix se conecta via LMTP e o Dovecot vê a conexão, mas ambos os servidores parecem ficar presos lá, sem mais informações nos logs (logs abaixo).

Quais são as configurações corretas de TLS para que isso funcione?

Estas são as partes relevantes dos arquivos de configuração para ambos os servidores configurados atualmente:

/etc/dovecot/dovecot.conf:

protocols = imap lmtp

# Enable SSL (global) for IMAP connections
ssl = required
ssl_cert = </etc/ssl/imap.domain.com/imap.domain.com.crt
ssl_key = </etc/ssl/imap.domain.com/imap.domain.com.key


protocol lmtp {
    ssl_cert = </etc/ssl/imap.domain.com/imap.domain.com.crt
    ssl_key = </etc/ssl/imap.domain.com/imap.domain.com.key
    ssl_ca = </etc/ssl/imap.domain.com/authority.crt
    ssl_verify_client_cert = yes
    auth_ssl_require_client_cert = yes
    ssl=required
}


service lmtp {
  user = vmail
  inet_listener lmtp {
    address = * ::
    port = 24
    ssl=yes
  }
}

/etc/postfix/main.cf:

lmtp_use_tls = yes
lmtp_tls_security_level=encrypt
lmtp_tls_loglevel = 2
lmtp_tls_session_cache_database = btree:${data_directory}/lmtp_cache    
lmtp_tls_CApath = /etc/ssl/certs
lmtp_tls_CAfile=/etc/ssl/domain.com/authority.crt
lmtp_tls_cert_file=/etc/ssl/domain.com/domain.com.client.crt
lmtp_tls_key_file=/etc/ssl/domain.com/domain.com.key    
lmtp_tls_note_starttls_offer = yes

Log de e-mail do servidor Dovecot:

lmtp(1939): Info: Connect from xx.xx.xx.xx
lmtp(2500): Debug: SSL: where=0x10, ret=1: before SSL initialization
lmtp(2500): Debug: SSL: where=0x2001, ret=1: before SSL initialization
lmtp(2500): Debug: SSL: where=0x2002, ret=-1: before SSL initialization
lmtp(2500): Debug: SSL: where=0x2002, ret=-1: before SSL initialization
lmtp(2500): Debug: SSL: where=0x2002, ret=-1: before SSL initialization
lmtp(1944): Info: Disconnect from xx.xx.xx.xx: Disconnected for inactivity (state=GREETING)

O log de e-mail do servidor Postfix:

Nov  1 22:35:18 servername postfix/lmtp[65067]: initializing the client-side TLS engine
Nov  1 22:35:18 servername postfix/lmtp[65050]: 9935F2317D: to=<[email protected]>, relay=remote.server.com[yy.yy.yy.yy]:24, delay=1220, delays=920/0.02/300/0, dsn=4.4.2, status=deferred (lost connection with remote.server.com[yy.yy.yy.yy] while receiving the initial server greeting)

Atualizar

Se eu correr:

openssl s_client -connect domain.com:24 -CAfile /etc/ssl/domain.com/authority.crt

na máquina Postfix, ele se conecta via TLS ao servidor Dovecot via LMTP, e posso emitir comandos telnet para o Dovecot. Parece que o Dovecot está aceitando conexões TLS, mas quando o Postifx tenta se conectar, a negociação é interrompida.

Se eu correr:

openssl s_client -starttls lmtp -connect domain.com:24 -CAfile /etc/ssl/domain.com/authority.crt

Eu apenas entendo:

CONNECTED(00000003)

e não pode emitir nenhum comando telnet.

ssl
  • 1 1 respostas
  • 103 Views

1 respostas

  • Voted
  1. Best Answer
    anx
    2023-11-02T20:02:48+08:002023-11-02T20:02:48+08:00

    Se (de acordo com seu teste openssl s_client) agrupar corretamente toda a sessão LMTP em TLS funcionar, e é apenas o hack de compatibilidade STARTTLS que está causando problemas.. diga ao Postfix para fazer o primeiro.

    lmtp_tls_wrappermode=yes
    

    No entanto, verifique se suas configurações para exigir um certificado de cliente são eficazes. Os s_clientresultados do seu teste ainda não parecem ter estabelecido essa parte. Além disso, elimine as lmtp_use_tlsconfigurações - elas são substituídas e obsoletas pelo lmtp_tls_security_level.

    • 2

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve