Mitä SPF-tarkistus tekee
Tarkistus lukee syöttämäsi verkkotunnuksen TXT-tietueet ja poimii niistä tietueen, joka alkaa merkinnällä v=spf1. Sen jälkeen se seuraa jokaista include- ja redirect-määritystä vastaanottavan palvelimen tavoin, kirjaa kaikki DNS-kyselyn vaativat haut ja tarkistaa jokaisen termin syntaksin.
Tarkistuksessa ei käytetä IP-osoitetta. Tässä selvitetään, onko tietue kelvollinen ja pysyykö sen tarkistus DNS-hakujen rajoissa kaikilla sitä käsittelevillä palvelimilla, ei sitä, saako jokin tietty palvelin lähettää viestejä. Voit tarkistaa tämän lähettämällä viestin täydelliseen testiin. Raportti näyttää vastaanottajan todellisuudessa saaman tuloksen.
Liian monta DNS-hakua: enimmäismäärä on kymmenen
RFC 7208 rajoittaa SPF-tarkistuksen kymmeneen DNS-kyselyn vaativaan termiin: include, a, mx, ptr, exists ja redirect. Määrä lasketaan koko puusta, joten include, joka sisältää kolme muuta include-määritystä, käyttää neljä hakua. Jos raja ylittyy, tulos on permerror, jolloin DMARC katsoo, ettei SPF läpäissyt tarkistusta.
Tarkistus laskee kaikki termit, myös ne, joihin tarkistus ei ehkä koskaan etene, koska todellinen tarkistus päättyy ensimmäiseen osumaan. Luettelon alussa olevat palvelimet läpäisevät tarkistuksen edelleen, mutta myöhemmin olevat alkavat epäonnistua. Ulkopuolelta tämä näyttää siltä, että sähköposti toimii joidenkin viestien kohdalla mutta ei toisten.
ip4- ja ip6-termit eivät kuluta DNS-hakuja. include-määritysten korvaaminen osoitealueilla eli tietueen litistäminen vähentää hakujen määrää, mutta osoitealueet on tällöin pidettävä manuaalisesti ajan tasalla palveluntarjoajien muutosten kanssa.
Tarkistettavat yleiset SPF-virheet
Kaksi SPF-tietuetta samalla verkkotunnuksella. Näin käy, kun toisen palveluntarjoajan asennusohje kehottaa lisäämään tietueen eikä kukaan yhdistä sitä ensimmäiseen. Jo kaksi tietuetta aiheuttaa permerror-tuloksen.
Lopussa oleva +all sallii minkä tahansa internetissä olevan palvelimen läpäistä tarkistuksen. ?all ei kerro mitään mistään lähettäjästä eikä siksi suojaa miltään. RFC 7208 kehottaa olemaan käyttämättä ptr-termiä. Vuosia sitten käytöstä poistettujen palvelujen include-määritykset kuluttavat edelleen kukin yhden haun.
Kysymyksiä
Miltä SPF-tietue näyttää?
Se on verkkotunnuksen yksi TXT-tietue, joka alkaa merkinnällä v=spf1, luettelee sallitut lähettäjät ja päättyy kaikkia muita koskevaan sääntöön. v=spf1 include:_spf.google.com ip4:203.0.113.5 ~all sallii lähettämisen Google Workspace -palvelusta ja yhdeltä palvelimelta sekä antaa muille softfail-tuloksen. Verkkotunnuksella saa olla vain yksi SPF-tietue.
SPF softfail vai hardfail: ~all vai -all?
Kun DMARC on käytössä, kumpikin toimii, koska DMARC määrittää, mitä hylätylle viestille tapahtuu. ~all (softfail) on turvallisempi valinta, kun vielä selvität kaikkia puolestasi lähettäviä palveluja. Vaihda arvoon -all, kun DMARC-raporteissa ei enää näy hylättyjä oikeita viestejä.
Miksi tietueeni läpäisee kattavan testin, mutta tässä näkyy yli kymmenen hakua?
Vastaanottaja lopetti arvioinnin ensimmäiseen palvelintasi vastaavaan ehtoon, joten muita hakuja ei tehty. Luettelossa myöhemmin oleva toinen palvelin kasvattaisi saman arvioinnin hakumäärän yli kymmeneen, jolloin arviointi epäonnistuisi.
Mikä on tyhjä DNS-haku?
DNS-kysely, joka ei palauta tietueita tai jonka nimi ei ole olemassa. RFC 7208 sallii arvioinnissa kaksi tällaista hakua. Kolmas aiheuttaa permerror-virheen. Tavallinen syy ovat include-määritykset verkkotunnuksille, joita ei enää ole olemassa.
Voiko verkkotunnuksella olla kaksi SPF-tietuetta?
Ei. RFC 7208 sallii yhden tietueen, joka alkaa v=spf1. Jos tietueita on kaksi, jokainen tarkistus päättyy tulokseen permerror. Yhdistä ne: säilytä yksi v=spf1, lisää siihen kummankin tietueen include- ja ip4-määritykset ja päätä se yhteen all-määritykseen. v=spf1 include:_spf.google.com include:servers.mcsv.net ~all kattaa kaksi palveluntarjoajaa yhdessä tietueessa.
Koko opas: Multiple SPF records
Mitä SPF permerror tarkoittaa?
Pysyvä virhe: julkaistua tietuetta ei voida tarkistaa, joten uusi yritys antaa saman tuloksen. Tavallisia syitä ovat yli kymmenen DNS-hakua, kaksi SPF-tietuetta samalla verkkotunnuksella, syntaksivirhe ja kolmas tulokseton haku. DMARC tulkitsee permerror-tuloksen niin, ettei SPF läpäise tarkistusta.
Koko opas: SPF permerror: too many DNS lookups
Mitä tapahtuu, jos SPF-tietuetta ei löydy?
Vastaanottajat saavat tuloksen none, jonka DMARC käsittelee samoin kuin fail-tuloksen. Kuka tahansa voi myös käyttää verkkotunnustasi kirjekuoren lähettäjänä. Julkaise itse verkkotunnukselle yksi TXT-tietue, joka alkaa v=spf1, luettelee puolestasi sähköpostia lähettävät palvelut ja päättyy määritykseen ~all tai -all.