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 / 1178001
Accepted
Marco Castorina
Marco Castorina
Asked: 2025-04-01 04:22:24 +0800 CST2025-04-01 04:22:24 +0800 CST 2025-04-01 04:22:24 +0800 CST

Não é possível receber e-mails de alguns domínios

  • 772

Tenho executado meu servidor de e-mail sem problemas por alguns anos, mas recentemente tive duas instâncias em que me registrei em um site e nunca recebi o e-mail de verificação. Um era do mcsignup.comdomínio, o outro de mandrillapp.com.

Este é um exemplo de entrada do arquivo de log de e-mail:

postfix/smtpd[1550221]: connect from mail17.mcsignup.com[198.2.179.112]
postfix/smtpd[1550221]: discarding EHLO keywords: CHUNKING
postfix/smtpd[1550221]: disconnect from mail17.mcsignup.com[198.2.179.112] ehlo=1 starttls=1 quit=1 commands=3
postfix/smtpd[1550221]: connect from mail17.mcsignup.com[198.2.179.112]
postfix/smtpd[1550221]: discarding EHLO keywords: CHUNKING
postfix/smtpd[1550221]: disconnect from mail17.mcsignup.com[198.2.179.112] ehlo=1 starttls=1 quit=1 commands=3

Li em outro post que isso pode ser devido a algumas das minhas configurações serem muito restritas, mas gostaria de entender o problema antes de fazer qualquer alteração. Tenho o spamassassin em execução, mas acho que as mensagens nem chegam a esse estágio.

Há outros arquivos de log que devo verificar?

Avise-me se preciso compartilhar alguns arquivos de configuração para facilitar as coisas.

[EDITAR] main.cf

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
home_mailbox = Maildir/
inet_interfaces = all
inet_protocols = ipv4, ipv6
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
mailbox_size_limit = 0
mailbox_transport = lmtp:unix:private/dovecot-lmtp
message_size_limit = 33554432
milter_default_action = accept
milter_protocol = 2
mydestination = mail.marcocastorina.com, marcocastorina.com, localhost.localdomain, localhost
mydomain = marcocastorina.com
myhostname = mail.marcocastorina.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = $mydomain
non_smtpd_milters = $smtpd_milters
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_dns_support_level = dnssec
smtp_host_lookup = dns
smtp_tls_mandatory_protocols = >=TLSv1.2
smtp_tls_protocols = >=TLSv1.2
smtp_tls_security_level = dane
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_discard_ehlo_keywords = chunking
smtpd_forbid_unauth_pipelining = yes
smtpd_milters = inet:localhost:12301
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination reject_unknown_sender_domain
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = permit_sasl_authenticated permit_mynetworks
smtpd_tls_CAfile = /etc/letsencrypt/live/mail.marcocastorina.com/fullchain.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.marcocastorina.com/cert.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.marcocastorina.com/privkey.pem
smtpd_tls_mandatory_ciphers = high
smtpd_tls_mandatory_exclude_ciphers = aNULL, MD5
smtpd_tls_mandatory_protocols = >=TLSv1.2
smtpd_tls_protocols = >=TLSv1.2
smtpd_tls_security_level = encrypt
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache

mestre.cf

smtp       inet  n       -       y       -       -       smtpd -o content_filter=spamassassin
submission inet  n       -       y       -       -       smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject_unauth_destination,reject
pickup     unix  n       -       y       60      1       pickup
cleanup    unix  n       -       y       -       0       cleanup
qmgr       unix  n       -       n       300     1       qmgr
tlsmgr     unix  -       -       y       1000?   1       tlsmgr
rewrite    unix  -       -       y       -       -       trivial-rewrite
bounce     unix  -       -       y       -       0       bounce
defer      unix  -       -       y       -       0       bounce
trace      unix  -       -       y       -       0       bounce
verify     unix  -       -       y       -       1       verify
flush      unix  n       -       y       1000?   0       flush
proxymap   unix  -       -       n       -       -       proxymap
proxywrite unix  -       -       n       -       1       proxymap
smtp       unix  -       -       y       -       -       smtp
relay      unix  -       -       y       -       -       smtp
showq      unix  n       -       y       -       -       showq
error      unix  -       -       y       -       -       error
retry      unix  -       -       y       -       -       error
discard    unix  -       -       y       -       -       discard
local      unix  -       n       n       -       -       local
virtual    unix  -       n       n       -       -       virtual
lmtp       unix  -       -       y       -       -       lmtp
anvil      unix  -       -       y       -       1       anvil
scache     unix  -       -       y       -       1       scache
maildrop   unix  -       n       n       -       -       pipe flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp       unix  -       n       n       -       -       pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail     unix  -       n       n       -       -       pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp      unix  -       n       n       -       -       pipe flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n       n       -       2       pipe flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman    unix  -       n       n       -       -       pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}
spamassassin unix -      n       n       -       -       pipe user=debian-spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
postfix
  • 2 2 respostas
  • 153 Views

