Введение

Техники, направленные на предоставление проверяемой информации о происхождении электронных сообщенийАутентификация электронной почты, или валидация, — это набор методов, направленных на предоставление проверяемой информации об источнике электронных сообщений путем проверки права владения доменом любыми агентами передачи сообщений (MTA), участвовавшими в передаче и, возможно, изменении сообщения. Изначальная основа интернет-электронной почты, Простой протокол передачи почты (SMTP), не имеет такой функции, поэтому поддельные адреса отправителя в электронных письмах (практика, известная как спуфинг электронной почты) широко используется в фишинге, спаме и различных видах мошенничества. Для борьбы с этим было разработано множество конкурирующих предложений по аутентификации электронной почты, но только недавно три из них получили широкое распространение — SPF, DKIM и DMARC. Результаты такой валидации могут использоваться в автоматической фильтрации электронной почты или помогать получателям в выборе подходящих действий. В данной статье не рассматривается аутентификация пользователей при отправке и получении электронной почты.

Обоснование

В начале 1980-х годов, когда был разработан Простой протокол передачи почты (SMTP), он не предусматривал реальной проверки отправителя – пользователя или системы. Это не представляло проблемы, пока системами электронной почты управляли доверенные корпорации и университеты, но с коммерциализации Интернета в начале 1990-х годов спам, фишинг и другие преступления стали все чаще совершаться с использованием электронной почты. Аутентификация электронной почты – это необходимый первый шаг к установлению источника сообщений и, следовательно, к повышению эффективности политики и законов. Подход, основанный на владении доменом, сформировался в начале 2000-х годов. Он подразумевает грубую аутентификацию, поскольку домены располагаются в правой части адресов электронной почты, после символа «@». Более точная аутентификация, на уровне пользователя, может быть достигнута другими средствами, такими как Pretty Good Privacy и S/MIME. В настоящее время управление цифровой идентификацией лежит на каждом отдельном пользователе. Веским аргументом в пользу аутентификации электронной почты является возможность автоматической фильтрации электронной почты на серверах-получателях. Это позволяет отклонять поддельные сообщения до их попадания в почтовый ящик пользователя. В то время как протоколы стремятся разработать надежные способы блокировки нежелательной почты, индикаторы безопасности могут помечать неаутентифицированные сообщения, которые все же достигают почтового ящика. Исследование, проведенное в 2018 году, показало, что индикаторы безопасности могут снизить коэффициент переходов по ссылкам более чем на десять процентных пунктов – с 48,9% до 37,2% среди пользователей, открывающих поддельные сообщения.

Пользователь роуминга (MUA 2)

В большинстве случаев всё ещё возможно использовать собственный ADMD MSA. Исходящие соединения к порту 25 могут быть перехвачены и направлены через прозрачный прокси-сервер. IP-адрес отправляющего MTA гарантированно является валидным благодаря протоколу TCP, который устанавливает соединение, проверяя доступность удалённого хоста. Получающий почтовый сервер вскоре после установления соединения получает команду HELO SMTP и команду Mail from: в начале каждого сообщения. Обе эти команды могут содержать доменное имя. SPF-верификатор запрашивает в системе доменных имён (DNS) соответствующую запись SPF, которая, если она существует, указывает IP-адреса, авторизованные администратором данного домена. Результат может быть "успешно", "неуспешно" или промежуточным, и системы обычно учитывают его при антиспам-фильтрации.

DKIM

DKIM проверяет содержимое сообщения, применяя цифровые подписи. Вместо цифровых сертификатов ключи для проверки подписи распространяются через DNS. Таким образом, сообщение связывается с доменным именем. Администратор домена, соответствующего требованиям DKIM, генерирует одну или несколько пар асимметричных ключей, затем передает закрытые ключи подписывающему MTA и публикует открытые ключи в DNS. Записи DNS структурированы как selector.domainkey.example.com, где selector идентифицирует пару ключей, а domainkey – это фиксированное ключевое слово, за которым следует имя подписываемого домена, чтобы публикация осуществлялась под контролем ADMD этого домена. Непосредственно перед отправкой сообщения в транспортную систему SMTP, подписывающий MTA создает цифровую подпись, охватывающую выбранные поля заголовка и тела сообщения (или только его начало). Подпись должна охватывать важные поля заголовка, такие как От:, Кому:, Дата: и Тема:, и затем добавляется в сам заголовок сообщения в виде поля-маркера. Любое количество ретрансляторов может принимать и пересылать сообщение, и на каждом этапе подпись может быть проверена путем получения открытого ключа из DNS. Пока промежуточные ретрансляторы не изменяют подписанные части сообщения, подписи DKIM остаются действительными.

