Introdução
Este documento descreve como o registro SPF recomendado pela Cisco para clientes hospedados em CES funciona.
Requisitos
- Entendimento básico de como o DNS funciona.
Importância das macros SPF
O registro recomendado pela Cisco usa uma macro SPF definida na RFC7208 Seção 7. A macro é usada nesse caso para reduzir a quantidade de pesquisas de DNS que seriam necessárias para permitir que os dispositivos CES passem na verificação SPF. Isso é importante porque o SPF limita a quantidade de pesquisas de DNS por verificação de SPF a 10 de acordo com a RFC7208 Seção 4.6.4. Se mais de 10 pesquisas de DNS forem necessárias, o resultado da verificação de SPF será permerror. Isso pode não ser um problema, mas se mais ESAs hospedados forem provisionados, mais pesquisas de DNS serão necessárias.
Você pode adicionar o endereço IP de cada ESA hospedado ao registro SPF. Isso não exigirá nenhuma pesquisa adicional de DNS durante a verificação de SPF. No entanto, a desvantagem disso é que você precisa alterar o registro SPF sempre que novos ESAs forem provisionados ou quando o endereço IP de um ESA existente for alterado. O registro SPF que a Cisco recomenda não exige nenhum gerenciamento de sua parte após a adição do registro.
registro SPF explicado
Veja a seguir um exemplo do registro SPF:
$ dig acme.com txt +short
"v=spf1 exists:%{i}.spf.acme.iphmx.com ~all"
Note: A parte "acme" desse registro SPF é considerada o nome da alocação. O cluster hospedado do CES tem um nome de alocação exclusivo e deve ser usado no lugar de "acme" se você adicionar esse registro SPF ao DNS.
Neste registro SPF, a macro "%{i}" é usada. Essa macro é usada como uma variável que é substituída pelo endereço IP do host de conexão quando ocorre a verificação SPF. Por exemplo, se 192.168.0.1 for o host de envio, o nome de host "%{i}.spf.acme.iphmx.com" será expandido para "192.168.0.1.spf.acme.iphmx.com."
O mecanismo "exists" é definido na RFC7208 Seção 5.7 e corresponderá se o nome de host "%{i}.spf.acme.iphmx.com" tiver um registro A no DNS. Por exemplo, digamos que 192.168.0.1 seja o host de envio novamente. O nome de host "%{i}.spf.acme.iphmx.com" se expandiria para "192.168.0.1.spf.acme.iphmx.com" e o host de verificação faria a seguinte pesquisa de DNS:
$ dig 192.168.0.1.spf.acme.iphmx.com a +short
127.0.0.2
Observação: o domínio iphmx.com é gerenciado pela Cisco. Por causa disso, somente a Cisco pode adicionar/remover/modificar registros DNS para esse domínio, como o registro acima. Isso significa que você não precisa adicionar esses registros sempre que novos ESAs forem provisionados para o cluster CES. É responsabilidade da Cisco garantir que esses registros sejam adicionados e corretos.
Como o endereço IP 127.0.0.2 foi retornado, o mecanismo exists corresponderia e o resultado da verificação SPF seria pass.
Digamos que o host emissor seja 10.0.0.1. O nome de host "%{i}.spf.acme.iphmx.com" se expandiria para "10.0.0.1.spf.acme.iphmx.com" e o host de verificação faria a seguinte pesquisa de DNS:
$ dig 10.0.0.1.spf.acme.iphmx.com a +short
$
Como nenhum resultado foi retornado, o mecanismo exists não corresponderia e o resultado da verificação SPF seria softfail.
Informações adicionais
A tecnologia SPF pode ser complexa, dependendo da quantidade de hosts que você gostaria de autorizar a retransmitir e-mails para o seu domínio. Se os equipamentos hospedados no CES forem os únicos hosts autorizados a retransmitir e-mails para o seu domínio, o registro acima funcionará muito bem para você. Caso contrário, você terá que modificar o registro SPF que fornecemos para que ele autorize todos os hosts necessários.
Se você tiver um registro SPF existente, "exists:%{i}.spf.acme.iphmx.com" poderá ser adicionado a esse registro SPF.