Назад | Перейти на главную страницу

Как настроить SPF для нескольких доменов на сервере? (также разрешает Gmail в качестве отправителя)

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"

Ноты:

  • Я не добавил почтовые серверы Gmail, потому что я их не знаю, спросите у людей Gmail
  • 'a' означает 'адрес' (это не запись DNS A, она включает IPv6)
  • Я добавил записи SPF согласно RFC, хотя почти все реализации используют только запись TXT.

Вы пробовали использовать веб-инструмент на http://www.openspf.org/? Возможно, вам будет немного легче справиться с этим ...

Просто введите свой домен в верхнем правом поле и нажмите кнопку «Пуск». Оттуда вы сможете быстро все настроить.

Да, вам нужно добавить определенную запись SPF для каждого домена отдельно.

Причина этого в том, что единственной (полезной) записью типа псевдонима в DNS является CNAME запись. Однако CNAME запись вызывает сглаживание для ВСЕ типов RR в RRset - нет способа сказать "CNAME запись SPF, но не MX записи"