Накратко: SPF, DKIM и DMARC са три DNS записа, които доказват, че писмата от вашия домейн наистина идват от вас. SPF посочва кои сървъри имат право да изпращат поща от името на домейна. DKIM добавя цифров подпис към всяко писмо, който показва, че то не е подменено по пътя. DMARC казва на получателите какво да правят с писма, които не минават проверките, и ви изпраща отчети. Заедно те намаляват шанса писмата ви да попадат в спам и пречат на измамници да пишат от ваше име. Настройват се за минути в DNS зоната на домейна.
Защо пощата има нужда от защита
Имейлът е създаден без вградена проверка на подателя, затова всеки може да напише в полето „От“ какъвто адрес пожелае. Измамниците използват това, за да изпращат писма, които изглеждат като от вашата фирма: фалшиви фактури, искания за плащане, връзки към подправени сайтове.
Пощенските услуги се защитават, като проверяват дали писмото наистина идва от домейна, който твърди. Ако домейнът ви няма SPF, DKIM и DMARC, те не могат да разберат кое писмо е истинско и кое не. Резултатът е двоен проблем: вашите истински писма по-често попадат в спам, а фалшивите имат по-голям шанс да стигнат до клиентите ви.
Днес големите пощенски услуги изискват тези записи от подателите, особено от тези, които изпращат много писма. Затова настройката им вече не е „допълнителна екстра“, а основна част от всеки имейл с домейн.
Има и още една полза, за която рядко се говори. Когато домейнът ви е защитен, измамните писма от ваше име спират още при сървъра на получателя. Така клиентите ви не получават фалшиви фактури с вашето лого, а репутацията на марката ви остава чиста. За малкия бизнес това често струва повече от самата доставка на писмата.
Трите записа накратко
SPF проверява сървъра, DKIM проверява подписа, а DMARC свързва двете с домейна в полето „От“ и задава правилата.
| SPF | DKIM | DMARC | |
|---|---|---|---|
| Въпрос | От разрешен сървър ли идва писмото? | Подписано ли е и непокътнато ли е? | Съвпада ли с видимия подател и какво да правим, ако не? |
| Вид DNS запис | TXT на домейна | TXT на селектор._domainkey | TXT на _dmarc |
| Кой го създава | Вие, по списъка на услугите, които пращат поща | Пощенската услуга генерира ключа, вие го публикувате | Вие |
| Сам по себе си достатъчен ли е | Не | Не | Работи само заедно със SPF или DKIM |
Добро сравнение е пратка с куриер. SPF е списъкът с куриерите, на които фирмата се доверява. DKIM е печатът върху плика, който показва, че пратката не е отваряна. DMARC е инструкцията към получателя: „Ако куриерът не е от списъка и печатът липсва, върнете пратката и ми съобщете“.
SPF: кой има право да изпраща
SPF (Sender Policy Framework) е TXT запис със списък на сървърите и услугите, които имат право да изпращат поща от името на вашия домейн. Получателят сравнява сървъра, от който е дошло писмото, с този списък.
Как изглежда SPF запис
firma.bg. TXT "v=spf1 a mx include:_spf.example.net -all"
| Част | Значение |
|---|---|
v=spf1 | Задължително начало, казва, че това е SPF запис |
a | Разрешава сървъра, към който сочи запис A на домейна |
mx | Разрешава сървърите от MX записите |
ip4:203.0.113.10 | Разрешава конкретен IPv4 адрес |
include:... | Добавя списъка на външна услуга, например за бюлетини |
-all | Всички останали сървъри нямат право (строго) |
~all | Всички останали са подозрителни (меко), често за начало |
Важни правила за SPF
- Само един SPF запис на домейн. Ако имате два записа, които започват с
v=spf1, проверката се проваля. Обединете всичко в един ред. - Ограничение на справките. SPF позволява най-много 10 DNS справки при проверка. Всеки
include,aиmxсе брои. Твърде много външни услуги могат да надхвърлят лимита. - Използвайте точните стойности, които ви дава всяка пощенска услуга. Не ги измисляйте.
- SPF проверява „техническия“ подател (адреса за връщане), а не видимото поле „От“. Затова сам по себе си не спира подправянето на видимия адрес. Тук помага DMARC.
DKIM: цифров подпис на писмото
DKIM (DomainKeys Identified Mail) добавя криптографски подпис към всяко изпратено писмо, а публичният ключ за проверка се публикува в DNS. Получателят проверява подписа и така разбира, че писмото е изпратено от сървър, който притежава частния ключ, и че съдържанието не е променено по пътя.
Как работи
DKIM-Signature с името на домейна и селектора.селектор._domainkey.firma.bg.Как изглежда DKIM запис
mail._domainkey.firma.bg. TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqh...(дълъг ключ)"
Думата mail в примера е селектор. Той позволява един домейн да има няколко ключа, например един за обикновената поща и друг за услугата за бюлетини. Не е нужно да генерирате ключа сами: пощенската услуга го създава и ви дава точно какво да добавите в DNS. Някои хостинг панели включват DKIM с един бутон.
DMARC: правилата и отчетите
DMARC (Domain-based Message Authentication, Reporting and Conformance) казва на получателите какво да правят с писма, които не минават SPF и DKIM, и ви изпраща отчети кой праща поща от името на домейна ви.
Как изглежда DMARC запис
_dmarc.firma.bg. TXT "v=DMARC1; p=none; rua=mailto:dmarc@firma.bg"
| Част | Значение |
|---|---|
v=DMARC1 | Задължително начало |
p=none | Само наблюдение: писмата се доставят нормално, вие получавате отчети |
p=quarantine | Писмата, които не минават, се слагат в спам |
p=reject | Писмата, които не минават, се отхвърлят |
rua=mailto:... | Адрес за обобщени отчети |
pct=50 | Правилото важи за част от писмата, полезно при постепенно затягане |
sp= | Отделно правило за поддомейните |
Постепенно затягане
Не започвайте направо с p=reject. Ако някоя легитимна услуга, например онлайн магазинът ви, изпраща писма без правилен SPF или DKIM, те ще бъдат отхвърлени. Правилният път е:
- Наблюдение:
p=noneи отчети. Следете няколко седмици кой изпраща от името ви. - Поправка: добавете липсващите услуги в SPF и включете DKIM за тях.
- Карантина:
p=quarantine, по желание сpctза част от писмата. - Отхвърляне:
p=reject, когато сте сигурни, че всички истински писма минават.
Съвпадение на домейните (alignment)
DMARC приема писмото само ако SPF или DKIM минават и домейнът, който те проверяват, съвпада с домейна в полето „От“. Това се нарича съвпадение или alignment и е ключът към защитата срещу подправяне.
Пример: услуга за бюлетини изпраща писмо с „От: office@firma.bg“, но го подписва с DKIM на собствения си домейн. DKIM минава, но домейнът не съвпада с firma.bg, затова DMARC няма да го зачете. Решението е да настроите услугата да подписва с DKIM на вашия домейн, обикновено като добавите записи, които тя ви дава.
| Ситуация | SPF | DKIM | DMARC |
|---|---|---|---|
| Поща от вашия сървър, всичко настроено | ✔ съвпада | ✔ съвпада | ✔ минава |
| Бюлетин без DKIM на вашия домейн | ✔, но друг домейн | ✔, но друг домейн | ✘ не минава |
| Бюлетин с DKIM на вашия домейн | ✔, но друг домейн | ✔ съвпада | ✔ минава |
| Измамник, който подправя „От“ | ✘ | ✘ | ✘ отхвърлено при p=reject |
Настройка стъпка по стъпка
Настройката се прави в DNS зоната на домейна, там, където управлявате и останалите записи. Ако не сте сигурни къде е тя, вижте Как да свържем домейн с хостинг.
Стъпка 1: Направете списък на всички, които изпращат поща от ваше име
Пощенският сървър на хостинга, услугата за бюлетини, онлайн магазинът, системата за фактури, формата за контакт на сайта. Всеки от тях трябва да бъде включен.
Стъпка 2: Създайте или обновете SPF
Ако вече има SPF запис, редактирайте го, а не добавяйте нов. Добавете include или IP адресите на всички услуги от списъка. Започнете с ~all, а когато сте сигурни, преминете към -all.
Стъпка 3: Включете DKIM
В контролния панел на хостинга включете DKIM за домейна или копирайте записа, който той генерира. Направете същото за всяка външна услуга, която изпраща от ваше име.
Стъпка 4: Добавете DMARC в режим наблюдение
Име: _dmarc
Вид: TXT
Стойност: v=DMARC1; p=none; rua=mailto:dmarc@firma.bg
Създайте и кутията или псевдонима за отчетите, например dmarc@, за да не пълнят те основната ви поща.
Стъпка 5: Проверете и затегнете
Проверете записите с онлайн инструмент, изпратете тестово писмо и вижте заглавията му. След няколко седмици отчети преминете към quarantine и после към reject.
Външни услуги: бюлетини, магазин, CRM
Всяка услуга, която изпраща писма с вашия адрес в полето „От“, трябва да бъде включена в SPF и да подписва с DKIM на вашия домейн. Това е най-честата причина бюлетините и писмата за поръчки да отиват в спам.
- Услуги за бюлетини: обикновено дават стойност за
includeи записи за DKIM, често като CNAME. Добавете ги и потвърдете домейна в тяхната система. - Онлайн магазин на собствен хостинг: писмата за поръчки се изпращат от сървъра на сайта. Уверете се, че той е в SPF, или настройте магазина да изпраща през вашата пощенска кутия чрез SMTP.
- Форми за контакт: добре е да изпращат чрез SMTP с истинска кутия, а не директно от сървъра, за да минават проверките.
- Системи за фактури и CRM: проверете в настройките им как се свързва собствен домейн за изпращане.
Ако сайтът ви е на WordPress, плъгините за SMTP позволяват писмата от сайта да се изпращат чрез пощенската ви кутия, което решава много проблеми с доставката.
Защита на домейни, които не изпращат поща
Домейн, от който никога не изпращате писма, също има нужда от SPF и DMARC, за да не може никой да го използва за измами. Това важи например за втория домейн, който само пренасочва към основния, или за стар домейн на марка, която вече не използвате.
За такъв домейн добавете два прости записа:
firma.com. TXT "v=spf1 -all"
_dmarc.firma.com. TXT "v=DMARC1; p=reject"
Първият казва, че нито един сървър няма право да изпраща поща от името на домейна. Вторият казва на получателите да отхвърлят всяко писмо, което твърди, че идва от него. Ако домейнът приема поща чрез препращане, двата записа не пречат на получаването, защото засягат само изпращането. Повече за стратегията с два домейна има в статията .com или .bg.
Как да проверите записите
Проверете записите с команда, с онлайн инструмент и с реално писмо до свой адрес.
dig firma.bg TXT +short
dig mail._domainkey.firma.bg TXT +short
dig _dmarc.firma.bg TXT +short
В Windows използвайте nslookup -type=txt firma.bg и съответно за другите имена. Отговорът трябва да показва точно записите, които сте добавили.
Най-сигурната проверка е реално писмо. Изпратете писмо до адрес при друга пощенска услуга, отворете го и вижте оригиналните заглавия (често се наричат „Покажи оригинала“ или „Заглавия“). Потърсете редове като:
Authentication-Results: ...
spf=pass smtp.mailfrom=firma.bg;
dkim=pass header.d=firma.bg;
dmarc=pass header.from=firma.bg
Ако и трите показват pass, настройката е успешна.
Как да четете DMARC отчетите
DMARC отчетите са файлове, които пощенските услуги ви изпращат и в които пише от кои сървъри са дошли писма от името на домейна ви и дали са минали проверките.
Отчетите пристигат като прикачени файлове във формат XML, обикновено веднъж на ден от всяка голяма пощенска услуга, която е получила писма от вас. Четенето им на ръка е трудно, затова има безплатни и платени инструменти, които ги превръщат в разбираеми таблици и графики.
На какво да обърнете внимание:
- Познати сървъри, които не минават. Това е ваша услуга, която трябва да добавите в SPF или да ѝ включите DKIM.
- Непознати сървъри, които не минават. Вероятно опити за подправяне. Точно от тях ви пази затягането на DMARC.
- Препращания. Когато получател препраща писмото ви, SPF често се проваля, но DKIM обикновено оцелява. Затова DKIM е особено важен.
Чести грешки
- Два SPF записа вместо един обединен.
- Надхвърлен лимит от 10 справки в SPF заради твърде много
include. - Незавършен DKIM ключ, копиран с липсващ край или излишни интервали.
- Директно
p=rejectбез период на наблюдение и отхвърлени истински писма. - Забравена външна услуга, чиито писма за поръчки или бюлетини отиват в спам.
- DMARC отчети в основната кутия, които я задръстват.
- Записи на грешно име, например DMARC на корена на домейна вместо на
_dmarc. - Промени без запис на старите стойности и трудно връщане назад при проблем.
Митове
- „SPF е достатъчен.“ Не. SPF не проверява видимото поле „От“ и се проваля при препращане. Нужни са и DKIM, и DMARC.
- „Тези записи са само за големи фирми.“ Напротив. Малките фирми са честа мишена на измами с подправени фактури, а записите са безплатни.
- „С DMARC писмата ми никога няма да отиват в спам.“ Записите помагат много, но спам филтрите гледат и съдържанието, репутацията и поведението на подателя.
- „Щом не изпращам бюлетини, не ми трябва DMARC.“ DMARC пази и от други, които биха изпращали от ваше име, независимо дали вие пращате бюлетини.
- „Настройва се веднъж и толкова.“ При всяка нова услуга, която изпраща поща от ваше име, записите трябва да се обновят.
Често задавани въпроси
Какво е SPF запис?
SPF е TXT запис в DNS, който изброява сървърите и услугите, имащи право да изпращат поща от името на домейна. Получателите проверяват дали писмото идва от разрешен сървър.
Какво е DKIM?
DKIM е цифров подпис, който пощенският сървър добавя към всяко писмо. Публичният ключ е в DNS и позволява на получателя да провери, че писмото идва от домейна и не е променено по пътя.
Какво е DMARC?
DMARC е правило в DNS, което казва на получателите какво да правят с писма, които не минават SPF и DKIM, и изпраща отчети на собственика на домейна. Стойностите са none, quarantine и reject.
Трябват ли ми и трите записа?
Да. SPF и DKIM проверяват различни неща, а DMARC ги свързва с видимия подател. Заедно те дават най-добра защита и най-добра доставка.
С каква DMARC политика да започна?
С p=none и адрес за отчети. Следете отчетите няколко седмици, поправете липсващите услуги и чак тогава преминете към quarantine и reject.
Мога ли да имам два SPF записа?
Не. Домейнът трябва да има само един SPF запис. Ако имате няколко услуги, добавете ги всички в един ред с include или ip4.
Защо писмата от сайта ми отиват в спам?
Често защото сайтът изпраща директно от сървъра, който не е в SPF, и без DKIM. Настройте сайта да изпраща чрез SMTP с истинска пощенска кутия на домейна.
Как да проверя дали всичко е настроено правилно?
Изпратете писмо до адрес при друга пощенска услуга и вижте оригиналните заглавия. Ако spf, dkim и dmarc показват pass, настройката е успешна. Можете да използвате и онлайн инструменти за проверка.
Обобщение
SPF казва кой може да изпраща, DKIM подписва всяко писмо, а DMARC свързва двете с вашия домейн и задава правилата. Настройте и трите, започнете с DMARC в режим наблюдение, включете всички външни услуги и постепенно затегнете политиката. Така писмата ви стигат по-сигурно до клиентите, а измамниците трудно могат да пишат от ваше име. В следващата статия ще видим как се прехвърля домейн от един регистратор към друг.
Поща, която стига до клиентите
Хостинг с пощенски кутии и пълен контрол над DNS записите на домейна.
Разгледайте хостинг плановете