Вопрос или проблема
Если я правильно понимаю DKIM, это по сути сервис с использованием открытого/закрытого ключа. Однако как это работает, если вы отправляете сообщения с нескольких серверов/источников? Например, у меня есть разделенный домен, с которого я отправляю некоторые сообщения (под тем же доменом) с хостинг-сервера Exchange и некоторые с аккаунта общего хостинга cPanel. Более того, я разрешил некоторым сообщениям отправляться третьими сторонами (сервисом биллинга, сервисом маркетинговой электронной почты и т. д.), чтобы они могли отправлять от моего домена. Еще хуже то, что некоторые из этих сервисов даже не предоставляют поддержку DKIM. Мои записи SPF правильные, но я также хочу настроить DKIM (поскольку в данный момент Google помечает многие мои электронные письма как спам, и, очевидно, требуется включить DKIM, чтобы вещи начали работать плавно с их стороны). Буду признателен за любую помощь. Спасибо!
П.С. Если я смогу включить DKIM на некоторых серверах, которые я использую, приведет ли это к тому, что сообщения, отправленные без DKIM-подписей, будут отмечены? Например, всегда ли входящие почтовые серверы будут запрашивать мой домен для получения открытого ключа DKIM, и если они не найдут DKIM-подпись в заголовке, то электронная почта будет потенциально отмечена или отклонена?
Объяснение
Цель DKIM состоит в том, чтобы подписывать заголовки и тело сообщения, позволяя проверить происхождение сообщения и то, что оно не было изменено. Лучшая репутация в некоторых фильтрах спама — это всего лишь побочный продукт, а не основная причина внедрения DKIM.
Для разрешения подписания DKIM для одного и того же домена с нескольких систем без обмена закрытыми ключами DKIM использует селекторы (RFC 5376, 3.1): заголовок подписи имеет тег s=someselector
, который используется в запросе DNS для открытого ключа, someselector._domainkey.example.com. TXT
.
-
Поскольку селектор может быть любым, он позволяет добавлять подписи на нескольких сервисах, если они не используют пересекающиеся названия селекторов. Некоторые сервисы имеют плохие реализации, использующие фиксированные имена селекторов: например, Microsoft 365 всегда использует
selector1
иselector2
, в то время как G Suite позволяет вам изменять селектор и по умолчанию использоватьgoogle
. -
Использование селекторов имеет недостаток: слабость DKIM заключается в том, что его можно использовать только для валидации сообщений, которые были подписаны, но он сам по себе не имеет метода, чтобы определить, должны ли сообщения быть подписаны или нет: если почтовый сервер получает почту без подписи, он не может проверить, есть ли у DNS ключи DKIM, потому что он не знает адреса. С этой точки зрения, также вполне приемлемо подписывать сообщения из некоторых источников, но оставлять некоторые сообщения без подписей, что и было вашим вопросом.
DMARC — это технология, которую вы можете использовать, чтобы указать, что сообщения должны быть либо подписаны заголовком DKIM с выравниванием, либо проходить SPF с выравненным отправителем конверта. Это также можно использовать для получения информации о том, проходят ли сообщения, отправленные с вашего домена как адрес From
, DMARC или нет, и соответствуют ли они SPF, DKIM или обеим.
Хотя ответ yagmoth555 может быть одним из решений вашей проблемы и очень подходящей альтернативой, это не типичное решение. Более важно, из-за описанных выше причин, нет необходимости следовать этому пути, чтобы начать внедрение DKIM.
Предложения
- Включите подписывание DKIM для тех сервисов, которые вы можете, и не забудьте добавить записи DNS.
- Не беспокойтесь о сервисах, которые на данный момент не имеют возможности подписания DKIM. Вы можете начать предлагать или требовать, чтобы они вскоре добавили эту функциональность. Если они получат такую обратную связь от клиентов, они могут понять, что их конкуренты могут опередить их.
- Добавьте политику DMARC с
p=none
иrua=mailto:[email protected]
, чтобы получать отчеты о том, как обстоят дела. Это позволяет вам спокойно настраивать системы: вы можете продолжать реализации DKIM, переключаться на системы, которые поддерживают DKIM, или начинать отправлять несовместимые сообщения с другим доменомFrom
. Как только все ваши законные письма начнут проходить тесты DMARC, вы можете перейти на более строгую политику DMARC.
Вы можете использовать облачный сервис, который позволит вам использовать его для отправки электронной почты для всех ваших сервисов (умный хост).
Вы включаете DKIM в этой центральной точке.
Я настраивал это для клиента. Затем вы позволяете всем вашим другим провайдерам отправлять через него. В моем случае я использовал безопасность электронной почты TrendMicro, которая позволяет выполнять входящее сканирование, а также исходящее сканирование и подпись DKIM.
Ответ или решение
Как работает DKIM при отправке электронной почты с нескольких источников или серверов?
DomainKeys Identified Mail (DKIM) представляет собой метод, который используется для обеспечения подлинности и целостности электронной почты. Он применяет криптографические подписи к заголовкам и тексту письма, позволяя получателям проверить, что сообщение действительно пришло от указанного отправителя и не было изменено в процессе передачи. В вашем случае, когда вы используете несколько серверов и разрешаете сторонним сервисам отправлять почту от вашего домена, интеграция DKIM окажется весьма полезной, но она также требует внимания к нескольким ключевым аспектам.
Основные принципы работы DKIM:
-
Публичный и частный ключ: DKIM использует пару ключей для подписания и проверки. Отправляющий сервер генерирует уникальную подпись, используя собственный частный ключ. Публичный ключ хранится в DNS-записях вашего домена.
-
Селекторы: Когда сообщение подписывается, в заголовке добавляется тег
s=
, указывающий на селектор. Селектор служит связующим звеном между подписью и соответствующей публичной записью в DNS. Это позволяет вам использовать разные ключи для разных отправляющих серверов или услуг без необходимости в общем частном ключе.
Как это работает с несколькими серверами:
При отправке почты с нескольких источников, таких как ваш Exchange-сервер и cPanel, вы можете настроить DKIM с помощью различных селекторов. Например, вы можете настроить следующий процесс:
-
Для вашего Exchange-сервера: Сгенерируйте пару ключей и укажите селектор, например,
exchange1
. Добавьте публичный ключ в DNS:exchange1._domainkey.yourdomain.com
с соответствующей TXT записью. -
Для вашего cPanel-хостинга: Сделайте то же самое, но с другим селектором, например,
cpanel1
. -
Сторонние сервисы: Если хотите, чтобы сторонние сервисы могли отправлять почту от вашего домена, попросите их использовать собственные селекторы и предоставить вам соответствующие публичные ключи для добавления в DNS.
Работа с сервисами без поддержки DKIM:
Если некоторые из ваших сторонних сервисов не поддерживают DKIM, это не создаст проблем для уже подписанных сообщений. DKIM работает только на тех сообщениях, которые подписаны. Не подписанные сообщения не могут быть проверены с использованием DKIM, поэтому они не будут автоматически помечены как спам только из-за отсутствия DKIM-подписей.
Тем не менее, если у вас есть настройки DMARC, это может повлиять на обработку писем. DMARC позволяет вам указать, как обрабатывать сообщения, которые не проходят проверку DKIM или SPF, что может привести к тому, что не подписанные сообщения будут более подозрительными для некоторых почтовых систем.
Переход к DMARC:
Рекомендуется внедрить политику DMARC с режимом p=none
, чтобы начать собирать отчеты о том, как ваши сообщения проходят через проверки DKIM и SPF. Это поможет вам понять, какие отправляющие системы могут требовать дополнительного внимания или смены.
Рекомендации по внедрению:
-
Включите DKIM для всех доступных сервисов: Настройте DKIM для всех серверов, которые поддерживают эту функцию, и проверьте корректность DNS-записей.
-
Прозарите сторонникам необходимость в DKIM: Сообщите сторонним сервисам о важности внедрения DKIM-подписей и, возможно, они добавят эту функциональность.
-
Мониторинг через DMARC: Настройте DMARC для отслеживания результатов, анализируя отчеты, чтобы определить, какие сообщения не проходят проверки.
-
Альтернативные решения: Рассмотрите возможность использования облачного сервиса или смарт-хоста для единой отправки сообщений с централизованным DKIM-подписанием.
Таким образом, правильно реализуемая стратегія DKIM позволит вам повысить репутацию вашего домена и улучшить доставляемость почты, даже если часть ваших отправлений осуществляется без DKIM-подписей.