Электронная почта остается одним из самых уязвимых каналов связи. По умолчанию протокол SMTP не имеет встроенных механизмов проверки отправителя, что позволяет злоумышленникам легко подделывать адреса (почтовый спуфинг) и рассылать фишинг или спам от имени вашего домена.
Это не только вредит репутации бренда, но и приводит к тому, что легитимные письма вашей компании начинают попадать в папку «Спам» или блокируются сервисами Google (Gmail), Microsoft (Outlook) и другими почтовыми провайдерами. Для решения этой проблемы используется триада DNS-записей: SPF, DKIM и DMARC.
1. Что такое SPF, DKIM и DMARC и как они работают вместе
Каждый из этих стандартов выполняет свою специфическую роль в системе проверки подлинности почты. Но должны работать в связке:
- SPF (Sender Policy Framework): Указывает список всех IP-адресов и серверов, которым официально разрешено отправлять почту от имени вашего домена.
- DKIM (DomainKeys Identified Mail): Добавляет к каждому исходному письму цифровую криптографическую подпись, подтверждающую, что письмо действительно отправлено из вашего домена и его содержимое не было изменено при транспортировке.
- DMARC (Domain-based Message Authentication, Reporting and Conformance): Указывает почтовому серверу получателя, что делать с письмом, если он не прошел проверку SPF и/или DKIM (пропустить, отправить в спам или отклонить), а также отправляет вам отчеты.
2. Сравнительный анализ протоколов защиты почты
| Протокол | Тип DNS-записи | Что именно проверяет | Пример структуры записи |
|---|---|---|---|
| SPF | TXT (на корневой домен) | IP-адрес сервера отправителя относительно разрешенного списка. | v=spf1 a mx ip4:X.X.X.X ~all |
| DKIM | TXT (на субдомен селектора) | Наличие и валидность криптографической подписи в заголовке письма. | default._domainkey.domain.com IN TXT "v=DKIM1; k=rsa; p=MIGfMA0..." |
| DMARC | TXT (на _dmarc.domain.com) |
Политика действий при сбое SPF/DKIM + настройка отчетности. | v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@domain.com |
3. Пошаговый алгоритм настройки и внедрения
- Шаг 1: Настройка записи SPF. Создайте TXT-запись в панели управления DNS вашего домена (например, Cloudflare, DirectAdmin, cPanel) с именем
@или пустым полем. Правило: На домене может быть только одна SPF-запись. Если вы используете несколько сервисов (например, VPS и Google Workspace), объедините их в одну строку:v=spf1 ip4:192.X.X.X include:_spf.google.com ~all - Шаг 2: Генерация и добавление подписи DKIM. Сгенерируйте пару ключей (приватный и публичный) в вашем почтовом сервере (Exim, Postfix), непосредственно на сервере или в кабинете почтового сервиса (Google Workspace, MXRoute, SendGrid). Публичный ключ добавьте в DNS как TXT-запись с селектором, который предоставил сервис (например,
google._domainkey). - Шаг 3: Настройка DMARC-политики. Создайте TXT-запись для имени
_dmarc. Начинайте использование с мягкого режима наблюденияp=none, чтобы собирать отчеты и выявить легитимные сервисы рассылок:v=DMARC1; p=none; rua=mailto:dmarc-reports@vash-domain.com; ruf=mailto:dmarc-reports@vash-domain.com; fo=1. После тестирования измените политику наp=quarantine(письма без подписи идут в спам), а затем наp=reject(полная блокировка подделок). - Шаг 4: Тестирование и проверка доставки. Отправьте тестовое письмо на сервисы проверки (например, Mail-Tester, MXToolbox или Google Admin Toolbox Header Analyzer) и проверьте заголовки письма (Email Headers) на наличие статусов
spf=pass,dkim=passиdmarc=pass.
Технический совет системного администратора: Главная ловушка при настройке SPF — это ограничение протокола в 10 DNS-запросов (DNS Lookup Limit). Если в вашей записи слишком много директив
include:, почтовые серверы получателей выдадут ошибку SPF PermError, и проверка провалится. Если требуется подключить много внешних сервисов, используйте маскировку IP черезip4:или специализированные сервисы сплющивания SPF (SPF Flattening).