DMARC

DMARC позволяет задать политику для аутентифицированных сообщений. Он основан на двух существующих механизмах: Sender Policy Framework (SPF) и DomainKeys Identified Mail (DKIM). Он позволяет администратору домена публиковать политику в своих DNS-записях, чтобы указать, какой механизм (DKIM, SPF или оба) используется при отправке электронной почты от имени этого домена, как проверять поле "From:", отображаемое конечным пользователям, как получателю следует обрабатывать случаи несоответствия и механизм отчетности о действиях, предпринятых в соответствии с этими политиками.

Другие методы

Предложен ряд других методов, но сейчас они либо устарели, либо не получили широкого распространения. Среди них – Sender ID, сертифицированная проверка сервера, DomainKeys и перечисленные ниже:

АДСП

ADSP позволял задать политику для сообщений, подписанных доменом отправителя. Сообщение должно было сначала пройти аутентификацию DKIM, после чего ADSP мог потребовать применение санкций, если сообщение не было подписано доменом(ами) отправителя, указанным в поле «From:». ADSP был признан устаревшим в ноябре 2013 года.

VBR

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

iprev

Приложениям следует избегать использования этого метода в качестве средства аутентификации. Тем не менее, это часто делается, и результаты, если они есть, записываются в поле заголовка "Received:" в дополнение к информации TCP, требуемой спецификацией SMTP. Проверка обратного соответствия IP-адреса, осуществляемая путем поиска IP-адреса найденного имени, лишь указывает на правильную настройку IP-адреса в DNS. Обратное разрешение диапазона IP-адресов может быть делегировано ADMD, использующему эти адреса, или оставаться под управлением поставщика сетевых услуг. Во втором случае получить какую-либо полезную информацию об отправителе сообщения невозможно.

DNSWL

Поиск в DNSWL (списке разрешенных DNS) может предоставить информацию об отправителе, в том числе, возможно, его идентификацию.

Результаты аутентификации

RFC 8601 определяет поле заголовка трассировки "Результаты аутентификации", где получатель может записывать результаты проверок аутентификации электронной почты, которые он выполнил. Множественные результаты для различных методов могут быть указаны в одном поле, разделенные точками с запятой и заключенные в соответствующие скобки. Например, следующее поле предположительно создано получателем example.org и содержит результаты SPF и DKIM:
Результаты аутентификации: example.org;
spf=pass smtp.mailfrom=example.com;
dkim=pass header.i=@example.com
Первый токен после имени поля, example.org, является идентификатором сервера аутентификации, известный как authserv id. Получатель, поддерживающий RFC 8601, обязан удалять (или переименовывать) любые поддельные заголовки, выдающие себя за принадлежащие его домену, чтобы предотвратить путаницу у последующих фильтров. Однако эти фильтры все равно необходимо настроить, поскольку им нужно знать, какие идентификаторы может использовать домен. Для почтового клиента (MUA) сложнее определить, каким идентификаторам можно доверять. Поскольку пользователи могут получать электронную почту из нескольких доменов – например, если у них несколько адресов электронной почты – любой из этих доменов может пропустить поля "Результаты аутентификации", поскольку они выглядят нейтральными. Таким образом, злоумышленник может подделать authserv id, которому пользователь доверяет, если сообщение пришло из другого домена. Легитимные "Результаты аутентификации" обычно располагаются непосредственно перед полем "Получено" (Received:) от того же домена, через который было переслано сообщение. Дополнительные поля "Получено" могут появляться между ними и началом заголовка, поскольку сообщение передавалось внутри между серверами, принадлежащими той же доверенной ADMD. Управление назначенными номерами в Интернете (IANA) ведет реестр параметров аутентификации электронной почты. Однако не все параметры нуждаются в регистрации. Например, могут существовать локальные значения "политики", предназначенные только для внутреннего использования на сайте, соответствующие локальной конфигурации и не требующие регистрации.