22 сентября 2016 г. 20:17
Написал soar

SPF или не SPF

Можно долго рассуждать о том, насколько медленно развиваются основополагающие технологии. Особенно, если сравнивать их с технологиями, которые на них базируются. Пока IT-индустрия несётся вперёд сломя голову - черепаха, на которой всё держится, не ползёт, а стоит на месте. Но сейчас не об этом.

Не буду много писать и о том, кто и зачем придумал SPF записи в DNS. Статья на Википедии покрывает тему более чем полностью.

Но вот что интересно. Существует RFC4408 с подробным описанием технологии. Не одна страница здесь уделена тому, как нужно проверять почту, и лишь вскользь нам сообщают:

12.1. The SPF DNS Record Type
The IANA has assigned a new Resource Record Type and Qtype from the
DNS Parameters Registry for the SPF RR type with code 99.

И немного выше:

An SPF-compliant domain name SHOULD have SPF records of both RR
types. A compliant domain name MUST have a record of at least one
type. If a domain has records of both types, they MUST have
identical content. For example, instead of publishing just one
record as in Section 3.1 above, it is better to publish:
example.com. IN TXT "v=spf1 +mx a:colo.example.com/28 -all"
example.com. IN SPF "v=spf1 +mx a:colo.example.com/28 -all"

Что это значит? Что хорошо бы иметь две одинаковые записи. Использование TXT-записи почему-то названо неоптимальным, хотя оно покрывает потребности более чем.

Понадобилось не много не мало, а 8 лет, чтобы в 2014-ом появился RFC7208. Наконец-то нам пишут о том, что SPF-записи являются рудиментарными и не должны использоваться.

3.1. DNS Resource Records
SPF records MUST be published as a DNS TXT (type 16) Resource Record
(RR) [RFC1035] only. The character content of the record is encoded
as [US-ASCII]. Use of alternative DNS RR types was supported in
SPF's experimental phase but has been discontinued.

Что ж, выходит теперь можно праздновать победу здравого смысла? Попробуем сейчас, в 2016-ом году запустить достаточно свежий BIND 9.9.5:

$ named-checkconf -z /etc/bind/named.conf
zone example.com/IN: 'example.com' found SPF/TXT record but no SPF/SPF record found, add matching type SPF record

Браво, что еще можно сказать. И это сервер, который считается чуть-ли не более авторитетным, чем сам стандарт.

Добавлю к этому, что многие DNS-as-a-Service предоставляют возможность прописать разные записи в TXT и SPF. Как в таком случае оно будет работать - одному богу известно.

Какое моё мнение? SPF, DKIM, DMARC - это всё костыли, которыми подпирают морально устаревшую технологию. Электонную почту давно пора отправить на свалку истории. Возможно вместе с технологией разрешения доменных имён. Но о ней - в другой раз.

PS: Что об этом думает Windows 7? А ничего:

C:\Windows\System32>nslookup -type=SPF example.com
unknown query type: SPF

Остается только гадать - они уже убрали поддержку SPF в обновлениях или вообще не внедряли её.

Комментарии