пятница, 30 марта 2012 г.

Создание SPF записи для собственного почтового домена

SPF(Sender Policy Framework) - это расширение протокола SMTP, помогающее проверить достоверность домена отправителя почты. SPF позволяет владельцу домена указать в TXT записи, соответствующей имени домена, специальным образом сформированную строку, указывающую список серверов, имеющих право отправлять сообщения с обратными адресами в этом домене. Агенты передачи почты получающие почтовые сообщения могут запрашивать SPF-информацию с помощью простого запроса, верифицируя таким образом сервер отправителя.
Строка записи формируется по следующим критериям:
- в начале идет версия протокола: v=spf1;
- далее через пробел, и предваряя знаками операций, следуют элементы по которым производится проверка достоверности: a, mx, ip4 и т.д.;
- в конце обычно строка завершается элементом all, означающим все остальные узлы, не перечисленные ранее.

Операции могут быть следующего типа:
+ - запись говорит, что от данных хостов почту следует принять;
- - "строгое отрицание", запрещает принимать почту от данных хостов;
~ - "мягкое отрицание", почта может быть принята на ваше усмотрение;
? - запись ничего не может сказать о валидности данного отправителя, обычно используется в тестовых целях.
Отсутствие оператора перед элементом означает "+" !!!

Разновидности элементов:
all - все узлы;
ip4:x - хост с адрессом "x" по протоколу ipv4;
ip4:x/y - подсеть "x" с маской "y";
ip6:x - хост с адрессом
"x" по протоколу ipv6;
ip6:x/y - подсеть "x" с маской "y";
a - поиск совпадения записи в DNS типа A с доменом отправителя;

a/y - тоже самое, но сюда входит и вся подсеть хоста с заданной маской "y";
a:x - тоже самое, но можно указать иной домен "x";
a:x/y - явное указание домена "x" и длины маски "y";
mx - аналогично, только производится поиск по типу записи MX в домене отправителя(сюда же можно отнести: mx/y; mx:x; mx:x/y;
ptr - проверка записи в реверсивной зоне, совпадает ли ip отправителя с доменом, которым он представляется;
ptr:x - тоже самое, но можно явно указать домен "x" для проверки на реверсивную запись;
exists:x - запрос A записи домена "x", проверка на существование, сама запись не обязательна должна совпадать с адресом сервера отправителя;
include:x - поиск другой SPF записи в указанном домене "x", её отсутствие не критично.

Небольшой пример: "v=spf1 a/24 a:offsite.example.com/24 -all"
Пояснение: Если отправитель представился пользователем домена example.com(например admin@example.com), то его письмо будет принято лишь в том случае, если сервер, отправляющий сообщение, находится в одной подсети(маска 255.255.255.0) с хостом, имеющим запись "same as parent folder"типа A в зоне example.com ИЛИ в одной подсети с хостом, имеющим запись "same as parent folder"типа A в зоне offsite.example.com.

Комментариев нет:

Отправить комментарий