Налаштування MTA-STS і TLS-RPT
MTA-STS (Mail Transfer Agent Strict Transport Security, RFC 8461) — відкритий стандарт, який дозволяє власнику домену оголосити, що пошта на його домен має прийматися лише через TLS-з'єднання з дійсним сертифікатом. Це захищає вхідну пошту від атак пониження шифрування (downgrade) і підміни MX.
Хто налаштовуєMTA-STS стосується пошти, яка надходить на ваш домен. Налаштовує його адміністратор домену на стороні поштового хостингу, DNS-провайдера та вебсервера — окремого розділу MTA-STS в інтерфейсі маркетингової платформи немає, тому шукати його там не потрібно.
Політику MTA-STS виконують лише поштові сервери, які підтримують цей стандарт. Інші сервери продовжують доставляти пошту без додаткової перевірки MTA-STS.
MTA-STS і DMARC
MTA-STS і DMARC розв'язують різні задачі та налаштовуються незалежно. DMARC допомагає серверам-одержувачам виявляти email із підробленим доменом відправника, а MTA-STS захищає доставлення email на ваш домен від атак на TLS-з'єднання.
MTA-STS не вимагає ані DMARC, ані певної політики DMARC. Автентифікація домену відправника (SPF, DKIM, DMARC) налаштовується окремо. Автентифікація email-домену >
Що потрібно для MTA-STS
MTA-STS складається з чотирьох частин:
- Піддомен
mta-sts.<ваш-домен>— робочий вебхост із дійсним TLS-сертифікатом. - Файл політики, доступний за HTTPS на цьому піддомені — містить перелік ваших MX-серверів і режим політики.
- DNS-запис TXT на піддомені
_mta-sts.<ваш-домен>— сигналізує відправникам, що політика існує, і зберігає її версію. - DNS-запис TXT на піддомені
_smtp._tls.<ваш-домен>— просить відправників надсилати вам звіти TLS-RPT.
Відправник спершу читає DNS-запис, і якщо значення id змінилося — завантажує файл політики й кешує його на час max_age.
Перед налаштуванням перевірте, чи всі MX-сервери вашого домену підтримують STARTTLS і використовують дійсні TLS-сертифікати. Якщо вхідна пошта проходить через сторонній шлюз, сервіс фільтрації або пересилання, уточніть у його провайдера, які MX-хости потрібно вказати в політиці MTA-STS.
Порядок налаштування
Файл політики має бути доступний до того, як DNS оголосить про її наявність. Щойно з'явиться запис _mta-sts, відправники почнуть шукати політику, тому на цей момент файл має бути на місці й коректний. Наведений порядок відповідає рекомендаціям Google Workspace і Microsoft.
- Налаштуйте TLS-RPT.
- Створіть піддомен
mta-stsі його хостинг. - Розмістіть файл політики в режимі
testingі перевірте його. - Опублікуйте DNS-запис
_mta-sts. - Проаналізуйте звіти й перейдіть на
enforce.
Крок 1. Звіти TLS-RPT
TLS-RPT (RFC 8460) — окремий стандарт, який дозволяє отримувати від відправників щоденні звіти про успішні й невдалі TLS-з'єднання з вашими MX-серверами. Налаштуйте його першим, щоб звіти охоплювали весь період тестування.
Додайте в DNS запис:
| Тип | Ім'я (Host) | Значення |
|---|---|---|
| TXT | _smtp._tls | v=TLSRPTv1; rua=mailto:[email protected] |
Замість [email protected] вкажіть скриньку, яка прийматиме звіти, або сервіс, що їх розбирає. Звіти надходять у форматі JSON і показують, скільки з'єднань пройшло успішно, а скільки завершилося помилкою і з якої причини. Типові причини помилок:
- MX-хост не відповідає переліку в політиці;
- сертифікат прострочений;
- сертифікат виданий не для цього MX-хоста;
- ланцюжок сертифіката недовірений;
- STARTTLS недоступний;
- помилка узгодження TLS.
Адреса для звітів в іншому доменіЯкщо адреса для звітів належить не тому домену, про який ці звіти, домен-одержувач має підтвердити свою згоду приймати їх додатковим DNS-записом. Ця вимога описана в RFC 8460; сервіс звітності підкаже точний запис.
Крок 2. Піддомен mta-sts
mta-stsФайл політики віддається за HTTPS з окремого піддомену mta-sts, тому цей піддомен має існувати як робочий вебхост:
- Створіть запис
A,AAAAабоCNAMEдляmta-sts.<ваш-домен>, який вказує на вебсервер або спеціалізований сервіс, що віддаватиме файл. - Налаштуйте на цьому сервері віддавання шляху
/.well-known/. - Випустіть TLS-сертифікат, дійсний для
mta-sts.<ваш-домен>.
Без цих трьох кроків адреса політики просто не існує, і всі наступні кроки не працюють.
Крок 3. Файл політики
Розмістіть текстовий файл за адресою:
https://mta-sts.<ваш-домен>/.well-known/mta-sts.txtВимоги стандарту:
- файл віддається лише за HTTPS з дійсним сертифікатом, виписаним на
mta-sts.<ваш-домен>; - тип вмісту —
text/plain; - переадресації не допускаються.
Приклад вмісту:
version: STSv1
mode: testing
mx: mx1.example.com
mx: mx2.example.com
max_age: 604800mode— режим політики, див. нижче. Починайте зtesting.mx— по одному рядку на кожен MX-хост вашого поштового провайдера. Значення мають збігатися з MX-записами домену; підтримуються шаблони на кшталт*.example.com.max_age— час кешування політики відправниками в секундах. Для періоду тестування беріть невелике значення (наприклад,86400— доба), для робочої політики — до31557600.
Перевірте файл, як описано в розділі Перевірка, і лише тоді переходьте далі.
Крок 4. DNS-запис _mta-sts
_mta-stsКоли файл політики доступний і коректний, оголосіть його TXT-записом:
| Тип | Ім'я (Host) | Значення |
|---|---|---|
| TXT | _mta-sts | v=STSv1; id=20260813120000 |
v=STSv1— версія стандарту, значення фіксоване.id— ідентифікатор поточної версії політики. Змінюйте його щоразу, коли редагуєте файл політики, — інакше відправники продовжать використовувати закешовану версію.
Згідно з RFC 8461, значення id містить від 1 до 32 символів — лише латинські літери й цифри. Це не обов'язково має бути дата: позначка часу — лише зручний спосіб створювати унікальні значення.
Крок 5. Режими політики
| Режим | Що робить відправник |
|---|---|
none | Політика не діє. Використовується, щоб коректно вивести MTA-STS з експлуатації. |
testing | Відправник не блокує доставку при помилці TLS, але надсилає звіт TLS-RPT. Режим для перевірки налаштувань. |
enforce | Відправник не доставляє лист, якщо TLS-з'єднання або сертифікат не відповідають політиці. |
Починайте з testing. Переходьте на enforce лише після того, як переконаєтеся зі звітів TLS-RPT, що помилок немає, і що перелік mx у політиці відповідає фактичним MX-записам домену. Після зміни файлу політики не забудьте оновити id у TXT-записі.
ВажливоУ режимі
enforceпомилки в переліку MX-серверів або в їхніх TLS-сертифікатах можуть призвести до затримки чи недоставлення вхідних email. Недоступність файла політики також заважає відправникам отримувати її нові версії. Точну логіку кешування й отримання політики визначає RFC 8461. Змінюйте MX-записи й політику узгоджено.
Перевірка
Перевірте файл політики:
curl -I https://mta-sts.example.com/.well-known/mta-sts.txtВідповідь має бути 200, із заголовком Content-Type: text/plain і без переадресації. Далі прочитайте сам файл і переконайтеся, що синтаксис правильний, а рядки mx збігаються з фактичними MX-записами:
curl https://mta-sts.example.com/.well-known/mta-sts.txt
dig +short MX example.comПеревірте обидва TXT-записи й повторіть запит через інший резолвер, щоб переконатися, що записи поширилися:
dig +short TXT _mta-sts.example.com
dig +short TXT _smtp._tls.example.com
dig +short TXT _mta-sts.example.com @1.1.1.1Переконайтеся, що кожен хост із переліку mx приймає STARTTLS з дійсним сертифікатом. Зовнішній валідатор MTA-STS корисний як додаткова перевірка, але не як єдиний доказ коректності налаштування.
Залишайте політику в режимі testing щонайменше кілька днів, а для доменів із невеликим або нерегулярним поштовим трафіком — кілька тижнів. Переходьте на enforce лише після того, як звіти охоплять усі основні джерела вхідної пошти й не показуватимуть системних помилок.
Якщо після ввімкнення enforce виникли проблеми
enforce виникли проблеми- Змініть у файлі політики
mode: enforceнаmode: testing. - Опублікуйте оновлений файл.
- Змініть
idу DNS-записі_mta-sts, щоб відправники завантажили нову версію. - Перевіряйте TLS-RPT і виправте проблеми з MX-серверами або сертифікатами.
Через кешування зміна може застосуватися не миттєво. Не видаляйте DNS-запис: відправники можуть продовжувати використовувати закешовану політику до завершення max_age.
Зміна MX-серверів
Змінюйте MX-записи й політику узгоджено:
- Переведіть політику в режим
testingі змініть їїid. - Додайте нові MX-хости до файла політики до зміни DNS.
- Перевірте їхні TLS-сертифікати та STARTTLS.
- Змініть MX-записи домену.
- Проаналізуйте TLS-RPT.
- Поверніться до
enforceі знову оновітьid.
Враховуйте попереднє значення max_age: закешована політика може діяти в частини відправників до завершення цього періоду.
Пов'язані статті
Updated about 12 hours ago