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 / 1005259
Accepted
Sam Morris
Sam Morris
Asked: 2020-03-03 01:56:03 +0800 CST2020-03-03 01:56:03 +0800 CST 2020-03-03 01:56:03 +0800 CST

O correio rejeitado pelo item !verify = header_syntax ACL do Exim, com cabeçalhos From/To codificados em RFC 2047, é legítimo?

  • 772

Uma atualização recente do Exim adicionou isso à acl_smtp_dataACL padrão:

.ifndef NO_CHECK_DATA_VERIFY_HEADER_SYNTAX
deny
  !acl = acl_local_deny_exceptions
  !verify = header_syntax
  message = header syntax
  log_message = header syntax ($acl_verify_message)
.endif

Isso faz com que algumas mensagens sejam rejeitadas. Por exemplo, o seguinte cabeçalho de uma mensagem de spam:

2020-03-02 09:22:48 1j8hHk-0000gS-3Y H=(static-181-143-69-27.une.net.co) [181.143.69.27] F=<[email protected]> rejected after DATA: header syntax (unqualified address not permitted: failing address in "From:" header is: =?utf-8?B?IkRhbmlrYSIgPERhbmlrYUB1bmUubmV0LmNvPg==?=): unqualified address not permitted: failing address in "From:" header is: =?utf-8?B?IkRhbmlrYSIgPERhbmlrYUB1bmUubmV0LmNvPg==?=

Decodificando o cabeçalho incorreto, obtemos:

00000000  22 58 69 6d 65 6e 61 22  20 3c 58 69 6d 65 6e 61  |"Ximena" <Ximena|
00000010  40 76 69 6c 2e 63 6f 6d  2e 75 61 3e              |@vil.com.ua>|
0000001c

O que parece um valor perfeitamente bom para um Fromcabeçalho para mim.

Corro o risco de rejeitar e-mails legítimos usando verify = header_syntax, ou cabeçalhos como o acima são inválidos e seguros para serem rejeitados?

email spam access-control-list exim
  • 2 2 respostas
  • 382 Views

2 respostas

  • Voted
  1. Best Answer
    Sam Morris
    2020-03-03T01:56:03+08:002020-03-03T01:56:03+08:00

    Aprofundando na RFC 2047:

    5. Use of encoded-words in message headers
    
    An 'encoded-word' may appear in a message header or body part header
       according to the following rules:
    
    [...]
    
    (3) As a replacement for a 'word' entity within a 'phrase', for example,
        one that precedes an address in a From, To, or Cc header.  The ABNF
        definition for 'phrase' from RFC 822 thus becomes:
    
        phrase = 1*( encoded-word / word )
    
        [...]
    
       These are the ONLY locations where an 'encoded-word' may appear.  In
       particular:
    
       + An 'encoded-word' MUST NOT appear in any portion of an 'addr-spec'.
    

    Parece que um encoded-wordpode ser usado para o texto que precede o endereço em um cabeçalho, mas não para um endereço em si. Portanto, é seguro usar verify = header_syntax, desde que assumamos que o correio legítimo não conterá cabeçalhos que violem a RFC 2047 ao inserir endereços furtivos na parte codificada dos cabeçalhos.

    Por outro lado... e a RFC 6854 ? Isso permite cabeçalhos como:

    From: Automated System:;
    

    para ser justo, o RFC também diz que essa sintaxe "é apenas para uso limitado" ("apropriado para uso apenas em circunstâncias limitadas ou únicas", por exemplo, experimentação, por RFC 2026 ). Então eu não vou perder muito sono com isso!

    • 2
  2. Jasen
    2020-03-04T01:08:32+08:002020-03-04T01:08:32+08:00

    RFC2047 foi mal aplicado

    a seção 5 permite três maneiras diferentes de usar palavras codificadas, o que não está de acordo com nenhuma delas.

    O máximo que uma palavra codificada pode abranger é uma "frase" ou um "átomo"

      "Ximena" <[email protected]>
      "phrase" <[email protected]>
    
    • 1

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