Безпека електронної пошти: SPF, DKIM та DMARC — повний технічний гайд

Безпека електронної пошти залишається критично важливим інструментом для бізнес-комунікацій, але водночас є однією з найбільших вразливостей у системах безпеки. Щодня надсилається понад 300 мільярдів електронних листів, і 3,4 мільярда з них — це фішингові повідомлення. У цій статті ми детально розглянемо три основні технології автентифікації електронної пошти: SPF, DKIM та DMARC, їх технічну реалізацію та найкращі практики налаштування.

Що таке SPF і як він працює (Безпека електронної пошти)

SPF (Sender Policy Framework) — це протокол автентифікації електронної пошти, який перевіряє, чи дозволено серверу відправляти листи від імені певного домену. SPF працює через DNS TXT-запис, який містить список IP-адрес і серверів, авторизованих для надсилання пошти від імені домену.

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

SPF-запис завжди починається з версії v=spf1 і закінчується механізмом all із кваліфікатором:

v=spf1 ip4:203.0.113.5 include:_spf.google.com ~all

Основні компоненти:

  • v=spf1 — версія SPF (завжди першою)
  • ip4: або ip6: — авторизовані IPv4 або IPv6 адреси
  • include: — включення SPF-запису іншого домену
  • mx — дозволяє MX-серверам домену відправляти пошту
  • ~all — softfail (м’який відхил) або -all — hardfail (жорсткий відхил)
Кваліфікатори SPF

SPF підтримує чотири типи кваліфікаторів:

  • + (Pass) — дозволити (за замовчуванням)
  • - (Fail) — блокувати
  • ~ (Softfail) — прийняти, але позначити як підозріле
  • ? (Neutral) — не приймати рішення
Найкращі практики SPF

1. Використовуйте ~all замість -all
Рекомендується використовувати softfail (~all) замість hardfail (-all), оскільки жорсткий відхил може призвести до блокування листів на рівні SMTP ще до перевірки DKIM та DMARC. Це особливо важливо для доменів із політикою DMARC enforce.

2. Обмежуйте DNS-запити
SPF дозволяє максимум 10 DNS-запитів для одного запису. Перевищення цього ліміту призводить до помилки PermError і ігнорування SPF-запису.

3. Регулярно оновлюйте SPF-запис
Видаляйте невикористовувані IP-адреси та механізми, що більше не застосовуються. Використовуйте DMARC-моніторинг для виявлення неактивних джерел.

DKIM: цифровий підпис для електронної пошти

DKIM (DomainKeys Identified Mail) — це технологія, яка використовує криптографічний підпис для підтвердження автентичності відправника та цілісності змісту листа. DKIM додає цифровий підпис до заголовка листа, який можна перевірити за допомогою публічного ключа, розміщеного в DNS.

Як працює DKIM
  1. Генерація ключів: Адміністратор домену генерує пару ключів — приватний і публічний.
  2. Підписання листа: Поштовий сервер підписує вихідний лист приватним ключем.
  3. Публікація публічного ключа: Публічний ключ публікується в DNS як TXT-запис.
  4. Перевірка: Сервер одержувача перевіряє підпис, використовуючи публічний ключ із DNS.
Структура DKIM-запису

DKIM-запис має наступний формат:

selector._domainkey.yourdomain.com. IN TXT "v=DKIM1; k=rsa; p=your_public_key_here"

Компоненти:

  • selector — унікальний ідентифікатор DKIM-ключа
  • _domainkey — стандартний префікс для DKIM
  • v=DKIM1 — версія DKIM
  • k=rsa — алгоритм шифрування (RSA)
  • p= — публічний ключ у форматі base64
Генерація DKIM-ключів

Для генерації DKIM-ключів можна використовувати OpenSSL:

openssl genrsa -out private.key 2048
openssl rsa -in private.key -pubout -out public.key
Найкращі практики DKIM

1. Використовуйте 2048-бітні ключі
Рекомендується використовувати ключі довжиною 2048 біт для кращої безпеки. Ключі довжиною 512 біт вважаються занадто слабкими і можуть бути відхилені деякими серверами.

2. Ротація ключів
Змінюйте DKIM-ключі кожні 6-12 місяців для підвищення безпеки. Використовуйте кілька селекторів для плавної ротації без простоїв.

3. Вирівнювання домену
Переконайтеся, що домен у DKIM-підписі відповідає домену в адресі “From”. Це необхідно для успішного проходження DMARC-перевірки.

4. Підписуйте всі вихідні листи
Налаштуйте поштовий сервер для автоматичного підписання всіх вихідних повідомлень.

DMARC: комплексна політика автентифікації

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

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

DMARC-запис розміщується як TXT-запис у DNS із наступним форматом:

_dmarc.yourdomain.com. IN TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]; ruf=mailto:[email protected]; pct=100"

