SPF и DKIM подпись

DNS записи для почтового сервера: DKIM-подпись и SPF-запись

Эта статья посвящена записям или подписям, которые надо использовать в e-mail маркетинге, чтобы не попасть в папку СПАМ, вашего подписчика. Ведь большинство подписчиков не любят заглядывать в эту папочку (СПАМ), рекомендую прочитать статью и не попадать в Чёрный лист почтовиков, таких как mail.ru, yandex.ru и google.com

DomainKeys Identified Mail (сокращенно – DKIM-подпись) представляет собой один из методов аутентификации электронной почты, основная задача которого – классификация и идентификация почтовых сообщений, что позволяет повышать эффективность антифишинга и антиспама. Суть метода состоит в добавлении в почтовое сообщение цифровой подписи, которая идентифицирует пользователей, связывая подпись с доменом организации. После проверки этой подписи на стороне получателя сообщения алгоритм классифицирует полученное письмо в «белый» или «черный» список и дальнейшую обработку письма.

Еще один способ защитить письмо от попадания в спам – настройка Sender Policy Framework (сокращенно – SPF-подпись). Этот стандарт является наиболее популярным и поддерживается подавляющим большинством провайдеров. Для работы SPF-подписи необходимо наличие специального поля в DNS-записи для почтового сервера, содержащей сведения об отправителе. В этом поле, как и в случае с DKIM-подписью, информация о серверах, которые могут или не могут отправлять почтовые сообщения от имени домена, представлена в формате TXT.

Подробнее о DKIM-подписи

За создание подписи и ее добавление в отправляемое сообщение отвечает специальный модуль под названием Administrative Management Domain, в качестве которого может выступать почтовый сервер или клиент. При этом программный модуль извлекает закрытый ключ, который генерируется на основе информации об отправляемом письме.

Увидеть, как выглядит код DKIM-записи, можно, например, просмотрев информацию для почтовых администраторов, которая размещена на Mail.ru:

пример DKIM подписиСуть DKIM-подписи состоит в использовании технологии DomainKeys, разработанной компанией Yahoo, и системы Internet Identified Mail, разработанной компанией Cisco. Процедура обмена цифровыми подписями схожа с работой PGP. При этом добавление в письмо цифровой подписи не зависит от других почтовых служб. Ключ, который берется в DNS записи для почтового сервера, не требует подтверждения от третьей стороны. Помимо этого, при повторной пересылке письма, когда отправитель и получатель письма изменились, антиспам-защита в виде DKIM-записи уже не срабатывает.

Цифровая подпись может формироваться по одному из двух алгоритмов: RSA-SHA1 и RSA-SHA256. Длина ключа обычно составляет 1024-2048 бит, так как более короткий ключ будет обладать недостаточной устойчивостью, а более длинный ключ потребует большей мощности при обработке почтового сообщения.

Многие специалисты называют DKIM-подпись дополнительной технологией защиты от спама, так как после проверки подписи такая защита теряет свое действие. Сервера, которые не поддерживают технологии DKIM-записи, просто пропускают код ключа при обработке сообщений.

Для проверки подписи DKIM используется тот же доверенный модуль ADMD, который применяется для генерации закрытого ключа. Верификация электронной подписи может реализовываться, как на стороне сервера, так и со стороны клиента. ADMD в процессе проверки действует следующим образом:

  • с помощью открытого ключа проверяет подлинность подписи;
  • письмо передается в фильтр сообщений, где принимается решение о его подлинности;
  • если письмо не подлинное, то оно отправляется в фильтр сообщений с дополнительными инструкциями.

Описание и синтаксис SPF-запись

Общий принцип работы стандарта SPF-подпись состоит в том, что владелец электронного адреса заранее прописывает, с какого сервера может приходить его почта. Получающая сторона может сравнить фактические данные с рекомендациями, указанными в письме и в случае их несоответствия интерпретировать этот как ошибку или спам. При этом получатель письма, в принципе, может проигнорировать рекомендации стандарта и принять письмо без каких-либо дополнительных проверок.

Все данные, размещаемые в специальном поле DNS записи для почтового сервера, могут указываться SPF-запись в TXT. При этом наиболее оптимальным является именно первый вариант. Использование TXT обосновано лишь тем, что сервер или клиент могут не понимать SPF-подписи. Применение обоих форматов позволяет сделать синтаксис более универсальным. При этом даже для серверов и клиентов, читающих SPF-записи, обязательно прописывается в TXT, но в процессе обработки письма игнорируется.

В качестве примера приведем следующую запись SPF

example.com. IN SPF "v=spf1 +mx a:colo.example.com/28 -all"

Такие записи могут повлечь несколько вариантов реакции получателя:

  • v=spf1 — выбранная версия SPF-записи (на сегодняшний день это только 1);
  • «+» — принимать письмо (Pass), применяется по умолчанию;
  • «-» — Отклонить письмо (Fail);
  • «~» — «мягкое» отклонение письма, при котором оно просто помечается как спам (SoftFail);
  • «?» — нейтральное отношение;
  • «mx» — содержит все адреса серверов, прописанные в MX-записях доменов;
  • «ip4» — указывает конкретный IP-адрес или несколько адресов;
  • «a» — прописывается поведение при получении письма от заданного домена;
  • «include» хосты, разрешенные SPF-записью;
  • «all» — все сервера, не указанные в SPF-записи.

В работе стандарта SPF-записей есть и спорные моменты.

Например, в случае перенаправления письма с другого ящика (использование какого-то адреса как промежуточного) ситуация может расцениваться как спам-атака. Для этого предусмотрена схема Sender Rewriting Scheme, согласно которого заголовок return-path переписывается форвардером. В остальном SPF-подпись относится к наиболее простым и эффективным способам идентификации отправителя. Для добавления записей SPF не нужно тратить много усилий, что облегчает работу администраторам. Простота использования и обуславливает широкое распространение SPF-записи.

3 thoughts on “DNS записи для почтового сервера: DKIM-подпись и SPF-запись

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *