Modul 4 · 4.2
SPF u praksi: pregled svih pošiljatelja
Modul 4: Dostavljivost: SPF, DKIM i DMARC u praksi · Vrijeme čitanja: 12 minuta
Cilj učenja: Nakon ove lekcije moći ćete pronaći sve usluge koje šalju poštu u ime Vaše domene, uključiti ih u jedan SPF zapis, rekurzivno izbrojati sve DNS upite do granice od deset te svjesno odabrati između ~all i -all.
Ključni pojmovi: popis pošiljatelja, envelope pošiljatelj (Return-Path), jedan SPF zapis, include, redirect, ograničenje od 10 DNS upita (RFC 7208, odjeljak 4.6.4), prazni upiti (void lookups, najviše 2), rekurzivno brojanje, permerror, flattening, SPF za poddomene, SPF na domeni koja ne šalje poštu, ~all i -all
Kratko podsjećanje
SPF zapis je TXT zapis na Vašoj domeni koji počinje s v=spf1 i navodi koji poslužitelji smiju slati poštu u ime Vaše domene. Struktura, znakovi + - ~ ? i tri najčešće pogreške (dva zapisa, +all, više od deset upita) opisani su u DNS tečaju, lekcija 4.3. Pročitajte ju prvo ako Vam je SPF nov pojam. Ova lekcija bavi se težim dijelom: u praksi gotovo nitko ne zna točno tko sve šalje poštu u ime njegove domene.
Korak 1: popis pošiljatelja
SPF funkcionira samo ako su u njemu navedeni svi pošiljatelji. Ako zaboravite jednog, ta pošta će završiti u neželjenoj pošti ili biti odbijena čim pooštrite DMARC. Zato prođite kroz ovaj popis. Kod prosječnog malog poduzeća brzo ćete pronaći pet ili šest njih:
| Vrsta pošiljatelja | Primjeri | Kako to otkriti? |
|---|---|---|
| Vaša uobičajena mailbox | mail poslužitelj Vašeg hosting pružatelja, Microsoft 365, Google Workspace | Provjerite kamo pokazuje Vaš MX i preko čega šalje Vaš program za e-poštu |
| Vaša web stranica | kontaktni obrazac, e-poruke za lozinku, potvrde narudžbi web trgovine | Pitajte izrađivača web stranice, provjerite postavke u WordPressu ili web trgovini |
| Usluga newslettera | Mailchimp, Brevo, Laposta, MailerLite | Provjerite svoje pretplate |
| Računovodstvo i fakture | računovodstveni program koji šalje fakture u Vaše ime | Pošaljite sami sebi fakturu i pročitajte zaglavlja |
| Drugi softver | CRM, planer termina, helpdesk, alat za ankete, platna usluga | Raspitajte se u uredu |
| Uređaji | pisač ili skener koji skenira na e-mail, kamera ili alarmni sustav | Obično preko Vašeg uobičajenog mail poslužitelja; provjerite to |
Dva dobra načina da ih pronađete:
- Čitanje zaglavlja. Pošaljite iz svakog sustava poruku samom sebi (fakturu, obnovu lozinke, probni newsletter) i pogledajte u zaglavljima
Return-PathiAuthentication-Results(lekcija 1.5). Ondje vidite preko koje je domene i poslužitelja poruka stigla. - DMARC izvještaji. Postavite DMARC na
p=nones adresom za izvještaje (lekcija 4.4). Nakon nekoliko tjedana u izvještajima (lekcija 4.5) vidjet ćete svaki poslužitelj koji je slao poštu u ime Vaše domene, uključujući one koje ste zaboravili. To je najpouzdaniji popis.
Ne pripada svaka usluga u Vaš SPF
Ovdje najčešće dolazi do pogrešaka. SPF gleda envelope pošiljatelja (Return-Path), a ne adresu u polju Od. Mnoge usluge za newslettere i slanje pošte šalju s Return-Path na vlastitoj domeni, primjerice bounce-123@mail.mailer.example. Primatelj tada provjerava SPF zapis domene mailer.example, a ne Vaš. include te usluge u Vašem zapisu tada ne radi ništa, osim što košta jedan upit.
Ono što toj usluzi treba da prođe DMARC provjeru jest DKIM potpis s Vašom domenom (lekcija 4.3) ili vlastita poddomena za Return-Path koju Vi postavite (primjerice bounce.example.com kao CNAME prema toj usluzi). Pročitajte stoga u uputama usluge što se traži. Ako piše "dodajte include: u svoj SPF", učinite to. Ako piše samo "izradite ove CNAME zapise za DKIM i domenu za odbijenu poštu (bounce)", onda u glavnom zapisu ne treba ništa mijenjati. Modul 7 detaljnije obrađuje ovu temu.
Korak 2: jedan zapis, i ispravno brojanje
Svi pošiljatelji idu u jedan zapis. Pretpostavimo da Vaš popis uključuje: mail poslužitelj Vašeg hosting pružatelja, Microsoft 365 za nekoliko zaposlenika, Vaš računovodstveni program i helpdesk. Zapis bi tada mogao izgledati ovako:
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"Koliko je to upita? Izbrojite svaki a, mx, include, exists, ptr i redirect, a zatim izbrojite i sve što se nalazi u zapisima iza svakog include-a:
| Dio | Upiti | Objašnjenje |
|---|---|---|
a | 1 | A/AAAA zapis domene example.com |
mx | 1 | MX zapisi (adrese MX hostova ne broje se posebno za granicu od deset, ali ih smije biti najviše deset) |
include:spf.hosting.example | 1 + 0 | taj zapis sadrži samo ip4: i ip6: |
include:spf.protection.outlook.com | 1 + 0 | isto tako (tako je stajalo na dan 8. studenog 2026.) |
include:_spf.boekhoud.example | 1 + 3 | taj zapis ima sam tri include-a, svaki samo s IP adresama |
include:mail.helpdesk.example | 1 + 2 | taj zapis ima include: prema dvije cloud usluge |
| Ukupno | 11 | jedan previše |
Kod 11 primatelj vraća permerror: tada se cijeli SPF zapis ne uzima u obzir, ni za jednog pošiljatelja. Pošta s Vašeg vlastitog mail poslužitelja time se lošije ocjenjuje jer helpdesk košta tri dodatna upita. A podmuklo je i to što Vaš zapis danas može imati 9 upita, a sutra 11, bez da Vi išta mijenjate, jer neka usluga proširi vlastiti zapis.
Uz to: najviše dva prazna upita
RFC 7208 spominje i void lookups: upite koji ne daju nikakav rezultat (ime ne postoji ili nema SPF ili adresni zapis). Više od dva takva upita također uzrokuje permerror. To se najčešće događa kod starih include zapisa usluga koje više ne koristite, a koje su uklonile svoj zapis, ili kod a: prema poslužitelju koji više ne postoji. Dakle, počistite zapis.
Korak 3: vratiti se ispod deset
Ako ste iznad deset, postoje četiri rješenja, od najboljeg prema najslabijem:
- Uklonite ono što nije potrebno. Usluge koje više ne koristite. Usluge koje šalju s vlastitim Return-Path adresom (vidjeti gore) i stoga ne pripadaju u Vaš SPF.
aako Vaša web stranica sama ne šalje poštu.mxako Vaš MX pokazuje prema usluzi koja je već navedena kaoincludeu Vašem zapisu. - Koristite poddomenu. Neka usluga šalje s
nieuws.example.comilifactuur.example.com. Ta poddomena dobiva vlastiti SPF zapis samo s tom uslugom i ne broji se u granicu od deset za Vašu glavnu domenu. Usklađenost (alignment) u DMARC-u (lekcija 4.4) standardno funkcionira i za poddomene. - Koristite
ip4:iip6:za Vaše vlastite stalne poslužitelje. Oni ne koštaju nijedan upit. To činite samo za adrese koje Vi sami upravljate i koje se ne mijenjaju. - Flattening (zamjena svih include-ova IP adresama koje se trenutno iza njih nalaze). Time se broj svodi na 0, ali zapis više nije točan čim neka usluga promijeni svoje adrese, a velike usluge to redovito rade. Činite to samo pomoću alata koji to automatski prati, a radije uopće nemojte.
redirect ili include?
redirect= znači: koristi SPF zapis te druge domene umjesto ovog zapisa. Košta jedan upit, baš kao i include. Korisno je kad imate mnogo domena koje trebaju imati potpuno istu politiku: v=spf1 redirect=_spf.example.com na svakoj domeni, a stvarni zapis na jednom mjestu. Zapis s redirect= ne smije imati all, jer se u tom slučaju redirect zanemaruje. Gmail to i sam koristi: gmail.com ima v=spf1 redirect=_spf.google.com.
Korak 4: ~all ili -all?
Preporuka ovog tečaja, ista kao i u DNS tečaju:
- Počnite s
~all(softfail). Pošta s poslužitelja koji nije naveden u Vašem zapisu smatra se sumnjivom, ali obično se ne odbija odmah. Ako zaboravite pošiljatelja, šteta je ograničena. - Prijeđite na
-all(fail) kada ste sigurni da su svi pošiljatelji navedeni, primjerice nakon nekoliko tjedana praćenja DMARC izvještaja kad više nema nepoznatih izvora.
S DMARC-om uz to, razlika je manja nego što se često misli. DMARC odlučuje na temelju toga je li "SPF ili DKIM uspio i usklađen". Softfail je za DMARC jednostavno "nije uspio". Prava zaštita dolazi dakle iz strogog DMARC pravila, a ne iz -all. Neki primatelji odbijaju poštu već kod -all, prije DMARC procjene; to je razlog da -all odaberete tek kad je Vaš zapis zaista potpun.
Domena koja nikad ne šalje poštu
Imate li domene koje nikad ne šalju poštu (staro ime brenda, domena za tipfelere)? Zaštitite ih od zlouporabe s:
example.org. IN TXT "v=spf1 -all"
_dmarc.example.org. IN TXT "v=DMARC1; p=reject"
example.org. IN MX 0 .Ovdje je -all odmah ispravan izbor: nitko ne smije slati poštu. Zadnji redak je null MX (RFC 7505): "ova domena ne prima poštu". Domena example.com sama je upravo tako postavljena.
U praksi: tako to izgleda u panelu
Kod hosting paketa WebOké standardno stoji v=spf1 a mx include:webawere.nl ~all. Ako dodate neku uslugu, prilagodite taj zapis (u DirectAdmin: DNS Management, olovčica iza SPF zapisa, polje Include Domain; u Mijn WebOké: SPF pomoćnik na kartici DNS). Zadržite include:webawere.nl dok god Vaša pošta ili web stranica rade preko tih poslužitelja. Kod drugih pružatelja usluga standardni include zove se drugačije, ali princip je isti: dopuniti, a ne stvarati drugi zapis.
Sažetak
- Prvo napravite popis svih pošiljatelja; DMARC izvještaji i zaglavlja poruka pritom pomažu.
- Usluga s vlastitim Return-Path adresom ne pripada u Vaš SPF; njoj treba DKIM s Vašom domenom.
- Brojite rekurzivno: svaki
include,a,mx,exists,ptriredirect, uključujući i one unutar include-ova. Iznad deset, ili više od dva prazna upita, rezultira permerror-om. - Vratite se ispod deset čišćenjem i korištenjem poddomena; flattening koristite samo uz automatsko održavanje.
- Počnite s
~all, prijeđite na-allkad ste sigurni. Domene koje nikad ne šalju poštu:-all, DMARCrejecti null MX.
Kviz
Zadatak
Zadatak Z4.2: Rekurzivno brojanje SPF zapisa Vaše domene. Unesite svoju vlastitu domenu (ili sidn.nl ako nemate vlastitu domenu). Prvo sami izbrojite koliko DNS upita košta SPF zapis, uključujući sve unutar include-ova, i unesite taj broj, zajedno sa završetkom zapisa (~all, -all, ?all ili +all). Program će uživo ponovno izbrojati, uključujući prazne upite, i prikazati stablo.
Zadatak O4.2: Vaš popis pošiljatelja. Pomoću tablice iz ove lekcije izradite popis svih sustava koji šalju poštu u ime Vaše domene. Za svaki navedite: preko kojeg poslužitelja ili usluge, treba li biti u Vašem SPF-u (vlastiti Return-Path ili ne), i potpisuje li DKIM Vašom domenom. Pošaljite iz najmanje dva sustava probnu poruku samom sebi i iz zaglavlja zabilježite domenu Return-Path adrese i DKIM domenu (d=).
Zadatak O4.2: Vaš popis pošiljatelja
Ovaj zadatak rješavate sami; nitko ga ne provjerava. Označite što ste napravili i označite zadatak kao završen.
Primjer: poslužitelj za hosting pošte: SPF da, DKIM da. Microsoft 365: include te dva CNAME zapisa za DKIM. Usluga newslettera s vlastitim Return-Path: nije u SPF-u, ali potpisuje DKIM vlastitom domenom. Knjigovodstveni program: prema uputama te usluge. Return-Path ili d= su usklađeni kada je organizacijska domena jednaka Vašoj vlastitoj domeni.
Vaše kvačice i bilješke ostaju samo u ovom pregledniku; ne šaljemo ih nikamo. Ako ste prijavljeni, u Moji tečajevi čuvamo samo podatak da ste zadatak završili.
Dalje za pročitati
Koraci u ovim člancima vrijede za panele WebOké; kod drugih pružatelja usluga postupak je sličan.
- Besplatni DNS tečaj 4.3: SPF: tko smije slati poštu u ime Vaše domene?
- DirectAdmin priručnik 5.7: SPF postavljanje i dopunjavanje
- Kako funkcionira SPF zapis u DNS-u?
- Dodavanje ili promjena SPF zapisa u DirectAdminu
- Priručnik za WebOké 5.5: DNS pomoćnici: MX, SPF, DMARC, CAA i SRV
- RFC 7208 (SPF), odjeljak 4.6.4 (ograničenja) i 6.1 (redirect); RFC 7505 (null MX)
