SPF (Sender Policy Framework) кажется хорошим способом борьбы со спамерами / спуфингом.
Однако, несмотря на то, что я несколько раз прочитал объяснения, я не совсем понимаю, как его правильно настроить.
Допустим, у меня есть сервер в a.x.com
какие хосты www.x.com
и b.x.com
и c.x.com
и так далее.
у меня тоже есть a.co.uk
b.net
c.info
и так далее, каждый из них с набором субдоменов, все размещены на x.com
Для всех этих доменов и субдоменов я хочу разрешить отправку почты из a.x.com
Я также хотел бы, чтобы все они разрешили отправку почты из Gmail для всех этих доменов.
Как мне настроить это с помощью SPF?
Могу ли я установить одну запись SPF для x.com
(или a.x.com
), а затем для всего остального просто включите / указатель на x.com
запись, или это нужно сделать по-другому?
Может ли кто-нибудь предоставить записи SPF для приведенного выше примера?
Примечание: На вторую часть моего вопроса дан ответ (используйте "v=spf1 include:x.com -all
"включить / указать на x.com
рекорд), но ключевая часть того, что ставить x.com
остается без ответа ...
Вы не можете избежать изменения файлов зоны для доменов, отличных от x.com, но вы можете избавить себя от многих проблем, определив общие политики, размещенные в одном домене, и используя redirect
Ключевое слово SPF на других доменах. Пример:
x.com
домен:_policy1 IN TXT "v=spf1 a:a.x.com -all" _policy2 IN TXT "v=spf1 include:_spf.google.com a:a.x.com -all"
_spf.google.com
- это запись, содержащая запись Gmail SPF. Не уверен, задокументировано ли это. Теоретически вам следует include:gmail.com
но это перенаправление на _spf.google.com
и был по крайней мере один широко используемый патч SPF для qmail, который не следовал за ним должным образом (был исправлен в августе 2008 года, но все еще может быть развернут). Эти две политики, конечно же, являются примерами - имея более одного с различными уровнями Жесткость чрезвычайно полезна при отладке, поскольку вам нужно только изменить короткое имя в целевом домене вместо подверженного ошибкам копирования.
@ IN TXT "v=spf1 redirect=_policy1.x.com"
или
@ IN TXT "v=spf1 redirect=_policy2.x.com"
и т. д. я использую redirect
не include
, чтобы проверка SPF полностью заменила текущую оцениваемую запись той, на которую я перенаправляюсь. include
этого не делает - например, -all
в конце include
не вызывает остановку оценки (include
неправильно.) Вам следует избегать использования include
если вы хотите "псевдоним" записи SPF из другого домена, поскольку она довольно хрупкая - если вы случайно забудете завершающий -all, вы можете сделать весь свой SPF на этом домене неэффективным.
Изменить: обратите внимание, что вам нужно быть начеку, если вы хотите разрешить серверам Gmail в качестве отправителей. Чапча Gmail была взломана, что означает, что можно автоматизировать регистрацию учетных записей, что означает, что Gmail можно (косвенно) использовать в качестве открытого ретранслятора (я получаю десятки запросов на регистрацию спам-ботов в неделю для дискуссионного форума моей компании, все с использованием Адреса электронной почты gmail.com - и эти адреса действующие, я разрешил пройти несколько для проверки.) Кроме того, любой, у кого есть учетная запись Gmail, может обойти проверку SPF, если он знаком с частями uwsername адресов электронной почты в ваших доменах. .
Да, вы можете включить конфигурацию одного из ваших доменов в записи SPF для всех остальных доменов. Настройка записи SPF других доменов на следующее должно помочь:
v=spf1 include:x.com -all
Стандарт, RFC 4408, предоставляет несколько примеров, очень близких к тому, что вы хотите. Вот выдержка из файла зоны x.com:
@ IN TXT "v=spf1 a:a.x.com -all" IN SPF "v=spf1 a:a.x.com -all" www IN TXT "v=spf1 a:a.x.com -all" IN SPF "v=spf1 a:a.x.com -all"
Ноты:
Вы пробовали использовать веб-инструмент на http://www.openspf.org/? Возможно, вам будет немного легче справиться с этим ...
Просто введите свой домен в верхнем правом поле и нажмите кнопку «Пуск». Оттуда вы сможете быстро все настроить.
Да, вам нужно добавить определенную запись SPF для каждого домена отдельно.
Причина этого в том, что единственной (полезной) записью типа псевдонима в DNS является CNAME
запись. Однако CNAME
запись вызывает сглаживание для ВСЕ типов RR в RRset - нет способа сказать "CNAME
запись SPF, но не MX
записи"