check-spf-inbound

<source>

Проверять ли SPF у почты, которую подают нам
в конфигурации это строкаcheck-spf-inbound falseвнутри блока <source>
Проверка чужой почты на входе

Обратная сторона check-spf-outbound: та проверяет нашу исходящую почту, эта — чужую входящую. Узел сверяет адрес, с которого пришло письмо, с записью SPF домена его отправителя и добавляет к письму заголовок с результатом проверки.

Сама по себе она ничего не отвергает. Результат только записывается в заголовок. Отказом на неудачную проверку управляют три отдельные строки: reject-spf-check-fail, reject-spf-check-permerror и reject-spf-check-temperror — и все три по умолчанию отвергают.

Отсюда порядок: включив проверку, вы сразу включаете и отказы. Умолчание строки — «не проверять», и это единственное, что удерживает узел от отказов на входе.

Главная ловушка — включение сразу включает три отказа. Строка выглядит наблюдательной: «проверить и записать результат». Но три строки отказа уже стоят в положении «отвергать», и первое же письмо с неудачной проверкой будет отвергнуто. Если через этот источник подаёт почту ваше же приложение, а запись SPF не готова — подача встанет.
Что делает Хаб. Не пишет: узлы принимают почту только от самого Хаба, и проверять её записью SPF смысла нет — подающий известен по адресу источника. Строка понадобится, если узел начнёт принимать почту извне.
Рекомендуемые значения

Включайте вместе с решением об отказах. Три строки отказа по умолчанию отвергают; если нужно только наблюдение, их надо явно перевести в положение «не отвергать».

Наблюдение — разумный первый шаг. Неделя с записанными результатами и без отказов покажет, что вы отвергнете, когда включите.

Для своих источников проверка избыточна. Подающий известен по адресу; запись SPF отвечает на вопрос, который уже решён.

Совет начинать с наблюдения — наш. Из руководства здесь умолчание, добавление заголовка с результатом и умолчания трёх строк отказа.
Пример в конфигурации
# сначала только наблюдаем: проверяем, но не отвергаем
<source 10.0.0.0/8>
    check-spf-inbound true    reject-spf-check-fail false
    reject-spf-check-permerror false
    reject-spf-check-temperror false
</source>
Без трёх строк ниже включение проверки сразу начнёт отвергать письма: их умолчание — отвергать.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

Типичные ошибки и проблемы

что делают не так и чем это кончается2 ошибки▶

Включают проверку, не тронув строки отказа

наш опыт

Чем чреватоВсе три отвергают по умолчанию. Письмо с неудачной проверкой отклоняется тем же соединением, и если подаёт ваше же приложение — подача встаёт.
Как заметитьПосле включения приложение получает отказы на команде отправителя.
Как правильноПервую неделю держать три строки отказа выключенными и смотреть заголовки.

Включают для своих источников

наш опыт

Чем чреватоПодающий уже известен по адресу источника, а запись SPF отвечает на тот же вопрос через DNS. Пользы нет, зато появляется зависимость подачи от чужого резолвера.
Как заметитьПроверка включена в блоке источника с адресами своих машин.
Как правильноОставить проверку внешним источникам.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
check-spf-inbound <boolean>
Значения
yes или no; true и false принимаются наравне с ними
Умолчание
false § 3.3.7.22
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<source>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Значение задаётся в блоке <source> и действует на почту, поданную подходящим источником; при нескольких подходящих блоках выигрывает наиболее точный. Подхватывается по pmta reload; на открытые соединения не влияет.
⇄

Связанные директивы

4 связи

Как проверить на узле
Значение задаётся в конфигурации источника; результат виден в заголовке письма, который добавляет узел:
grep -n check-spf-inbound /etc/pmta/config
grep -i 'Authentication-Results' /var/log/pmta/pmta.log | tail -5
Заголовок с результатами проверок добавляется при включении и остаётся в письме — по нему и смотрят, что показала проверка. Хаб этой строки не пишет.
В Хабе
Цена ошибки
опасно: последствия переживут откат
Сценарии
Приём входящей почты · Безопасность узла