Como configuro o SPF para vários domínios em um servidor? (também permitindo o gmail como remetente)

9

O SPF (Sender Policy Framework) parece ser uma boa maneira de combater spammers / spoofing.

No entanto, apesar de ler as explicações várias vezes, não entendi como configurá-lo corretamente.


Digamos que eu tenha meu servidor em a.x.com , que hospeda www.x.com e b.x.com e c.x.com e assim por diante.

Eu também tenho a.co.uk b.net c.info e assim por diante, cada um com uma variedade de subdomínios, todos hospedados em x.com

Para todos esses domínios e subdomínios, desejo permitir o envio de e-mails de a.x.com

Eu também gostaria que todos eles permitissem e-mails enviados do Gmail para todos esses domínios.

Como configuro isso com o SPF?

Posso definir um registro SPF para x.com (ou a.x.com ) e, em seguida, para todo o resto, basta incluir um simples ponteiro / ponteiro no registro de x.com ou ele precisaria ser feito de forma diferente?

Alguém pode fornecer alguns registros SPF para o exemplo acima?


Nota: A segunda parte da minha pergunta foi respondida (use " v=spf1 include:x.com -all " para incluir / apontar no registro de x.com ), mas a parte chave do que para definir em x.com permanece sem resposta ...

    
por Peter Boughton 05.05.2009 / 00:15

5 respostas

7

Você não pode evitar a necessidade de alterar os arquivos de zona para os domínios diferentes de x.com, mas pode evitar muitos problemas definindo políticas comuns hospedadas em um domínio e usando a palavra-chave redirect SPF no outros domínios. Exemplo:

  • No arquivo de zona do domínio x.com :
_policy1    IN    TXT     "v=spf1 a:a.x.com -all"
_policy2    IN    TXT     "v=spf1 include:_spf.google.com a:a.x.com -all"

_spf.google.com é o registro que contém o registro SPF do Gmail. Não tenho certeza se está documentado. Teoricamente você deve include:gmail.com , mas isso é um redirecionamento para _spf.google.com e houve pelo menos um patch de SPF amplamente usado para o qmail que não foi seguido corretamente (foi corrigido em agosto de 2008, mas ainda pode ser implantado). são exemplos, é claro - ter mais de um com vários níveis de rigor é extremamente útil ao depurar, já que você só precisa alterar um nome abreviado no domínio de destino, em vez de um copypasting propenso a erros.

  • Nos arquivos de zona dos outros domínios:
@                       IN    TXT    "v=spf1 redirect=_policy1.x.com"

ou

@                       IN    TXT    "v=spf1 redirect=_policy2.x.com"

Estou usando redirect , não include , para fazer com que a verificação de SPF substitua completamente o registro avaliado no momento pelo que estou redirecionando. include não faz isso - por exemplo, um -all no final de um include não faz com que a avaliação pare ( include é um grande erro.) Você deve evitar usar include quando quiser "alias" um registro SPF de outro domínio, já que é bastante frágil - se você acidentalmente esquecer o trailing -all, você pode tornar todo o seu SPF nesse domínio ineficaz.

Editar: observe, no entanto, que você precisa estar atento se quiser permitir servidores do Gmail como remetentes. A chaptcha do Gmail foi quebrada, o que significa que é possível automatizar as inscrições de contas, o que significa que o Gmail pode ser usado (indiretamente) como retransmissão aberta (estou recebendo dezenas de solicitações de inscrição por semana para o fórum de discussão da minha empresa, todas usando gmail.com endereços de e-mail - e esses endereços estão ativos, permitimos que alguns deles sejam verificados. Além disso, qualquer pessoa com uma conta do Gmail pode ignorar a verificação do SPF se estiver familiarizada com as partes do nome do usuário dos seus domínios .

    
por 09.05.2009 / 10:34
4

Sim, você pode incluir a configuração de um dos seus domínios nos registros SPF para todos os outros domínios. Definir o registro SPF dos outros domínios como o seguinte deve funcionar:

v=spf1 include:x.com -all
    
por 05.05.2009 / 00:51
2

Você já tentou usar a ferramenta da web no link ? Pode ser um pouco mais fácil para você lidar com isso ...

Basta inserir seu domínio na caixa superior direita e clicar no botão "Ir". De lá, você deve ser capaz de configurar as coisas com pressa.

    
por 05.05.2009 / 00:32
2

O padrão, RFC 4408 , fornece alguns exemplos muito próximos do que você deseja. Aqui está um extrato do arquivo de zona do x.com:

@     IN TXT  "v=spf1 a:a.x.com -all"
      IN SPF  "v=spf1 a:a.x.com -all"

www   IN TXT  "v=spf1 a:a.x.com -all"
      IN SPF  "v=spf1 a:a.x.com -all"

Notas:

  • Eu não adicionei servidores de e-mail do Gmail porque não os conheço, pergunte às pessoas do Gmail
  • 'a' é para 'endereço' (não é não um registro DNS A, ele inclui IPv6)
  • Eu adicionei registros SPF, de acordo com a RFC, embora quase todas as implementações usem apenas o registro TXT
por 09.05.2009 / 08:33
1

Sim, você precisa adicionar o registro SPF específico a cada domínio individualmente.

A razão para isso é que o único registro de tipo de aliasing (útil) no DNS é o registro CNAME . No entanto, o registro CNAME faz com que o aliasing aconteça para ALL dos RRtypes em um RRset - não há como dizer " CNAME o registro SPF, mas não os MX records "

    
por 05.05.2009 / 00:35