O que faz um “-all” em um registro SPF incluído (secundário)?

1

Em um registro SPF, a opção -all significa "Estou colocando na lista de permissões apenas as máquinas / domínios que estou explicitamente listando aqui e nenhum outro servidor pode originar e-mails para esse domínio".

Então, o que significa quando alguém usa a opção include: em um registro SPF para incluir um segundo registro SPF e esse registro SPF secundário tem -all ? Qual é o efeito disso estar lá?

    
por Codeswitcher 14.01.2017 / 05:47

3 respostas

4

O mecanismo de inclusão acionará uma avaliação recursiva para o registro incluído. Se essa avaliação falhar (por exemplo, por um -all no registro incluído), o resultado do mecanismo de inclusão será considerado "Não compatível". Portanto, na prática, um mecanismo -all (ou qualquer outro mecanismo com qualificador) em um registro SPF incluído não tem nenhum efeito sobre a avaliação do registro primário.

Uma visão geral completa de como o mecanismo include afeta a avaliação do registro primário pode ser vista na tabela na seção 5.2 do RFC 7208 ( link )

    
por 14.01.2017 / 10:48
0

O -all no final é interpretado depois que qualquer inclusão é tratada.

Sua finalidade é comunicar como os e-mails não enviados pelos recursos listados devem ser tratados.

-all significa descartá-los como falsificações, enquanto ~all significa que eles ainda podem ser legítimos e devem ser tratados com mais suspeita.

    
por 14.01.2017 / 12:34
0

Para uma verificação de SPF passar, o endereço IP de envio deve passar pelo menos um dos mecanismos. Os mecanismos de inclusão testam o endereço IP de entrada usando o registro SPF incluído e 'retornam' o resultado.

Usando seu exemplo:

a.example.com    IN TXT "v=spf1 include:b.example.com +all"
b.example.com    IN TXT "v=spf1 -all"

O registro incluído retornará falha, pois contém apenas um mecanismo -all . No entanto, o primeiro registro será aprovado porque possui um mecanismo +all .

Usando um exemplo mais detalhado:

a.example.com            IN TXT "v=spf1 ip4:1.2.3.4 mx include:spf.example.org -all"
a.example.com            IN MX  0 mailserver.example.com
mailserver.example.com   IN A   1.2.3.5
spf.example.org          IN TXT "v=spf1 ip4:4.3.0.0/16 -all"

Escreverei o resultado de cada mecanismo na mesma ordem em que estão especificados no registro. Então, os resultados serão formatados como tal:

  • a.example.com: [ip4] [mx] [include] [-all]
  • spf.example.org: [ip4] [-all]

Com os seguintes endereços de remetente:

1.2.3.4

  • spf.example.org - > %código%
  • a.example.com - > %código%

O resultado final será fail fail , desde que pelo menos uma verificação tenha passado

1.2.3.5

  • spf.example.org - > %código%
  • a.example.com - > %código%

O resultado final será pass fail fail fail , desde que pelo menos uma verificação tenha passado

4.3.10.20

  • spf.example.org - > %código%
  • a.example.com - > %código%

O resultado final será pass , desde que pelo menos uma verificação tenha passado

TL; DR: O mecanismo de inclusão é avaliado separadamente e o resultado é passado novamente para a avaliação do registro que o incluiu. A avaliação de registro falha se nenhum mecanismo corresponder. Como você terminou seu exemplo com fail fail , ele sempre corresponderá e, portanto, passará.

    
por 16.01.2017 / 14:39

Tags