Mi az az SPF rekord?

Az SPF (Sender Policy Framework) rekord egy TXT rekord, amely meghatározza, hogy melyik domain név jogosult e-maileket küldeni a kiszolgálóról (vagy pont fordítva, hogy egy domain névvel milyen szerverekről lehet emailt küldeni). Elsődleges célja az e-mail hamisítás korlátozása, és akkor a leghatékonyabb, ha DMARC rekorddal kombinálják.

Az SPF története

Az SPF-et 2000-ben említették először. A következő években az SPF specifikáció több tervezetben fejlődött. Időközben az eredeti SPF (Sender Permitted From) elnevezés Sender Policy Framework-re változott.

Az IETF SPF munkacsoportja megpróbálta egyesíteni az SPF-et és a Microsoft CallerID javaslatát. A következő kísérlet az SPF “klasszikus” változatával történt. Ez vezetett az első kísérleti RFC-hez 2006-ban, majd végül 2014-ben a javasolt szabványos SPF-hez, amely 2014-ben RFC 7208 néven vált ismertté.

Napjainkban az SPF-hez hasonló e-mail hitelesítési technikák fejlődtek, és olyan technikákhoz vezettek, mint a DKIM és a DMARC. Az SPF még mindig fontos szerepet tölt be annak meghatározásában, hogy egy e-mail DMARC-kompatibilis-e.

SPF a gyakorlatban

Az SPF rekord egy DNS rekord, amelyet hozzá kell adni a domain DNS zónájához. Ebben az SPF rekordban megadhatja, hogy mely IP-címek és/vagy hosztnevek jogosultak e-mailt küldeni az adott tartományból.

A levél címzettje a levél “envelope from” címét (többnyire a Return-Path fejlécet) fogja használni annak megerősítésére, hogy a küldő IP-cím jogosult volt erre. Ez még azelőtt történik, hogy az üzenet testét megkapná. Ha a küldő e-mail szerver nem szerepel egy adott tartomány SPF rekordjában, akkor az adott szerverről érkező e-mail gyanúsnak minősül, és az e-mail címzettje elutasíthatja.

Egy SPF rekordra a következő példa:

v=spf1 a:mail.solarmora.com ip4:192.72.10.10 include:_spf.google.com ~all

Fejtsük meg a karakterláncot szimbólumról szimbólumra, és nézzük mi, mit jelent:

  • v - A használt SPF rekord verzióját adja meg. A verziónak mindig spf1-nek kell lennie, mivel a levező szerverek széles körben ezt ismerik.
  • + - Ez egy attribútum, és a “pass all” rövidítése.
  • mx - Az aktuális (vagy megadott) tartomány DNS MX rekordját határozza meg érvényes küldő forrásként.
  • a - Az aktuális (vagy megadott) tartomány (domain név) DNS A rekordját határozza meg érvényes küldő forrásként.
  • ip4:<IP> - Ez a fenti kettővel analóg, azonban ebben az esetben a levelezőszerver az “ip4:” után megadott IP címet, vagy IP cím tartományt veti össze a küldő szerver IP címével.
  • ip6:<IP> - Ugyanaz mint a fenti, csak IPv6 címekkel és tartományokkal.
  • include - Egy másik domain név, tartomány SPF rekordjait tölti be.
  • ~ - Ez egy másik attribútum, amely a “soft fail” kifejezésre utal. Ez az attribútum azt jelenti, hogy a feladó megbukik az SPF-ellenőrzésen, azonban az e-mail nem kerül blokkolásra, hanem spamként lesz megjelölve.
  • - (minusz jel) - Szintén attribútum, viszont ha ezt használjuk, akkor azon elemnél való egyezésre a kapott email rögtön eldobásra vagy elutasításra kerül.
  • all - Minden olyan értékre, ami korábban nem lett külön részletezve, vagy kifejtve.

Mire nem jó az SPF

Az SPF egy nagyszerű technika arra, hogy hitelesítést adjon az e-mailekhez. Van azonban néhány korlátozása, amelyekkel tisztában kell lennie.

  • Az SPF nem hitelesíti a “From” fejlécet. Ez a fejléc a legtöbb kliensben az üzenet tényleges feladójaként jelenik meg. Az SPF nem érvényesíti a “from” fejlécet, hanem a “envelope from” alapján határozza meg a küldő tartományt.
  • Az SPF ellenőrzése megszakad, ha egy e-mailt továbbítanak. Ekkor a “továbbító” lesz az üzenet új “feladója”, és az új célállomás által végzett SPF-ellenőrzéseket nem fogja teljesíteni. Ennek a hibának kiküszöbölésére hozták létre az SRS (Sender Rewriting Scheme) technológiát.
  • Az SPF-nek nincs jelentési lehetősége, ami megnehezíti a karbantartását.