Как получить SPF-запись длиной более 255 символов?

16

Итак, у меня сложилось впечатление, что отдельные записи SPF должны были уместиться в 255 символов или использовать includeоператор для связывания нескольких записей, образующих цепочку. Однако RFC 4408 3.1.3. в частности, говорится, что несколько строк должны быть объединены перед оценкой, поэтому IN TXT "v=spf1" " 1.2.3.4 -all"должны обрабатываться так же, как IN TXT "v=spf1 1.2.3.4 -all". Примечательно, что это позволяет создавать произвольно большие записи SPF и includeстановится инструментом для включения записи SPF, которой кто-то еще управляет.

Это правильная интерпретация спецификации? Что еще более важно, будут ли существующие почтовые серверы учитывать этот многострочный тип записи TXT?

Дуэйн
источник

Ответы:

20

Да, вы правильно интерпретируете. Я недавно имел дело с этим.

Эта статья была полезна для меня:

Могу ли я иметь запись TXT или SPF длиннее 255 символов?

Примечательным примером этой концепции на практике будет запись SPF для cisco.com от 25.02.2016:

> ;; QUESTION SECTION: ;cisco.com.                     IN      TXT
> 
> ;; ANSWER SECTION: cisco.com.              12775   IN      TXT    
> "926723159-3188410" cisco.com.              12775   IN      TXT    
> "v=spf1 ip4:173.37.147.224/27 ip4:173.37.142.64/26
> ip4:173.38.212.128/27 ip4:173.38.203.0/24 ip4:64.100.0.0/14
> ip4:72.163.7.160/27 ip4:72.163.197.0/24 ip4:144.254.0.0/16
> ip4:66.187.208.0/20 ip4:173.37.86.0/24" " ip4:64.104.206.0/24
> ip4:64.104.15.96/27 ip4:64.102.19.192/26 ip4:144.254.15.96/27
> ip4:173.36.137.128/26 ip4:173.36.130.0/24 mx:res.cisco.com
> mx:sco.cisco.com ~all" cisco.com.              12775   IN      TXT    
> "MS=ms65960035"

Просто убедитесь, что вы учитываете пробелы в записях, как вы уже указали.

Кроме того, имейте в виду, что вам нужно ограничить количество поисков DNS до 10 в ваших записях в соответствии с SPF RFC :

Реализации SPF ДОЛЖНЫ ограничивать число механизмов и модификаторов, которые выполняют поиск DNS, максимум 10 для каждой проверки SPF, включая любые запросы, вызванные использованием механизма «include» или модификатора «redirect». Если это число превышено во время проверки, ДОЛЖНА быть возвращена PermError.

погладить
источник
1
По крайней мере, по состоянию на 2019-02-27 Cisco больше не использует многострочные записи TXT для SPF, но использует цепочку записей SPF с использованием операторов include. Для тех, кто заинтересован, цепочка записей объясняется здесь: help.blacknight.com/hc/en-us/articles/… .
GHH