Postfix: RFC 2822 sobre o limite de caracteres

A RFC 2822 nos define que toda mensagem de correio eletrônica deve possuir no máximo 1000 caracteres em cada linha, sendo 998 caracteres e 2 para o retorno de linha (CRLF).

Dessa forma, a fim de garantir que os emails em meu servidor estejam dentro dos conformes adicionei as duas linhas RegEx abaixo tanto no meu arquivo de Header_Checks quanto no Body_Checks:

/.{1001}/     REJECT Out of boundary

Adicionando na primeira linha de cada arquivo, evita-se desperdiçar tempo com verificações adicionais e possíveis exposições à exploits.

Seguindo o bom dilema… é melhor ter e não precisar usar do que precisar usar e não ter… 😀

💡 Feliz Ano Novo!!! 💡

Leia mais artigos sobre o Postfix!

Postfix seguindo as RFC 2111 e 2396 e 2822

Inspecionando as documentações que regulamentam o formato das mensagens de email, percebi alguns detalhes que poderiam ser verificados pelo postfix para garantir a conformidade da mensagem com as definições dos cabeçalhos descritos nas RFC 2111 e 2396 e 2822.

De acordo com as descrições, criei algumas regras em RegEx para que o postfix passe a validar todas as mensagens recebidas. Elas podem ser adicionadas no header_checks.

Siga esse link para visualizar as regras: rfc_checks.txt

Com essas regras podemos assegurar que todos os clientes que nos enviem emails estejam devidamente programados e com o certificado “RFC Compliant”!!! 😀

Leia mais artigos sobre o Postfix!

Verificando as Headers Received-SPF: com RegEx.

Como escrito em um rascunho sobre a requisição de comentário da estrutura de política de remetentes. (Em outras palavras… Como escrito nesse Draft sobre a RFC do SPF). Foi definido que os servidores devem verificar a validade dos cabeçalhos Received-SPF, garantindo que o mesmo tenha um tamanho aceitável e não possua caracteres inválidos e ou dados maliciosos. (SPF clients MUST make sure that the Received-SPF header does not contain invalid characters, is not excessively long, and does not contain malicious data that has been provided by the sender.)

A dúvida porém é o que seria considerado excessivamente longo? O padrão POSIX 1003.1-2001 define que os domínios deverão ter no máximo 64 caracteres (com excessão do ponto de terminação) enquanto a RFC 2181 define um máximo de até 255 caracteres (incluindo o ponto de terminação). Pensando a respeito, acredito que o domínio deva ter limite de 64 caracteres enquanto o domínio com seus subdomínios (inclui ponto de terminação) deva ser 255 caracteres. 😉

Seguindo essa idéia, criei algumas regras com RegEx que verificam e permitem o envio de mensagens com cabeçalhos Received-SPF válidos e nega o que não se encaixa no padrão.

As regras podem ser visualizadas nesse link.

Leia Mais Artigos sobre o Postfix!