Обнаружено dkim нарушение что это
Отправляем почту: что такое SPF, DKIM и DMARC
Ресурсные записи
Ресурсные записи DNS (или DNS-записи домена) – это записи, которые в системе доменных имен указывают соответствие между именем и служебной информацией.
Проще говоря, ресурсные записи связывают имя и служебную информацию о сервере, на который указывает это имя. Например, вы вводите адрес сайта в браузере – и именно DNS-запись позволит вашему провайдеру отправить запрос на сервер с нужным вам сайтом, чтобы затем отобразить его на экране вашего компьютера.
В этой статье мы остановимся на элементах ресурсных записей, связанных с почтовыми отправлениями: SPF, DKIM, DMARC. И для начала разберемся в том, с какими проблемами могут столкнуться те, кто хочет сделать свою рассылку.
Мое письмо ушло в спам
Настройка ресурсных записей дает возможность если не исключить, то хотя бы максимально уменьшить вероятность попадания вашего письма в спам.
Именно настройка SPF-записи защищает домен от несанкционированного использования. Это не позволяет допустить ситуации, когда от имени вашего домена будут рассылаться мошеннические письма.
Поэтому почтовые службы обращают внимание на SPF-запись, а также DKIM и DMARC, о которых будет рассказано далее.
Обязательно проверьте SPF-запись, если письма, отправленные при помощи функции PHP mail(), попадают в спам.
Как настроить SPF
SPF настраивается как TXT-запись для домена.
Если ваш домен расположен на нашем хостинге (и для него указаны NS-серверы Timeweb), то смело обращайтесь в службу поддержки, наши специалисты помогут вам настроить SPF-запись.
Клиентам с другими NS-серверами необходимо обращаться к держателю NS-серверов.
DKIM позволяет значительно облегчить идентификацию законной, правомочной электронной почты.
Технология DomainKeys позволяет передавать через DNS открытые ключи шифрования и затем автоматически проверять подпись на стороне получателя письма. Подпись в виде скрытого кода добавляется в письмо, а затем подтверждает получателю, что письмо отправлено именно с того домена, который указан.
Настройки SPF и DKIM подтверждают, что отправитель письма определен и не является мошенником.
Как настроить DKIM
Информация о DKIM есть в нашем справочном центре в статье « Настройка DNS-записей ».
Если вы используете почту Timeweb, то DKIM-подпись создается автоматически: все необходимые настройки автоматически прописываются в тот момент, когда вы создаете первый почтовый ящик на своем домене.
DMARC
SPF и DKIM – это хорошие и надежные методы аутентификации отправителя, но они имеют свои недостатки, поэтому была разработана открытая спецификация использования DMARC.
Изначально технология DMARC применялась в Gmail; в данный момент она работает в сервисах Facebook, LinkedIn, Hotmail, Yahoo!, Mail.ru, Яндекс.Почта и других принимающих узлах, которые используют данную технологию.
DMARC позволяет идентифицировать почтовые домены отправителя, основываясь на признаках и правилах, которые заданы на сервере адресата. Стандарт DMARC для принимающих узлов устанавливается в соответствии с механизмами SPF и DKIM, то есть как бы объединяет эти два механизма. И на всех принимающих узлах, поддерживающих эту технологию, будут выдаваться единые результаты.
DMARC дает возможность проверить, соответствует ли домен в заголовке (адрес отправителя) идентификаторам SPF и DKIM. Для того, чтобы письмо прошло проверку, идентификатор должен соответствовать домену, указанному в поле “From” («от»).
Как настроить DMARC
Почтовый сервис Timeweb использует только SPF/DKIM. Но DMARС-запись может быть указана для домена, если домен должен быть настроен для стороннего почтового сервиса, использующего эту спецификацию.
Для настройки DMARC нужно добавить доменную запись в DNS-настройки.
Пример самой простой записи, позволяющей включить режим мониторинга (выполнить тест DMARC и сохранить его результат):
Такая запись позволить защитить письма, которые будут отправлены от домена timeweb.com, а также от поддоменов (например, mail.timeweb.com).
В этом случае если проверка на стороне получателя покажет, что домен в заголовке “From” соответствует указанному в доменной записи DMARC, то письмо пройдет проверку и попадет в почтовый ящик адресата.
Общие рекомендации
В этой статье советы по настройке почтовых отправлений касаются только SPF, DKIM и DMARC, однако только этими настройками они не ограничиваются. Мы рекомендуем прочитать в нашем справочном центре статью « Рекомендации для рассылок », где рассказывается об общих правилах рассылок, которые обязательно нужно иметь в виду.
Если у вас есть какие-нибудь вопросы, задавайте в комментариях, будем рады помочь!
Что такое DKIM подпись: все, что нужно о ней знать
Что значит DKIM – подпись?
Внешне DKIM подпись выглядит так:
В этом рандомном (на первый взгляд) наборе цифр, букв и математических знаков скрыт тайный смысл, который разшифровывается следующим образом:
Зачем нужна DKIM подпись?
DKIM защищает от интернет-преступлений
На уровне почтового сервера заменить адрес отправителя – проще пареной репы. Этим часто промышляют мошенники. Выдав себя за компанию с хорошей репутацией, они прикарманивают личные данные и деньги пользователей. Этот процесс называется фишингом, и считается популярным видом интернет-преступления.
DKIM улучшает репутацию домена
Уровень доверия к отправителю влияет на Open Rate. Open Rate влияет на репутацию домена. Настроенный DKIM репутацию домен «обеляет».
По подписи сервер-получатель определяет не только подлинность, но и его общий рейтинг отправителя. Если подписи нет – кредит лояльности к домену уменьшается, как и вероятность доставки сообщения.
Скрывает домен отправителя (при использовании email сервисов для рассылок)
Визуально это выглядит следующим образом:
Эта опция дополнительная, но выгодная для интернет-магазинов. «Палиться», что каждое индивидуальное предложение создано автоматически в рамках массовой рассылки через email сервис не хочется. DKIM подпись в этом случае выручает 🙂
Как работает DKIM?
Условно, сфера влияния DKIM делится на 2 части: то, что происходит на сервере-отправителе, и то, что происходит на сервере-получателе. Всем процессом заправляют приватный и публичный ключ.
Приватный ключ (private key) – секретный уникальный код, который хранится под семью печатями на сервере или под надзором email сервиса.
Этап #1: на сервере-отправителе.
При отправке каждое сообщение подписывается цифровой подписью, используя ваш приватный ключ DKIM. Он прячется в заголовке письма, и выглядит примерно так (см.пункт «Подписан» на рисунке). В графе должно находиться имя домена-отправителя: по нему происходит идентификация.
Этап #2: на сервере-получателе.
Затем делает запрос в своеобразную библиотеку доменных имен – DNS: подлинный ли домен отправителя?
Ответ положительный – email не меняется и идет дальше в почтовый ящик получателя. Если нет – отправляется в СПАМ.
Как настроить DKIM подпись?
Каждый сервис рассылок имеет свою процедуру настройки DKIM подписи. Обычно их можно найти в инструкциях, справочниках или мануалах. В Estismail, к примеру, это “Настройка DKIM записи на домене”. Если у вас возникают вопросы – спрашивайте в службы поддержки.
Как проверить DKIM?
Почтовые сервисы делают проверку DKIM незаметно для пользователя. Некоторые же, не скрывают работу в этом направлении: Google подтверждает надежность отправителя знаком ключа возле адреса:
Включить поддержку этой функции можно в Настройки (Settings)→ Лаборатория (Labs)→ «Значок проверенного сообщения» (Authentication icon for verified senders).
Главное, что нужно сделать, чтобы не попасть в спам: DKIM, SPF, DMARC
Эта статья посвящена антиспам-настройкам для email-рассылок. Как сделать так, чтобы письма без проблем попадали во входящие, а не оказывались в спаме или вообще отбивались на уровне почтового сервера получателя.
В нашем блоге есть кейс, в котором мы детально описываем работу с клиентом, у которого были настроены приветственные письма, но они попадали в спам
Ведя войну со спамерами на своих фронтах, провайдеры почтовых систем разработали и ввели технические требования отправителям email-рассылок. Так появились доменные настройки DKIM, SPF и DMARC.
DKIM (DomainKeys Identified Mail) — метод аутентификации соответствия доменного имени. DKIM проверяет, действительно ли домен, от имени которого отправлена email-рассылка, принадлежит отправителю.
SPF (Sender Policy Framework) — cтруктура политики отправителя. Это система проверки электронной почты, предназначенная для блокировки спама, методом обнаружения подмены и общей уязвимости электронной почты, путём проверки IP-адреса отправителя.
DMARC (Domain-based Message Authentication, Reporting and Conformance) — идентификация сообщений, создание отчётов и определение соответствия по доменному имени. Этой настройкой отправитель показывает почтовой системе, что его email-рассылки защищены SPF и / или DKIM.
Политика DMARC не является обязательной настройкой. Это мера, которая, в первую очередь, позволяет вам дополнительно обезопасить себя от действий мошенников.
В практическом плане DMARC — это правила, указывающие, что делать, если SPF и / или DKIM выдали ошибку или письмо по каким-либо техническим причинам выглядит подозрительным для сервера получателя. В первую очередь — если мошенники пытаются рассылать письма от имени (под видом) вашего домена и / или вашего IP-адреса.
Не будем копировать мануалы по самим настройкам, просто оставим их здесь на ваш выбор. По ссылкам — актуальная на данный момент информация, всё изложено максимально грамотно и лаконично. С их помощью вы можете пошагово настроить записи самостоятельно или поручить это вашему системному администратору.
После отладки нужно убедиться, что всё работает, как задумано. Первый этап можно осуществить c помощью сервиса mail-tester.com. Проверяем корректность настроек по принципу: есть / нет.
Всё просто, отправляем тестовое письмо из рассыльной платформы на рандомно сформированный почтовый адрес (кстати, его можно сохранить и пользоваться им постоянно) и проверяем.
Далее смотрим подробности проверки.
Если проблем нет, DKIM-запись действительна, значит, домен технически принадлежит вам как отправителю и ваши письма, согласно данным доставляемости, попадают в инбокс подписчиков. Значит, вы всё сделали правильно.
Особое внимание стоит обратить на SPF-запись, поскольку IP-адрес, с которого вы отправляете рассылки, технически подделать проще, чем домен.
Кроме того, рассыльная платформа могла выделить его не только вам, им параллельно могут пользоваться спамеры, владельцы электронного казино, продавцы дженериков Виагры, реплик часов Rolex и вообще кто угодно. Плюс он может быть просто очень старым с целой историей, естественно, не всегда хорошей. Поэтому рассыльный IP-адрес стоит дополнительно проверять на нахождение в чёрных листах. Попадание email-рассылок в спам может иметь комплекс причин и зависит не только от DNS-настроек, а это уже тема для отдельной статьи.
В качестве удобного инструмента для проверки и диагностики проблем антиспам-настроек можем порекомендовать сервис mxtoolbox.com.
Вводим домен и проверяем корректность настроек, выбрав необходимый пункт в выпадающем меню.
На что стоит обратить особое внимание. В зелёном поле мы видим SPF-записи домена. Далее префиксы, их значения и описания. Если вы что-то настроили неправильно, сервис покажет вам это в соответствующей графе теста. Это значит, что вам стоит вернуться к инструкции настроек и перепроверить эту строку в DNS-зонах административной панели настроек вашего рассыльного домена.
Важный нюанс. Для SPF существует лимит в десять записей. Всё, что выше этого лимита, сервер получателя просто не увидит.
В нашей практике был случай, когда клиент обратился к нам с проблемой — рассылки вообще не попадали в инбокс подписчиков, хотя, казалось, что все настройки в порядке.
Система была построена следующим образом: промо-рассылки отправлялись из одной платформы, транзакционные письма — из второй, триггеры — из третьей, а поддержка клиентов пользовалась четвёртой. Проверив корректность всех настроек, мы нашли тринадцать разных SPF-записей. Получилось, что разработчики клиента превысили лимит, серверы почтовых провайдеров просто не видели записи свыше десяти и отбивали письма службы технической поддержки, считая их мошенническими и вредоносными.
Далее проверяем ключевые настройки политики DMARC.
Значение тега v — DMARC1, это версия протокола политики DMARC. Далее политика обработки писем, её задаёт значение тега p, обратите на него особое внимание. Это правило, согласно которому, как мы уже говорили выше, поступит почтовый провайдер, если SPF и / или DKIM выдали ошибку или письмо по каким-либо техническим причинам выглядит подозрительным для сервера получателя.
Значение ’none’ DMARC — письмо отправится в папку «Входящие», а владельцу домена придёт отчёт для анализа. В отчёте — информация о том, кто отправляет от данного имени email-рассылки и разрешено ли им это делать.
Значение ’quarantine’ — сервер почтового провайдера получателя отправляет письмо в папку Спам, а владелец домена сможет проанализировать данные, которые ему также придут в отчёте.
Значение ’reject’ даст команду серверу получателя отбить не прошедшие проверку DMARC письма. Эти рассылки получатель не увидит.
Значение тега rua, как вы наверняка догадались, — адрес электронной почты, на которую будут приходить отчёты.
Читайте полезные конспекты у нас на facebook.
Настройка DKIM/SPF/DMARC записей или защищаемся от спуфинга
1. DKIM
DKIM (DomainKeys Identified Mail) — это метод e-mail аутентификации, основанный на проверке подлинности цифровой подписи. Публичный ключ хранится TXT записи домена.
Зачем же он нужен?
DKIM необходим для того, чтобы почтовые сервисы могли проверять, является ли отправитель достоверным или нет. Т.е. защищает получателя письма от различных мошеннических писем (которые отправлены с подменой адреса отправителя).
Настройка DKIM подписи и DNS записей
Для это нам необходимо создать пару ключей:
Или можно воспользоваться онлайн-сервисом, чего я крайне не советую.
Далее необходимо указать путь с секретному ключу в файле конфигурации (для этого лучше почитать документацию) почтового сервера и публичный ключ в DNS.
Так же стоит прописать ADSP запись, которая позволяет понять, обязательно должно быть письмо подписано или нет.
_adsp._domainkey.example.com. TXT «dkim=all»
Значений может быть три:
all — Все письма должны быть подписаны
discardable — Не принимать письма без подписи
unknown — Неизвестно (что, по сути, аналогично отсутствию записи)
2. SPF
SPF (Sender Policy Framework) — расширение для протокола отправки электронной почты через SMTP. SPF определен в RFC 7208 (Wiki). Если простым языком, то SPF — механизм для проверки подлинности сообщением, путем проверки сервера отправителя. Как по мне, данная технология полезна в связке в другими (DKIM и DMARC)
Настройка SPF записей
» — дополнительные проверки, «?» — нейтрально.
3.DMARC
Domain-based Message Authentication, Reporting and Conformance (идентификация сообщений, создание отчётов и определение соответствия по доменному имени) или DMARC — это техническая спецификация, созданная группой организаций, предназначенная для снижения количества спамовых и фишинговых электронных писем, основанная на идентификации почтовых доменов отправителя на основании правил и признаков, заданных на почтовом сервере получателя (Wiki). То есть почтовый сервер сам решает, хорошее сообщение или плохое (допустим, исходя из политик выше) и действует согласно DMARC записи.
Настройка DMARC записей
Типичная запись выглядит так: _dmarc.your.tld TXT «v=DMARC1; p=none; rua=mailto:postmaster@your.tld»
В ней не предпринимаются никакие действия, кроме подготовки и отправки отчета.
ruf — отчеты писем, не прошедшие проверку DMARC. В остальном все так же, как и выше.
Эпилог
Мы научились настраивать DKIM/SPF/DMARC и противостоять спуфингу. К сожалению, это не гарантирует безопасность в случае взлома сервера или же отправки писем на серверы, не поддерживающие данные технологии. Благо, что популярные сервисы все же их поддерживают (а некоторые и являются инициаторами данных политик).
Эта статья — лишь инструкция по самостоятельной настройке записей, своего рода документация. Готовых примеров нет намеренно, ведь каждый сервер уникален и требует своей собственной конфигурации.
Полный синтаксис DKIM, DMARC и SPF
Не так давно прописывала записи DKIM, DMARC и SPF для своего домена. Это оказалось сложнее, чем я думала, потому что мне не удалось нигде найти полный синтаксис всех этих записей. Тогда вместе с Яной Лыновой мы собрали материал. Фактически, эта статья дополняет несколько статей с Хабра (внизу вы найдете ссылки).
Для того, чтобы прописать необходимые записи, нам нужен доступ к DNS. DNS расшифровывается как Domain Name System. Обычно доступ к DNS в компании имеют системные администраторы или, на крайний случай, программисты. Для них вы должны написать ТЗ, по которому они смогут добавить записи в DNS.
Итак, что же такое DKIM?
DKIM (Domain Keys Identified Mail) — это цифровая подпись, которая подтверждает подлинность отправителя и гарантирует целостность доставленного письма. Подпись добавляется в служебные заголовки письма и незаметна для пользователя. DKIM хранит 2 ключа шифрования — открытый и закрытый. С помощью закрытого ключа формируются заголовки для всей исходящей почты, а открытый ключ как раз добавляется в DNS записи в виде TXT файла.
Проверка DKIM происходит автоматически на стороне получателя. Если домен в письме не авторизован для отправки сообщений, то письмо может быть помечено подозрительным или помещено в спам, в зависимости от политики получателя.
Записей DKIM может быть несколько — например, если вы пользуетесь одновременно сервисом Mandrill и при этом отправляете письма через Gmail, у вас будет 2 записи DKIM с разными селекторами:
Название записи | Формат | Содержание |
для Mandrill (селектор — mandrill): mandrill._domainkey.ваш_домен. (в некоторых панелях управления можно указывать без вашего домена, зависит исключительно от вашего хостинга) | TXT | v=DKIM1; k=rsa; p=(сгенерированный публичный ключ) |
для Gmail (селектор — google): google._domainkey.ваш_домен. | TXT | v=DKIM1; k=rsa; p=(сгенерированный публичный ключ) |
Синтаксис DKIM
«v» — версия DKIM, всегда принимает значение v=DKIM1;
«k» — тип ключа, всегда k=rsa;
«p» — публичный ключ, кодированный в base64.
Необязательные элементы:
«t=y» — режим тестирования. Нужно только для отслеживания результатов;
«t=s» — означает, что запись будет использована только для домена, к которому относится; не рекомендуется, если используются субдомены;
«h» — предпочитаемый hash-алгоритм, может принимать значения «h=sha1» и «h=sha256»;
«s» — тип сервиса, использующего DKIM. Принимает значения «s=email» (электронная почта) и «s=*» (все сервисы). По умолчанию «*»;
«;» — разделитель.
Помимо этого можно создать необязательную запись, которая подскажет, что делать с неподписанными письмами:
Название записи | Формат | Содержание |
_adsp._domainkey.ваш_домен. | TXT | dkim=all |
где «all» — отправка неподписанных сообщений запрещена; «discardable» — все неподписанные сообщения должны быть заблокированы на стороне получателя; «unknown» — отправка неподписанных сообщений разрешена (значение по умолчанию).
Обратите внимание, что некоторые хостинги не поддерживают доменные записи длиннее 255, а то и 200 символов. В таком случае нужно разбить строку переводом. Но у некоторых хостингов и это не работает, обратитесь в поддержку вашего хостинга, чтобы узнать это заранее.
Некоторые хостинги проставляют кавычки для всех записей самостоятельно, об этом тоже можно спросить у поддержки или проставить по аналогии с другими TXT-записями домена, если они присутствуют.
Проверить DKIM можно здесь.
SPF (Sender Policy Framework) — это подпись, содержащая информацию о серверах, которые могут отправлять почту с вашего домена. Наличие SPF снижает вероятность попадания вашего письма в спам.
Важно помнить, что SPF запись может быть только одна для одного домена. В рамках одной SPF может быть несколько записей (например, если письма отправляются с нескольких ESP — маловероятно, но все же, чуть позже будет пример). Для поддоменов нужны свои записи.
Синтаксис SPF
» — «мягкое» отклонение (письмо будет принято, но будет помечено как спам);
«?» — нейтральное отношение;
«mx» — включает в себя все адреса серверов, указанные в MXзаписях домена;
«ip4» — позволяет указать конкретный IP-адрес или сеть адресов;
«a» — IP-адрес в A-записи;
«include» — включает в себя хосты, разрешенные SPF-записью указанного домена;
«all» — все остальные сервера, не перечисленные в SPF-записи;
«ptr» — проверяет PTR-запись IP-адреса отправителя (разрешено отправлять всем IP-адресам, PTR-запись которых направлена на указанный домен) (не рекомендуется к использованию согласно RFC 7208);
«exists» — выполняется проверка работоспособности доменного имени;
«redirect» — указывает получателю, что нужно проверять SPF запись указанного домена, вместо текущего домена.
Так как запись должна быть всего одна, через include необходимо прописывать все возможные сервера, через которые вы отправляете письма.
Пример записи SPF, если вы пользуетесь одновременно сервисом Mandrill и при этом отправляете письма через Gmail (несколько записей в рамках одной SPF, как я упоминала ранее):
Проверить SPF можно здесь.
DMARC
DMARC (Domain-based Message Authentication, Reporting and Conformance) — это подпись, которая позволяет принимающему серверу решить, что делать с письмом. DMARC использует DKIM и SPF. Если отправленное сообщение не прошло проверку DKIM и SPF, то оно не пройдет и DMARC. Если же сообщение успешно прошло хотя бы одну проверку (DKIM или SPF), то и проверку DMARC сообщение пройдет успешно. DMARC добавляется только после того, как настроены записи SPF и DKIM.
Пример записи DMARC (не имеет значения, какими сервисами для рассылки вы пользуетесь):
Название записи | Формат | Содержание |
_dmarc.ваш_домен. | TXT | v=DMARC1; p=reject; sp=reject; ruf=mailto:postmaster@your.tld; fo=1 |
Синтаксис DMARC
«v» — версия, всегда принимает значение «v=DMARC1» (обязательный параметр);
«p» — правило для домена (обязательный параметр). Может принимать значения «none», «quarantine» и «reject», где «p=none» не делает ничего, кроме подготовки отчетов; «p=quarantine» добавляет письмо в спам; «p=reject» отклоняет письмо.
Тег «sp» отвечает за субдомены и может принимать такие же значения, как и «p».
«aspf» и «adkim» позволяют проверять соответствие записям и могут принимать значения «r» и «s», где «r» — «relaxed» (более мягкая проверка), а «s» — «strict» (строгое соответствие).
«pct» отвечает за кол-во писем, подлежащих фильтрации, указывается в процентах, например, «pct=20» будет фильтровать 20% писем.
«rua» — позволяет отправлять ежедневные отчеты на email, пример: «rua=mailto:postmaster@your.tld», также можно указать несколько email через запятую без пробелов.
«ruf» — отчеты для писем, не прошедших проверку DMARC.
Тег «fo» служит для генерации отчетов, если один из механизмов сломается. «fo=0» (используется по умолчанию) — присылать отчет, если не пройден ни один этап аутентификации; «fo=1» — присылать отчет, если не пройден хотя бы один этап аутентификации; «fo=d» — присылать отчет, если не пройдена аутентификация DKIM; «fo=s» — присылать отчет, если не пройдена аутентификация SPF.
Запись DMARC может быть одна для домена и поддоменов, т.к. в ней можно явно указать действия для тега «sp». Если вам требуется специфическая запись для поддоменов, можно создать отдельную запись с наименованием «_dmarc.ваш_поддомен.ваш_домен.».
Проверить DMARC можно здесь.
Надеюсь, что эта статья помогла вам разобраться в синтаксисе записей, и теперь вы с легкостью сможете написать ТЗ для системного администратора или программиста на внесение этих записей в DNS.