Я недавно настроил собственный почтовый сервер (сценарий postfix + dovecot на базе Linux). Это только для личного использования - у меня нет массовых рассылок, автоматически генерируемой исходящей почты от хоста, ничего подобного. Я столкнулся с трудностями, чтобы настроить все дополнительные DNS-записи электронной почты для отладки:
@ IN TXT v=spf1 +mx -all
_domainkey IN TXT o=-; r=dkim@example.com
mail._domainkey IN TXT v=DKIM1; h=sha256; k=rsa; s=email; p=deadbeef
_adsp._domainkey IN TXT dkim=all
_dmarc IN TXT adkim=s; aspf=s; fo=1; p=none; pct=100; rf=afrf; ri=86400; rua=mailto:aggrep@example.com; ruf=mailto:authfail@example.com; sp=none; v=DMARC1;
У меня есть IP-адрес, которого нет в черных списках, PTR правильно настроен, подписи DKIM проверяются отлично, я думал, все настроено правильно.
Но теперь я не могу участвовать в списках рассылки. Когда я отправляю на адрес списка, иногда сообщение попадает в черную дыру, иногда я получаю электронное письмо на свой authfail@
адрес, а в других случаях я вижу записи, которые, по моему мнению, связаны с отчетами, отправленными на aggrep@
.
Моя теория заключается в том, что политика SPF слишком строгая. Сервер рассылки почтальонов (или другой) действует как ретранслятор SMTP для моих сообщений, верно? Итак, я изменил
@ IN TXT v=spf1 +mx -all
к
@ IN TXT v=spf1 +mx ~all
сделать действие по умолчанию softfail вместо hardfail. Проблема в том, что я не хочу обходить списки спама без уважительной причины, чтобы проверить это изменение. Кто-нибудь еще был здесь раньше и может проверить / опровергнуть мою теорию?
РЕДАКТИРОВАТЬ 1:
Оглядываясь назад, и спасибо @Alex за то, что все разъяснили, я действительно не предоставил достаточно данных, чтобы сделать точную оценку. Вот пример уведомления, которое я получил на свой authfail@
адрес при попытке отправить сообщение в список рассылки:
This is a spf/dkim authentication-failure report for an email message received from IP 66.211.214.132 on Thu, 10 Jul 2014 20:58:52 +0800.
Below is some detail information about this message:
1. SPF-authenticated Identifiers: archlinux.org;
2. DKIM-authenticated Identifiers: none;
3. DMARC Mechanism Check Result: Identifier non-aligned, DMARC mechanism check failures;
For more information please check Aggregate Reports or mail to abuse@126.com.
Feedback-Type: auth-failure
User-Agent: NtesDmarcReporter/1.0
Version: 1
Original-Mail-From: <arch-general-bounces@archlinux.org>
Arrival-Date: Thu, 10 Jul 2014 20:58:52 +0800
Source-IP: 66.211.214.132
Reported-Domain: example.com
Original-Envelope-Id: w8mowEA5UUwMjr5TlWQfBA--.250S2
Authentication-Results: 126.com; dkim=fail (signature error: RSA verify failed) header.d=example.com; spf=pass smtp.mailfrom=arch-general-bounces@archlinux.org
DKIM-Domain: example.com
Delivery-Result: delivered
Мне кажется, что это ошибка подписи DKIM, но я понятия не имею, почему. Принимающий сервер пытается проверить мой Подпись DKIM против ключа сервера списков рассылки или наоборот? По какой-то причине я не ожидал, что это произойдет - я помню, что где-то читал, что в таких случаях, как этот, Relays и тому подобное иногда удаляют такие заголовки / munge, чтобы гарантировать, что эти типы сбоев не происходят?
РЕДАКТИРОВАТЬ 2:
Спасибо @Christopher Karel за ссылку на инструмент анализа отчетов DMARC на dmarcian.com. Львиная доля записей указана как экспедиторы (что имеет смысл). Есть один сервер (* .mailhop.org), указанный как «preserv [ing] DKIM» - я успешно отправил почту через один из работающих форумов на языке Ruby, и я знаю из своих исследований, что они используют mailhop.org.
В категории «Серверы, которые нарушают подписи DKIM (или создают поддельные подписи)» перечислены *.archlinux.org
, *.google.com
, *.mailhop.org
(не знаю, почему это появляется здесь, возможно, другой список, в котором я участвую, также использует их в другой конфигурации), среди прочего, и списки, в которых я был наиболее активен, - это Arch и некоторые, размещенные в группах Google, так что это имеет смысл. Всего около 400 сообщений - я не отправил так много сообщений, так что, наверное, это подсчет повторных попыток.
Я впадаю в депрессию - на данный момент, похоже, мой выбор:
Безопасность электронной почты - отстой. Так что, в конце концов, вы, вероятно, столкнетесь с решением, в котором все ваши варианты ужасны и ломают разные вещи по разным причинам.
Что касается конкретно SPF, список рассылки вызовет сбой, если он пересылает сообщение, без переписывания заголовков. Список может настраиваться для работы как угодно, поэтому хорошего общего ответа нет. Но если сообщения из списка приходят из самого списка, заголовки переписываются. Если кажется, что он исходит от отправителя, вероятно, нет. В общем, списки рассылки должен хорошо работают с SPF самостоятельно. С другой стороны, обычной пересылки почты не будет.
Что касается DKIM, любые изменения в сообщении приведут к сбою. Это почти всегда происходит со списком рассылки. Так что DKIM обычно бомбят списками рассылки. Но пересылка почты должна быть в порядке.
Вдобавок ко всему вы реализовали DMARC. По сути, это инфраструктура отчетности, основанная на DKIM и SPF. Лучше всего, если вы реализуете обе меры аутентификации, но также будет хорошо работать только с одним. Вы можете настроить DMARC для отправки запроса на удаление ваших сообщений, но, что более важно, вы можете указать адрес для получения отчетов об успехе / неудаче. Они поддерживаются большинством основных получателей электронной почты. (GMail, Hotmail, Yahoo). Это может дать вам представление о том, какие сообщения не проходят проверку SPF и почему. Используйте это, чтобы сообщить -all
против ~all
решение.
К сожалению, спецификация DMARC требует согласования между доменом отправителя и проверяемой записью SPF. В вашем случае SPF списка рассылки проверяется и проходит, но не соответствует вашему домену. Итак, DMARC бомбы. Вот ссылка от администратора списка рассылки схватки примерно столько же.
Вывод такой же, как и мое первое предложение: безопасность электронной почты - отстой. И все твои варианты тоже отстой. ИМХО, списки рассылки тоже отстой, и жизнь была бы лучше, если бы мы их заменили. ;-)
Оказывается, с моей конфигурацией все в порядке. Что происходит, так это то, что мои сообщения правильно обрабатываются почтальоном и передаются в список. Однако есть несколько получателей, которые (по какой-то уникальной для них причине) отклоняют сообщение. Потому что у меня на самом деле правильно настроенный SPF, я вижу сообщение об отказе от этих SMTP-серверов назначения, а не от самого ретранслятора списка рассылки.
Некоторые замечательные люди из сообщества Arch помогли мне разобраться с этим, поскольку у них был доступ к указанному серверу ML.
Я не смотрел часть DKIM.
Что касается записи SPF, я вижу, что в большинстве примеров используется следующее:
v = spf1 mx -all
Это описано здесь: http://www.openspf.org/SPF_Record_Syntax
Однако "+ mx" также должен быть правильным в соответствии с RFC 7208 (спасибо Крису за указание на это). Может, стоит попробовать ...
Я действительно не знаю, что предложить иначе ... дважды проверьте все свои записи DNS (A / PTR / MX). Вы, наверное, уже это сделали. Знание фактического доменного имени может помочь людям в устранении неполадок - по крайней мере, если это связано с DNS.