2 respostas

  • Voted
  1. Esa Jokinen
    2025-04-01T14:44:43+08:002025-04-01T14:44:43+08:00

    O discarding EHLO keywords: CHUNKINGsugere que seu Postfix está configurado com uma solução alternativa contra SMTP Smuggling . Esta é uma vulnerabilidade bastante desagradável, e com versões do Postfix anteriores à correção de longo prazo em 3.8.5, 3.7.10, 3.6.14 e 3.5.24 você deve ter a solução alternativa em vigor – a configuração não é muito rigorosa.

    ...ataque de falsificação de e-mail que envolve uma composição de serviços de e-mail com diferenças específicas na maneira como lidam com terminações de linha diferentes de<CR><LF>.

    Tecnicamente, o ataque explora a confusão END-OF-DATA em um serviço de recebimento de e-mail, enganando um serviço de envio de e-mail para enviar uma sequência END-OF-DATA não padrão <LF>.<LF>ou <LF>.<CR><LF>no meio de uma mensagem de e-mail, seguida pelos comandos SMTP do invasor que injetam uma mensagem de e-mail falsificada (a sequência END-OF-DATA padrão é <CR><LF>.<CR><LF>).

    Você tem uma dessas soluções alternativas (exemplos de configuração com main.cfsintaxe):

    • Com todas as versões do Postfix:

      smtpd_data_restrictions = reject_unauth_pipelining  
      smtpd_discard_ehlo_keywords = chunking, silent-discard
      
    • O Postfix 3.9, 3.8.1, 3.7.6, 3.6.10 e 3.5.20 também podem bloquear as mesmas formas do ataque publicado com:

      smtpd_forbid_unauth_pipelining = yes  
      smtpd_discard_ehlo_keywords = chunking, silent-discard
      

    Depois de confirmar que seu Postfix corrigiu a vulnerabilidade, você pode substituí-la por:

    smtpd_forbid_bare_newline = normalize
    smtpd_forbid_bare_newline_exclusions = $mynetworks
    

    Com Postfix ≥ 3.9, essas são na verdade as configurações padrão.

    • 1
  2. Best Answer
    anx
    2025-04-02T05:24:58+08:002025-04-02T05:24:58+08:00

    Se um cliente não retornar após solicitar STARTTLS, é provável que ele não tenha gostado do que viu durante o handshake configurando a criptografia. Seu primeiro passo, portanto, deve ser verificar os certificados que você está enviando e a cifra/conjunto de cifras TLS que seu servidor está disposto a negociar.

    openssl s_client -tls1_2 -showcerts -crlf -strict \
     -nocommands -cipher 'aNULL:@SECLEVEL=0' \
     -starttls smtp -connect mail.marcocastorina.com:25 <<<"QUIT"
    
    CONNECTED(00000003)
    ---
    no peer certificate available
    ---
    No client certificate CA names sent
    Server Temp Key: DH, 3072 bits
    

    Seu servidor está oferecendo suítes anônimas para TLS1.2. Reverta smtpd_tls_mandatory_cipherspara algo sensato ou o padrão.

    dig +short TLSA _25._tcp.mail.marcocastorina.com
    2 1 1 0B9FA5A59EED715C26C1020C711B4F6EC42D58B0015E14337A39DAD3 01C5AFC3
    3 1 1 0B854CC5C7953AAC14AA30E3CD4B5360AFD0635BA7169D36BDEC97A6 FE1B36B2
    

    Você está usando DANE, portanto, mesmo um provedor em princípio feliz em falar com seu servidor em uma conexão não segura irá parar após ser solicitado a verificar seu certificado. O que você não necessariamente envia.


    Além disso, embora eu ache que o registro DANE-TA (2) corresponde ao SPKI para XSRG Root X1 , o registro DANE-EE (3) não corresponde à soma de verificação que recebo para o certificado folha - ele provavelmente foi colocado lá em 2023 e esquecido porque a chave foi girada repetidamente.

    A menos que você esteja realmente buscando uma abordagem de rotação de chaves 3+3 com toda a complexidade envolvida, você pode querer parar de girar sua chave folha o tempo todo, ou parar de publicar esse hash (e confiar em uma correspondência do tipo 2) se você não pretende mantê-lo atualizado de qualquer maneira.


    Além disso, o que é que isto pretende alcançar?

    dig +short MX marcocastorina.com
    0 mail.marcocastorina.com.
    10 mail.marcocastorina.com.
    

    Esse é o mesmo nome MX, com valores de prioridade diferentes.

    • 0

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