E-mailové zprávy, které odesíláte nemusí vždy být vaše. Co tím myslím? Internetoví útočníci mohou například podvrhnout vaši e-mailovou adresu jako jejich vlastní. Může tak přijít e-mail, který se tváří jako odeslaný od vás, ale není to pravda.
Jak se můžete chránit? Pomocí speciálních DNS záznamů typu TXT. Těmito záznamy jsou v Office 365 záznamy SPF, DKIM a DMARC. Ty přidáte ke své doméně a máte vyhráno.
SPF = Sender Policy Framework ověřuje IP adresu odesílatele a pomáhá tak zabránit zfalšování (spoofingu) odesílatele e-mailu.
V DNS záznamech je zapsán jako TXT záznam potřebný pro služby Microsoft 365 (dříve Office 365) a jiné služby, které odesílají e-maily jménem vaší domény. SPF záznam spolupracuje se záznamem DMARC.
v=spf1 include:spf.protection.outlook.com -all
Takto vypadá DNS záznam typu TXT pro SPF (Sender Policy Framework) v Office 365. Pokud používáte další služby odesílající e-maily jménem vaší domény, záznamů je potřeba více.
Záleží na tom, co vše používáte pro odesílání e-mailů z vaší domény. Podle toho sestavíte SPF záznam.
Záznam musí obsahovat tyto hodnoty:
Tento záznam je začátek každého SPF záznamu TXT v DNS:
v=spf1
pravidlo prosazování <-all, ~all, ?all>
-All | ~all | ?all |
---|---|---|
Pokud znáte veškeré IP adresy a odesílatele a uvedete je v SPF záznamu, použijte toto pravidlo – silně doporučuji | Pokud nevíte, zda jste uvedli veškeré IP adresy a odesílatele, použijte toto pravidlo. Pokud používáte DMARC s pravidlem p=quarantine nebo p=reject | Pouze pro testovací účely záznamu. Nedoporučuji používat. |
include:spf.protection.outlook.com
Tento záznam znamená, že Exchange Online smí odesílat jménem vaší domény v Microsoft 365.
Volitelné hodnoty:
a
a = Přidá k SPF záznamu IP adresu na kterou směřuje DNS záznam typu A u domény.
mx
mx = Přidá k SPF záznamu adresu na kterou směřuje DNS záznam typu MX u domény.
ip4:<IP adresa>
ip6:<IP adresa>
ip4, ip6 = Jako IP adresu můžete doplnit adresu dalšího e-mailového serveru, který smí odesílat poštu jménem vaší domény.
include: <název domény>
include = Jako název domény můžete doplnit doménu další služby, který smí odesílat poštu jménem vaší domény.
Office 365 + Vlastní server na IP adrese 192.168.1.1.
v=spf1 ip:192.168.1.1 include:spf.protection.outlook.com -all
Office 365 + Vlastní server na IP adrese 192.168.1.1. + Webový server
v=spf1 a ip:192.168.1.1 include:spf.protection.outlook.com -all
DKIM = DomainKeys Identified Mail přidává do hlavičky e-mailu ověření odesílatele pomocí privátního klíče (elektronického podpisu), který říká, že je odesílatel za svou zprávu zodpovědný.
V DNS se jedná o 2 CNAME záznamy (selektory) pro služby, které odesílají e-maily jménem vaší domény.
CNAME název
selector1._domainkey.<doména>
selector2._domainkey.<doména>
CNAME hodnota
selector1-<GUID>._domainkey.<počáteční doména>
selector2-<GUID>._domainkey.<počáteční doména>
TTL:
3600
Takto vypadají DNS záznamy pro DKIM v Office 365. Pokud používáte další služby odesílající e-maily jménem vaší domény, které podporují DKIM, budete potřebovat přidat další záznamy.
K vytvoření DKIM záznamu potřebujete znát adresu vaší dočasné domény, kterou jste si vytvořili při založení Office 365 tenantu.
Záznam musí obsahovat tyto hodnoty:
<doména>
Doména, ze které odesíláte e-maily, například: domena.cz
<GUID>
Stejný název domény, jako ten, který obsahuje MX záznam Exchange Online, například domena-cz.mail.protection.outlook.com
<počáteční doména>
Přednastavená doména .onmicrosoft, kterou získáte při založení Office 365. Například: domena-cz.onmicrosoft.com
Přihlašte se do Exchange Online pomocí PowerShellu a vložte příkaz pro aktivování DKIM ověření.
New-DkimSigningConfig -DomainName vasedomena.cz -Enabled $true
Pokud vaše doména ještě nemá přidány záznamy pro DKIM v DNS a DKIM není aktivován, pak se vám v PowerShellu vypíše kompletní hodnota selektoru 1 a 2.
WARNING: The config was created but can't be enabled because the CNAME records aren't published. Publish the following
two CNAME records, and then enable the config by using Set-DkimSigningConfig.
selector1-microsoftoffice365-cz02c1b._domainkey.innovativebusinessczech.onmicrosoft.com
selector2-microsoftoffice365-cz02c1b._domainkey.innovativebusinessczech.onmicrosoft.com
Po vyplnění a aktualizaci DNS, můžete pokračovat v PowerShellu příkazem pro aktivaci DKIM.
Set-DkimSigningConfig -Identity microsoft-office-365.cz -Enabled $true
Zda se nastavení DKIM podařilo si ozkoušíte pomocí příkazu.
Get-DkimSigningConfig -Identity microsoft-office-365.cz | fl
Office 365 s vlastní doménou domena.cz, GUID domena-cz a počáteční doménou domena-cz.onmicrosoft.com
Hostitel: selector1._domainkey.domena.cz
Míří na hodnotu nebo adresu:
selector1-domena-cz._domainkey.domena-cz.onmicrosoft.com
TTL: 3600
Hostitel: selector2._domainkey.domena.cz
Míří na hodnotu nebo adresu:
selector2-domena-cz._domainkey.domena-cz.onmicrosoft.com
TTL: 3600
Ukázkové nastavení pro doménu alessykora.cz u WEDOS.
Ukázkové nastavení pro další doménu microsoft-office-365.cz v již založeném tenantu Microsoft 365 společnosti Innovative Business.
Momentálně nedostupné v novém Exchange Admin centru. Můžete si pouze zkontrolovat, zda se vám nastavení DKIM přes PowerShell podařilo, případně DKIM ověřování vypnout.
Připojte se k Exchange Online pomocí Powershellu a pokračujte:
Pokud jste již v minulosti aktivovali DKIM
Získejte GUID aktuální konfigurace
Get-DkimSigningConfig -Identity nazevdomeny.cz | fl
Změňte klíč na 2048-bit (GUID zadávejte bez složených závorek)
Rotate-DkimSigningConfig -KeySize 2048 -Identity {Guid existujícího configu}
Pokud jde o novou aktivaci DKIM (doménu zadávejte bez složených závorek)
New-DkimSigningConfig -DomainName nazevdomeny.cz -KeySize 2048 -Enabled $True
TIP: Nový klíč selector1 se automaticky změní při RotateOnDate. To trvá většinou 4 dny. Do té doby budete posílat e-maily se standardním 1024-bit klíčem. Druhý klíč selector2 se změní po 6 měsících, nebo ho po 4 dnech po ujištění, že první je již 2018-bit můžete změnit pomocí příkazu výše.
DMARC = Domain-based Message Authentication, Reporting and Conformance je systém, který na základě výsledků obou předchozích kontrol SPF a DKIM vyhodnocuje, zda nebyla zpráva falšována. SPF záznam zkontroluje DNS u příjemce, DKIM zkontroluje odesílatele. Pokud jedna z kontrol objeví problém, pak DMARC ověření selže.
Výhodou je, že DMARC může odpovědné osobě zasílat reporty. Pověřená osoba pak může vyhodnocovat jak s e-maily pracují zaměstnanci a najít bezpečnostní rizika. V DNS záznamech se DMARC zapisuje jako TXT záznam.
_dmarc.domena.cz. 3600 IN TXT "v = DMARC1; p = none; pct = 100; rua = mailto: ales@domena.cz; ruf = mailto: ales@domena.cz;
Takto vypadá TXT záznam DMARC v DNS pro služby Office 365 a doménu domena.cz. V Office 365 se nastavuje DMARC pro odchozí poštu.
Záleží na tom, co vše budete v DMARC záznamu chtít používat. Důležité je mít správně nastaveny předchozí záznamy, tedy DKIM a SPF. Bez nich vám DMARC fungovat nebude a pravděpodobně si vyřadíte z provozu firemní poštu.
Záznam musí obsahovat tyto hodnoty:
v=DMARC1;
v = Tento záznam je začátek každého DMARC záznamu TXT v DNS. Jde o verzi protokolu DMARC. Momentálně lze použít pouze DMARC1.
p=<none, quarantine, reject>;
p = Nastavení politiky odmítnutí pro doménu:
none | quarantine | reject |
---|---|---|
Ideální možnost při první implementaci DMARCu. Pokud nastavíte p = none; poběží pouze monitorování. Podle výstupů z reportingu se pak můžete zaměřit na nastavení emailů ze svých systému a ostatních prvků DMARC záznamu a přejít na striktnější nastavení. | Ve chvíli, kdy si budete jisti, že veškerá legitimní e-mailová komunikace je v pořádku zabezpečená pomocí DMARCu, můžete přepnout na režim karantény. V tomto režimu žádáte příjemce, aby e-maily přemístil do karantény (spamu), pokud ověření DMARC selhalo. | Pokud jste si jisti, že všechny vaše e-maily splňují DMARC pravidla, přepnete na p = reject; čímž řeknete serveru, který přijímá vaše e-maily aby e-maily, které neprojdou kontrolou DMARC, odmítal. |
Volitelné hodnoty DMARC:
sp=<none, quarantine, reject>;
sp = DMARC politika pro subdomény (např. subdom.alessykora.cz). Používá stejné hodnoty, jako parametr p.
pct=100;
pct = Nastavení % zpráv, které mají procházet kontrolou DMARC (100 = 100% zpráv).
rua:mailto:<e-mail>;
rua = E-mailová adresa pro zasílání forenzních přehledů ke každé zprávě, která neprojde ověřením DMARC.
ruf:mailto:<e-mail>;
ruf = E-mailová adresa pro zasílání agregovaných přehledů o porušení DMARC politiky. Tedy všech zpráv, které poruší DMARC za určité období.
ri:<čas v sekundách>
ri = Definuje čas v sekundách mezi agregovanými reporty ruf v XML. Standardně 86400 (24h).
adkim=<r,s>
adkim = Definuje jak se bude kontrolovat shoda DKIM.
aspf=<r,s>
aspf = Definuje jak se bude kontrolovat shoda SPF
rf=afrf
rf = Definuje formát zasílaných přehledů. Momentálně pouze afrf (jde o standardizovaný formát DMARC reportů a jiný se nepoužívá).
fo=<0,1,d,s>
fo = Mód zasílání forenzních reportů
DMARC pro celou doménu v monitorovacím režimu a s reporty o e-mailech
"v=DMARC1; p=none; rua=mailto:reporty@domena.cz; ruf=mailto:reporty@domena.cz"
DMARC pro doménu v režimu karantény s 25% vzorkem e-mailů, které jsou podrobeny ověření
"v=DMARC1; p=quarantine; rua=mailto:reporty@domena.cz, mailto:reporty@domena.cz; pct=25;
Ukázka kompletního záznamu se všemi paramentry
v=DMARC1; p=none; sp=none; adkim=r; aspf=r; fo=0; rua=mailto:dmarc@alessykora.cz; ruf=mailto:dmarc@alessykora.cz; rf=afrf; pct=100; ri=86400