Использование нескольких A-записей в одном SPF a: name

Допустим, моя запись SPF выглядит так:

v = spf1 a: spf.example.com -all

И записи для spf.example.com выглядит так:

spf.example.com A 12.12.12.12
spf.example.com A 12.42.66.12
spf.example.com A 12.16.48.12
spf.example.com A 12.73.23.12
spf.example.com AAAA 2001:0db8:85a3:0000:0000:8a2e:0370:1001
spf.example.com AAAA 2001:0db8:85a3:0000:0000:5a1e:1288:1001
spf.example.com AAAA 2001:0db8:85a3:0000:0000:3b2e:5241:1001
spf.example.com AAAA 2001:0db8:85a3:0000:0000:2f2e:8361:1001

Все эти IP-адреса будут проверены SPF? Если да, то есть ли ограничения на количество A-записей для одного имени? Мне кажется, что ни один из крупных провайдеров, таких как Google или Outlook, не использует этот метод. Это потому, что это плохая практика?

Почему я задаю этот вопрос: я предполагаю, что этот метод лучше, чем использование нескольких включений, из-за ограничения в 10 запросов DNS для записей SPF. При использовании этого метода потребуется только 1 поиск DNS, поэтому я думаю, это ускорит процесс, И вы никогда не достигнете предела в 255 символов в TXT-записи для SPF.

0
задан 8 January 2019 в 17:55
1 ответ

Когда вы используете механизм a в SPF, это означает, что все адреса, найденные при поиске соответствует семейству адресов, используемому клиентом. То есть, если клиент подключился через IPv4, выполняется поиск A , если клиент подключился через IPv6, выполняется поиск AAAA .

С точки зрения общей DNS, предел количество записей для одного имени не является установленным числом, а скорее ограничением общего размера сообщения при отправке ответа. Вы не можете растянуть все это так далеко.

Вполне может быть какая-то золотая середина, где то, что вы описываете, могло бы послужить полезным трюком, но если вы посмотрите на крупных провайдеров, у них часто есть большие пулы адресов, которые они используют за свои услуги. Они указывают префиксы адресов (возможно с механизмами SPF ip4 и ip6 ) вместо того, чтобы делать что-либо, связанное с перечислением отдельных адресов (как в случае A или AAAA записей, к чему приведет механизм a ) быстро становится НАМНОГО большей экономией.

Если мы посмотрим на один из упомянутых вами примеров, а именно на Google, мы бы сейчас увидели :

_spf.google.com.        300     IN      TXT     "v=spf1 include:_netblocks.google.com include:_netblocks2.google.com include:_netblocks3.google.com ~all"

_netblocks.google.com.  3600    IN      TXT     "v=spf1 ip4:35.190.247.0/24 ip4:64.233.160.0/19 ip4:66.102.0.0/20 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:74.125.0.0/16 ip4:108.177.8.0/21 ip4:173.194.0.0/16 ip4:209.85.128.0/17 ip4:216.58.192.0/19 ip4:216.239.32.0/19 ~all"

_netblocks2.google.com. 3600    IN      TXT     "v=spf1 ip6:2001:4860:4000::/36 ip6:2404:6800:4000::/36 ip6:2607:f8b0:4000::/36 ip6:2800:3f0:4000::/36 ip6:2a00:1450:4000::/36 ip6:2c0f:fb50:4000::/36 ~all"

_netblocks3.google.com. 3600    IN      TXT     "v=spf1 ip4:172.217.0.0/19 ip4:172.217.32.0/20 ip4:172.217.128.0/19 ip4:172.217.160.0/20 ip4:172.217.192.0/19 ip4:108.177.96.0/19 ip4:35.191.0.0/16 ip4:130.211.0.0/22 ~all"

Это означает, что для обычного пользовательского домена требуется четыре поиска, чтобы указать:

  • 256 + 8192 + 4096 + 4096 + 16384 + 65536 + 2048 + 65536 + 32768 + 8192 + 8192 + 4096 + 8192 + 4096 + 8192 + 8192 + 65536 + 1024 = 314624 адрес IPv4
  • 4951760157141521099596496896 + 4951760157141521099596496896 + 4951760157141521099596496896 + 4951760157141521099596496896 + 4951760157141521099596496896 + 4951760157141521099596496896 = +29710560942849126597578981376 IPv6-адрес
1
ответ дан 4 December 2019 в 15:47

Теги

Похожие вопросы