SPF-запис: Що це таке, як працює і навіщо потрібен?
🕒 Час читання: 4 хв

SPF-запис: Що це таке, як працює і навіщо потрібен?

Електронна пошта є одним із головних інструментів комунікації, але водночас вона часто стає об’єктом атак. Зловмисники можуть використовувати ваш домен для розсилання спаму чи фішингових листів, що може завдати шкоди вашій репутації. На щастя, існують інструменти, які допомагають захистити ваш домен, і одним із таких є SPF-запис (Sender Policy Framework).

У цій статті ми детально розглянемо, як працює SPF, його технічну структуру, нюанси налаштування та способи оптимізації. Дізнайтеся, як налаштувати SPF-запис так, щоб забезпечити максимальний рівень безпеки й уникнути типових помилок.


Що таке SPF-запис?

SPF-запис — це TXT-запис у DNS вашого домену, який визначає, які сервери мають право надсилати електронну пошту від імені цього домену. Він дозволяє поштовим серверам отримувача перевіряти, чи уповноважений сервер відправника надсилати повідомлення.


Чому SPF важливий?

Без SPF-запису ваш домен стає вразливим до спуфінгу — ситуації, коли зловмисники використовують ваш домен для відправки підроблених електронних листів. Це може спричинити:

  • Потрапляння ваших листів у спам.
  • Втрату довіри клієнтів.
  • Потенційні юридичні та репутаційні ризики.

Як працює SPF?

Основні етапи перевірки
  1. Відправлення листа: Поштова система отримувача перевіряє IP-адресу сервера відправника.
  2. Пошук SPF-запису: DNS-запит перевіряє, чи є в домені SPF-запис.
  3. Верифікація: Порівнюється IP-адреса відправника з правилами, зазначеними у SPF-записі.
  4. Результат перевірки: Лист позначається як дозволений, підозрілий або заборонений.
Можливі результати SPF-перевірки:
  • Pass: Лист надсилається авторизованим сервером.
  • Fail: Сервер не уповноважений. Лист може бути відхилений або помічений як спам.
  • SoftFail: Сервер не уповноважений, але лист не відхиляється автоматично.
  • Neutral: SPF-запис є, але в ньому немає чітких інструкцій.

Структура SPF-запису

Формат запису виглядає так:

v=spf1 [механізми] [модифікатори] [кваліфікатори]
Компоненти:
  1. v=spf1
    Це обов’язковий параметр, який вказує, що запис використовує першу версію SPF.
  2. Механізми
    Використовуються для визначення правил авторизації. Основні механізми:
    • ip4: дозволяє діапазон IPv4-адрес. Наприклад: ip4:203.0.113.0/24
    • ip6: дозволяє діапазон IPv6-адрес. Наприклад: ip6:2001:db8::/32
    • a: дозволяє сервери, які відповідають A або AAAA-запису домену.
    • mx: дозволяє сервери, вказані у MX-записах домену.
    • include: дозволяє перевіряти SPF-записи іншого домену. Наприклад: include:_spf.google.com
    • all: відповідає всім адресам.
  3. Кваліфікатори
    Вказують, як поводитися із записами:
    • + (за замовчуванням): дозволити.
    • : заборонити.
    • ~: м’яке відхилення.
    • ?: нейтрально.
  4. Модифікатори
    Додають специфічні інструкції. Наприклад, exp для створення користувацького повідомлення помилки.

Як створити SPF-запис для домену?

1. Визначте сервери для надсилання пошти

Складіть список всіх серверів, які використовуються для відправки пошти з вашого домену. Це можуть бути:

  • Поштові сервери (наприклад, Gmail, Outlook).
  • Маркетингові платформи (Mailchimp, SendGrid).
  • Власні SMTP-сервери.
2. Складіть SPF-запис

Стандартний формат SPF-запису виглядає так:

v=spf1 ip4:192.0.2.0/24 include:_spf.google.com ~all

Розберемо цей приклад:

  • v=spf1 — визначає версію SPF.
  • ip4:192.0.2.0/24 — дозволяє IP-адреси цього діапазону.
  • include:_spf.google.com — дозволяє використовувати сервери Google.
  • ~all — усі інші сервери позначаються як ненадійні.
3. Додайте запис у DNS
  1. Увійдіть у панель керування DNS вашого домену.
  2. Додайте новий TXT-запис.
  3. У поле Name вкажіть «@» або залиште пустим.
  4. У поле Value вставте ваш SPF-запис.
  5. Збережіть зміни.
4. Перевірте SPF-запис

Скористайтеся інструментами перевірки, такими як MXToolbox або схожими, щоб переконатися, що ваш запис працює правильно.


Приклад обробки SPF

Для SPF-запису:

v=spf1 ip4:203.0.113.0/24 include:_spf.google.com -all
  • Якщо лист надсилається із сервера 203.0.113.5, він буде прийнятий (Pass).
  • Якщо лист надсилається через Google, буде перевірено _spf.google.com.
  • Якщо IP не відповідає жодному з правил, лист відхиляється (Fail).

Ліміти SPF-записів

1. Максимум 10 DNS-запитів

Стандарт SPF обмежує кількість запитів include, a, mx, ptr до 10.

Оптимізація:

  • Використовуйте лише необхідні include.
  • Об’єднуйте IP-адреси у CIDR-діапазони.
  • Замініть mx або a конкретними IP.
2. Довжина запису

DNS TXT-записи мають обмеження в 255 символів на рядок, але підтримують кілька рядків.

Рішення:
Розбийте запис на кілька рядків:

“v=spf1 ip4:203.0.113.0/24 “
“ip4:198.51.100.0/24 include:_spf.google.com -all”

Приклади складних SPF-записів

Для кількох поштових провайдерів

v=spf1 ip4:203.0.113.0/24 include:_spf.google.com include:_spf.sendgrid.net -all

Для IPv4 і IPv6

v=spf1 ip4:203.0.113.0/24 ip6:2001:db8::/32 -all

Типові помилки і як їх уникнути

  1. Відсутність SPF-запису
    Якщо ваш домен не має SPF-запису, налаштуйте його якнайшвидше.
  2. Занадто багато «include»
    Стандарт дозволяє не більше 10 перевірок DNS. Оптимізуйте ваш запис, об’єднуючи IP-адреси.
  3. Використання «-all» замість «~all»
    Жорсткий механізм відхилення («-all») може призвести до втрати важливих листів. Для тестування використовуйте «~all».

Додаткові рекомендації

  1. Регулярно оновлюйте SPF-запис, додаючи нові сервери.
  2. Використовуйте DKIM і DMARC разом із SPF для максимальної захищеності.
  3. Перевіряйте, чи ваші листи доставляються у папку «Вхідні», а не в спам.

Висновок

SPF-запис — це важливий елемент захисту вашого домену та електронної пошти. Правильне його налаштування допоможе уникнути проблем із фішингом, спамом і підробкою листів. Впровадивши SPF, ви зміцните репутацію свого домену та підвищите довіру клієнтів до вашого бізнесу. Проте важливо пам’ятати, що SPF не забезпечує повного захисту від спуфінгу, тому рекомендується використовувати його разом із DKIM (DomainKeys Identified Mail) та DMARC (Domain-based Message Authentication, Reporting, and Conformance).