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 / 1175777
Accepted
Markus Grunwald
Markus Grunwald
Asked: 2025-03-19 17:47:41 +0800 CST2025-03-19 17:47:41 +0800 CST 2025-03-19 17:47:41 +0800 CST

Como posso ver quais cifras um cliente tentou conectar ao meu servidor postfix?

  • 772

De vez em quando vejo logs do postfix como este:

Mar 18 13:19:19 ... smtpd[1217240]: SSL_accept error from mx0b-002b8002.pphosted.com[148.163.140.242]: -1
Mar 18 13:19:19 ... smtpd[1217240]: warning: TLS library problem: error:0A0000C1:SSL routines::no shared cipher:../ssl/statem/statem_srvr.c:2220:

Eu bloqueio cifras antigas:

smtpd_tls_mandatory_ciphers = high                                                             
smtpd_tls_mandatory_exclude_ciphers = ECDHE-RSA-RC4-SHA                                        
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3                                                 
smtpd_tls_protocols = >=TLSv1  

Então agora eu gostaria de ver quais cifras o cliente está oferecendo quando ele tenta se conectar ao meu servidor, mas não consigo ver isso nos logs. Existe uma maneira de obter essas informações?

postfix
  • 1 1 respostas
  • 91 Views

1 respostas

  • Voted
  1. Best Answer
    Esa Jokinen
    2025-03-20T17:10:28+08:002025-03-20T17:10:28+08:00

    Depurando os conjuntos de cifras oferecidos

    Você pode adicionar o endereço IP do cliente conforme debug_peer_listsugerido em Postfix Debugging Howto .

    Lista opcional de padrões de destino do próximo salto, nome do cliente ou servidor remoto ou endereço de rede que, se correspondidos, fazem com que o nível de registro detalhado aumente na quantidade especificada em $debug_peer_level.

    Os logs padrão debug_peer_level = 2:

    • A conversa SMTP completa com comandos e respostas.
    • Quaisquer erros ou respostas incomuns do servidor remoto.
    • A negociação de protocolos e quaisquer tentativas de handshake TLS.
    postfix/smtpd[123]: connect from mail.example.com[192.0.2.1]
    postfix/smtpd[123]: 1A2B3C4D5E: client=mail.example.com[192.0.2.1]
    postfix/smtpd[123]: 1A2B3C4D5E: SSL/TLS session started
    postfix/smtpd[123]: 1A2B3C4D5E: SSL/TLS handshake failed: no shared cipher suites
    postfix/smtpd[123]: 1A2B3C4D5E: warning: no common cipher suites found for TLS negotiation
    postfix/smtpd[123]: 1A2B3C4D5E: disconnect from mail.example.com[192.0.2.1] ehlo=1 starttls=0/1
    

    Como você quer ver as cifras que o cliente está oferecendo, você precisa aumentar o nível de depuração em um.

    debug_peer_level = 3
    

    Isso produziria algo como isto:

    postfix/smtpd[123]: connect from mail.example.com[192.0.2.1]
    postfix/smtpd[123]: 1A2B3C4D5E: client=mail.example.com[192.0.2.1]
    postfix/smtpd[123]: 1A2B3C4D5E: SSL/TLS session started
    postfix/smtpd[123]: 1A2B3C4D5E: cipher suites offered by mail.example.com: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-SHA384, DHE-RSA-AES128-SHA256
    postfix/smtpd[123]: 1A2B3C4D5E: cipher suites offered by server: ECDHE-RSA-AES256-GCM-SHA384, AES128-SHA256, AES128-GCM-SHA256
    postfix/smtpd[123]: 1A2B3C4D5E: SSL/TLS handshake failed: no common cipher suites
    postfix/smtpd[123]: 1A2B3C4D5E: warning: no common cipher suites found for TLS negotiation
    postfix/smtpd[123]: 1A2B3C4D5E: disconnect from mail.example.com[192.0.2.1] ehlo=1 starttls=0/1
    

    O que mais pode estar errado? Certificado incompatível!

    Isso error:0A0000C1:SSL routines::no shared ciphertambém pode ser causado pelos diferentes tipos de certificados. Nesse caso, você verá que há conjuntos de cifras comuns nas listas, mas eles não são usados.

    Por exemplo, seu servidor poderia ter apenas certificado ECC disponível e o cliente suporta apenas certificados RSA. Isso daria exatamente o erro que você obteve, e sua tentativa de depuração seria muito confusa, mostrando algo como isto:

    postfix/smtpd[123]: 1A2B3C4D5E: cipher suites offered by mail.example.com: ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-GCM-SHA256, DHE-RSA-AES256-GCM-SHA384
    postfix/smtpd[123]: 1A2B3C4D5E: cipher suites offered by server: ECDHE-RSA-AES256-GCM-SHA384, AES128-SHA256, AES128-GCM-SHA256, ECDHE-ECDSA-AES256-GCM-SHA384, ECDHE-ECDSA-AES128-GCM-SHA256
    postfix/smtpd[123]: 1A2B3C4D5E: warning: TLS library problem: error:0A0000C1:SSL routines::no shared cipher:../ssl/statem/statem_srvr.c:2220:
    

    Isso aconteceu muito depois que a Let's Encrypt começou a emitir certificados ECC por padrão:

    • Como obter certificados ECC e RSA do Let's Encrypt para Postfix?
    • 3

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