Основні теги:

  • v=DMARC1 — версія DMARC
  • p= — політика для листів, що не пройшли перевірку (nonequarantinereject)
  • rua= — адреса для агрегованих звітів
  • ruf= — адреса для детальних звітів про помилки
  • pct= — відсоток листів, до яких застосовується політика
  • aspf= — режим вирівнювання SPF (r — relaxed, s — strict)
  • adkim= — режим вирівнювання DKIM (r — relaxed, s — strict)
Політики DMARC

DMARC підтримує три типи політик:

  1. p=none — моніторинг без дій (рекомендується для початку)
  2. p=quarantine — помістити листи в спам
  3. p=reject — повністю відхилити листи (найбезпечніша політика)
Вирівнювання ідентифікаторів

DMARC вимагає вирівнювання принаймні одного з ідентифікаторів — SPF або DKIM. Існує два режими вирівнювання:

  • Relaxed (r): Домен може бути піддоменом (наприклад, mail.example.com для example.com)
  • Strict (s): Домен повинен точно збігатися (наприклад, example.com для example.com)
Звітність DMARC

DMARC надає два типи звітів:

1. Агреговані звіти (RUA):

  • Надсилаються щодня у форматі XML
  • Містять статистику про всі листи, відправлені від імені домену
  • Включають інформацію про IP-адреси, результати SPF/DKIM, дії з листами

2. Детальні звіти (RUF):

  • Надсилаються в реальному часі
  • Містять інформацію про конкретні листи, що не пройшли перевірку
  • Використовуються для форензіки та аналізу атак
Найкращі практики DMARC

1. Поступове впровадження
Починайте з політики p=none для моніторингу та аналізу трафіку. Після виявлення всіх легітимних джерел переходьте до p=quarantine, а потім до p=reject.

2. Використовуйте pct для поступового застосування
На етапі переходу до жорсткішої політики використовуйте тег pct для поступового застосування до відсотка листів. Наприклад, pct=10 застосує політику до 10% листів.

3. Моніторинг звітів
Регулярно аналізуйте DMARC-звіти для виявлення нових джерел відправки та потенційних атак. Використовуйте спеціалізовані інструменти для автоматичної обробки XML-звітів.

4. Налаштуйте DMARC для всіх доменів
Застосовуйте DMARC не тільки до основного домену, але й до піддоменів та паркованих доменів.

Додаткові заходи безпеки

Шифрування TLS

TLS (Transport Layer Security) шифрує трафік між поштовими серверами під час передачі. Це запобігає перехопленню листів у процесі доставки.

Налаштування TLS:

  • Увімкніть TLS на поштовому сервері
  • Використовуйте сертифікати від довірених центрів сертифікації
  • Регулярно оновлюйте версії TLS до останніх безпечних версій
S/MIME та PGP

S/MIME (Secure/Multipurpose Internet Mail Extensions) та PGP (Pretty Good Privacy) забезпечують end-to-end шифрування листів:

  • Шифрують не тільки тіло листа, але й вкладення
  • Захищають від доступу провайдера електронної пошти
  • Вимагають обміну цифровими сертифікатами або публічними ключами
Двофакторна автентифікація (MFA)

MFA (Multi-Factor Authentication) додає додатковий рівень захисту для адміністративного доступу до поштових серверів:

  • Використовуйте MFA для всіх адміністраторів
  • Застосовуйте MFA для користувачів з підвищеними привілеями
  • Регулярно переглядайте та оновлюйте методи автентифікації
Фільтрація спаму та антивірус

Налаштуйте фільтри спаму та антивірусні сканери на поштовому сервері:

  • Використовуйте AI та машинне навчання для виявлення нових загроз
  • Регулярно оновлюйте антивірусні бази
  • Налаштуйте sandbox для детонації підозрілих вкладень
Моніторинг логів

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

  • Налаштуйте автоматичні сповіщення про незвичайні події
  • Використовуйте SIEM-системи для централізованого моніторингу
  • Зберігайте логи відповідно до політик безпеки організації
План реагування на інциденти

Розробіть та регулярно оновлюйте план реагування на інциденти безпеки електронної пошти:

  1. Ізолюйте скомпрометовані системи
  2. Визначте та усуньте вразливості
  3. Повідомте зацікавлені сторони
  4. Проведіть розслідування та аналіз інциденту
  5. Впровадьте заходи для запобігання повторенню

Висновок

Впровадження SPF, DKIM та DMARC разом із додатковими заходами безпеки є критично важливим для захисту домену від фішингу, спуфінгу та спаму. Починайте з базових налаштувань SPF та DKIM, потім переходьте до DMARC із політикою моніторингу, і поступово підвищуйте рівень захисту до p=reject. Регулярний моніторинг звітів та оновлення конфігурацій забезпечить стабільну безпеку вашої електронної пошти

0 0 votes
Rating
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Scroll to Top