LINUX.ORG.RU
ФорумAdmin

Странные глюки c SPF

 postfix spf shit


0

1

Почтарь Debian 7, Postfix, postfix-policyd-spf-python-1.3.1

Начали вылезать странные ошибки:

May 20 11:01:03 dm-proxy1 policyd-spf[12701]: spfcheck: pyspf result: "['Permerror', 'SPF Permanent Error: redirect domain has no SPF record: nicmail.ru', 'mailfrom']"
May 20 11:01:03 dm-proxy1 policyd-spf[12701]: Permerror; identity=mailfrom; client-ip=194.85.88.227; helo=relay01.nicmail.ru; envelope-from=aaa@aaa.ru; receiver=bbb@mydomain.ru 

У домена aaa.ru стоит запись SPF:

v=spf1 redirect=nicmail.ru

И у nicmail.ru всё с TXT хорошо:

v=spf1 ip4:194.85.88.224/27 ip4:195.208.3.0/24 ip4:195.208.4.0/24 ip4:195.208.5.0/24 ip4:195.208.6.0/24 ip4:212.193.224.250 ip4:212.193.224.251 ip4:212.192.194.3 ?all

Внешние проверяльщики SPF тоже не находят у них проблем, значит лажает мой проверяльщик.

Аналогично он сегодня отбросил письмо с одного домена, у которого нет редиректов и при ручной проверке проблем с SPF не было обнаружено.

Куда бежать, кого звать? :) Менять проверялку SPF?

Почитав код pyspf понял в чём дело: оно при редиректе ищет *только* DNS SPF записи, а DNS TXT не ищет:

            if redirect:
                #Catch redirect to a non-existant SPF record.
                redirect_record = self.dns_spf(redirect)
                if not redirect_record:
                    raise PermError('redirect domain has no SPF record',
                        redirect)
Это из последней версии либы - 2.0.11

А недавние изменения в RFC DNS записи типа SPF вообще упразднили, оставив только TXT.

Так что это бага в либе pyspf, он должен проверять оба типа записей.

blind_oracle ★★★★★
() автор топика

Ан нет, в функции dns_spf() есть проверка TXT записей, так что проблема в ней.

Проблема оказалась в версии 2.0.9 в дебияне. Пока грязным хаком вылечил - заменил на spf.py из версии 2.0.11

Надо писать баг в дебиян.

blind_oracle ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.