Moodul 4 · 4.2
SPF praktikas: kõigi saatjate kaardistamine
Moodul 4: Kohaletoimetatavus: SPF, DKIM ja DMARC praktikas · Lugemisaeg: 12 minutit
Õpieesmärk: pärast seda tundi oskad leida kõik teenused, mis saadavad kirju sinu domeeni nimel, panna need ühte SPF-kirjesse, lugeda otsinguid rekursiivselt kokku kuni kümne piirini ning valida teadlikult ~all ja -all vahel.
Põhimõisted: saatjate inventuur, envelope sender (Return-Path), üks SPF-kirje, include, redirect, piirang 10 DNS-otsingule (RFC 7208 lõik 4.6.4), tühjad otsingud (void lookups, maksimaalselt 2), rekursiivne loendamine, permerror, flattening, SPF alamdomeenidele, SPF domeenil, mis kirju ei saada, ~all ja -all
Korda veel kord
SPF-kirje on sinu domeeni TXT-kirje, mis algab tekstiga v=spf1 ja loetleb, millised serverid tohivad sinu domeeni nimel kirju saata. Ülesehitus, märgid + - ~ ? ja kolm kõige levinumat viga (kaks kirjet, +all, rohkem kui kümme otsingut) on kirjas DNS-kursuse tunnis 4.3. Loe see enne läbi, kui SPF on sulle uus teema. See tund keskendub keerulisele osale: praktikas ei tea peaaegu keegi täpselt, kes kõik tema domeeni nimel kirju saadab.
Samm 1: inventuur
SPF toimib ainult siis, kui kõik saatjad on kirjas. Kui unustad ühe ära, läheb tema kiri rämpsposti või lükatakse tagasi niipea, kui karmistad DMARC-i. Käi seepärast see nimekiri läbi. Keskmise väikese ettevõtte puhul leiad kiiresti viis või kuus:
| Saatja tüüp | Näited | Kuidas selgitada välja? |
|---|---|---|
| Sinu tavaline postkast | sinu majutuspakkuja meiliserver, Microsoft 365, Google Workspace | Vaata, kuhu sinu MX osutab ja mille kaudu sinu meiliprogramm kirju saadab |
| Sinu veebisait | kontaktvorm, parooli taastamise kirjad, veebipoe tellimuse kinnitused | Küsi veebiarendajalt, vaata WordPressi või veebipoe seadeid |
| Uudiskirjateenus | Mailchimp, Brevo, Laposta, MailerLite | Vaata oma tellimusi |
| Raamatupidamine ja arved | raamatupidamisprogramm, mis saadab arveid sinu nimel | Saada endale arve ja loe päiseid |
| Muu tarkvara | CRM, kohtumiste planeerija, kasutajatugi, küsitlustööriist, makseteenus | Küsi kontoris ringi |
| Seadmed | printer või skanner, mis skaneerib meiliks, kaamera või valvesüsteem | Tavaliselt sinu tavalise meiliserveri kaudu; kontrolli üle |
Kaks head viisi nende leidmiseks:
- Loe päiseid. Saada igast süsteemist endale kiri (arve, parooli taastamine, testuudiskiri) ja vaata päistest
Return-PathjaAuthentication-Results(tund 1.5). Sealt näed, millise domeeni ja serveri kaudu kiri tuli. - DMARC-aruanded. Sea DMARC väärtusele
p=nonekoos aruande aadressiga (tund 4.4). Mõne nädala pärast näed aruannetest (tund 4.5) iga serverit, mis sinu domeeni nimel kirju saatis, ka neid, mille olid unustanud. See on kõige usaldusväärsem inventuur.
Mitte iga teenus ei kuulu sinu SPF-i
Siin tehakse tihti viga. SPF vaatab envelope sender'it (Return-Path), mitte Kust-aadressi. Paljud uudiskirja- ja saatmisteenused saadavad kirju oma domeeni Return-Path'iga, näiteks bounce-123@mail.mailer.example. Vastuvõtja kontrollib siis mailer.example SPF-kirjet, mitte sinu oma. Selle teenuse include sinu kirjes ei tee siis mitte midagi, peale ühe otsingu kulutamise.
Mida see teenus DMARC-ist läbipääsemiseks tegelikult vajab, on DKIM-allkiri sinu domeeniga (tund 4.3) või sinu enda Return-Path alamdomeen (näiteks bounce.example.com CNAME-kirjena teenuse poole). Loe seega teenuse juhendist, mida see nõuab. Kui seal kirjutatakse "lisa oma SPF-i include:", tee seda. Kui seal öeldakse ainult "loo need CNAME-kirjed DKIM-i ja bounce-domeeni jaoks", siis ei pea sinu põhikirjesse midagi lisama. Moodul 7 käsitleb seda põhjalikumalt.
Samm 2: üks kirje, ja õige loendamine
Kõik saatjad lähevad ühte kirjesse. Oletame, et sinu inventuur annab tulemuseks: sinu majutuspakkuja meiliserver, Microsoft 365 mõnele töötajale, sinu raamatupidamisprogramm ja kasutajatugi. Siis näeb kirje välja näiteks selline:
example.com. 3600 IN TXT "v=spf1 a mx include:spf.hosting.example include:spf.protection.outlook.com include:_spf.boekhoud.example include:mail.helpdesk.example ~all"Mitu otsingut see teeb? Loenda iga a, mx, include, exists, ptr ja redirect, ja loenda seejärel ka kõik, mis on iga include taga olevates kirjetes:
| Osa | Otsingud | Selgitus |
|---|---|---|
a | 1 | domeeni example.com A/AAAA-kirje |
mx | 1 | MX-kirjed (MX-hostide aadressid ei lähe kümne piiri sisse eraldi arvesse, kuid neid tohib olla kõige rohkem kümme) |
include:spf.hosting.example | 1 + 0 | seal olev kirje sisaldab ainult ip4: ja ip6: |
include:spf.protection.outlook.com | 1 + 0 | samamoodi (nii oli see 8. novembril 2026) |
include:_spf.boekhoud.example | 1 + 3 | sellel kirjel on ise kolm include't, kummalgi ainult IP-aadressid |
include:mail.helpdesk.example | 1 + 2 | sellel kirjel on include: kahele pilveteenusele |
| Kokku | 11 | üks liiga palju |
11 juures annab vastuvõtja permerror'i: kogu SPF-kirje ei loe siis enam, mitte ühegi saatja jaoks. Sinu enda meiliserveri kiri saab seega halvema hinnangu, sest kasutajatugi kulutab kolm otsingut. Ja salakaval on see, et sinu kirje võib täna olla 9 ja homme 11, ilma et sina midagi muudaksid, sest mõni teenus laiendab oma kirjet.
Lisaks: maksimaalselt kaks tühja otsingut
RFC 7208 nimetab ka void lookup'eid: otsinguid, mis ei anna tulemust (nimi ei eksisteeri või sellel pole SPF- või aadressikirjet). Rohkem kui kaks neist viib samuti permerror'ini. See juhtub peamiselt vanade include'idega teenustelt, mida enam ei kasuta ja mis on oma kirje eemaldanud, või a:-ga serverile, mida enam ei eksisteeri. Seega korista üle.
Samm 3: tagasi kümne alla
Kui oled kümnest üle, on neli lahendust, parimast kehvimani:
- Eemalda, mida ei vaja. Teenused, mida enam ei kasuta. Teenused, mis saadavad oma Return-Path'iga (vt eespool) ega kuulu seega sinu SPF-i.
a, kui sinu veebisait ise kirju ei saada.mx, kui sinu MX osutab teenusele, mis juba on sinu kirjesinclude'ina olemas. - Kasuta alamdomeeni. Lase teenusel saata aadressilt
nieuws.example.comvõifactuur.example.com. See alamdomeen saab oma SPF-kirje ainult selle teenusega ega lähe sinu peadomeeni kümne sisse arvesse. DMARC-i joondus (tund 4.4) töötab vaikimisi ka alamdomeenidel. - Kasuta
ip4:jaip6:enda püsivatele serveritele. Need ei kuluta otsingut. Tee seda ainult aadresside jaoks, mida sina haldad ja mis ei muutu. - Flattening (kõigi include'ide asendamine nende hetkel taga olevate IP-aadressidega). See viib arvu nullini, kuid kirje ei vasta enam tõele niipea, kui mõni teenus oma aadresse muudab, ja suured teenused teevad seda sageli. Tee seda ainult tööriistaga, mis hoiab seda automaatselt ajakohasena, või parem üldse mitte.
redirect või include?
redirect= ütleb: kasuta selle teise domeeni SPF-kirjet selle kirje asemel. See kulutab ühe otsingu, täpselt nagu include. See on kasulik, kui sul on palju domeene, millele peab kehtima täpselt sama poliitika: v=spf1 redirect=_spf.example.com igal domeenil, ja tegelik kirje ühes kohas. Kirjel, millel on redirect=, ei tohi olla all, sest siis jäetakse redirect eiramata. Gmail kasutab seda ise: gmail.com kirje on v=spf1 redirect=_spf.google.com.
Samm 4: ~all või -all?
Selle kursuse soovitus, samasugune nagu DNS-kursuses:
- Alusta
~all'iga (softfail). Serveri kirja, mis ei ole sinu kirjes, peetakse kahtlaseks, kuid tavaliselt ei lükata seda kohe tagasi. Kui unustad ühe saatja, on kahju piiratud. - Mine üle
-all'ile (fail), kui oled kindel, et kõik saatjad on kirjas, näiteks pärast mõne nädala DMARC-aruannete vaatamist, kui tundmatuid allikaid enam ei esine.
Koos DMARC-iga on vahe väiksem, kui sageli arvatakse. DMARC otsustab aluspõhimõttel "SPF või DKIM õnnestus ja on joondatud". Softfail on DMARC-i jaoks lihtsalt "ei õnnestunud". Tegelik kaitse tuleb seega rangest DMARC-poliitikast, mitte -all-ist. Mõned vastuvõtjad lükkavad -all korral kirja tagasi juba enne DMARC-hinnangut; see on põhjus valida -all alles siis, kui sinu kirje on tõesti täielik.
Domeen, mis kunagi kirju ei saada
Kas sul on domeene, mis kunagi kirju ei saada (vana kaubamärgi nimi, kirjavea domeen)? Kaitse neid kuritarvitamise eest järgmisega:
example.org. IN TXT "v=spf1 -all"
_dmarc.example.org. IN TXT "v=DMARC1; p=reject"
example.org. IN MX 0 .Siin on -all kohe õige valik: keegi ei tohi kirju saata. Viimane rida on null MX (RFC 7505): "see domeen ei võta kirju vastu". example.com ise on täpselt samamoodi seadistatud.
Praktikas: nii näeb see välja paneelis
WebOké majutuspaketil on vaikimisi v=spf1 a mx include:webawere.nl ~all. Kui lisad teenuse, muudad seda kirjet (DirectAdminis: DNS Management, SPF-kirje taga olev pliiats, väli Include Domain; Minu WebOkés: SPF-i abimees vahelehel DNS). Jäta include:webawere.nl alles, kuni sinu kirjad või veebisait käivad nende serverite kaudu. Teistel pakkujatel on vaikimisi include teistsuguse nimega, aga põhimõte on sama: täienda, ära loo teist kirjet.
Kokkuvõte
- Koosta kõigepealt inventuur kõigist saatjatest; DMARC-aruanded ja päised aitavad selles.
- Teenus, millel on oma Return-Path, ei kuulu sinu SPF-i; see vajab DKIM-i sinu domeeniga.
- Loenda rekursiivselt: iga
include,a,mx,exists,ptrjaredirect, ka include'ide sees. Üle kümne, või rohkem kui kaks tühja otsingut, annab permerror'i. - Tule tagasi kümne alla, koristades ja kasutades alamdomeene; flattening ainult automaatse hooldusega.
- Alusta
~all-iga, mine-all-ile, kui oled kindel. Domeenid, mis kunagi kirju ei saada:-all, DMARCrejectja null MX.
Test
Ülesanne
Ülesanne Z4.2: Lase oma domeeni SPF rekursiivselt loendada. Sisesta oma domeen (või sidn.nl, kui sul oma domeeni ei ole). Loe ise kõigepealt kokku, mitu DNS-otsingut SPF-kirje teeb, kaasa arvatud kõik include'ide sees olev, ja sisesta see arv koos kirje lõpuga (~all, -all, ?all või +all). Programm loendab kõik elavalt üle, kaasa arvatud tühjad otsingud, ja näitab puud.
Ülesanne O4.2: Sinu saatjate inventuur. Koosta selle tunni tabeli abil nimekiri kõigist süsteemidest, mis saadavad sinu domeeni nimel kirju. Märgi iga kohta: millise serveri või teenuse kaudu, kas see peab olema sinu SPF-is (oma Return-Path või mitte) ja kas see allkirjastab DKIM-iga sinu domeeni nimel. Saada vähemalt kahest süsteemist endale testkiri ja kirjuta üles päistest Return-Path domeen ja DKIM domeen (d=).
Ülesanne O4.2: Sinu saatjate inventuur
Selle ülesande teed ise, keegi ei kontrolli seda. Märgi ära, mida tegid, ja märgi ülesanne tehtuks.
Näide: majutuse postiserver: SPF jah, DKIM jah. Microsoft 365: include pluss kaks CNAME-kirjet DKIM-i jaoks. Uudiskirjateenus oma Return-Pathiga: ei ole SPF-is, kuid DKIM on allkirjastatud oma domeeniga. Raamatupidamisprogramm: vastavalt teenuse juhendile. Return-Path või d= on uhtluses, kui organisatsiooni domeen on sama mis su enda domeen.
Su linnukesed ja märkmed jäävad ainult sellesse brauserisse, me ei saada neid kuhugi. Kui oled sisse loginud, salvestame Minu kursustes ainult info, et tegid ülesande ära.
Rohkem lugemist
Nende artiklite sammud kehtivad WebOké paneelide kohta; teiste pakkujate juures töötab see sarnaselt.
- Tasuta DNS-kursus 4.3: SPF: kes tohib sinu domeeni nimel kirju saata?
- DirectAdmin juhend 5.7: SPF seadistamine ja täiendamine
- SPF-kirje toimimine DNS-is on lihtne: see ütleb, millised serverid tohivad sinu domeeni nimel e-kirju saata. Nii saavad vastuvõtvad serverid kontrollida, kas kiri on pärit volitatud allikast, ja vähendada võltsitud e-kirjade (spoofing) riski.
- SPF-kirje lisamine või muutmine DirectAdminis
- WebOké juhend 5.5: DNS-abimehed: MX, SPF, DMARC, CAA ja SRV
- RFC 7208 (SPF), lõik 4.6.4 (piirangud) ja 6.1 (redirect); RFC 7505 (null MX)
