Bárki küldhetett levelet a cégem nevében – és a javítás majdnem elrontotta a kapcsolati űrlapomat

Egy domain-ellenőrző sárga jelzést tett a domainem mellé: a DMARC-om csak naplózott, nem blokkolt. Vagyis bárki küldhetett levelet a cégem nevében az ügyfeleimnek. A javítás egy sor a DNS-ben – de ha csak azt az egy sort írod át, a saját kapcsolati űrlapod üzenetei tűnnek el. Ez a cikk arról szól, mi a helyes sorrend.

Bárki küldhetett levelet a cégem nevében - és a javítás majdnem elrontotta a kapcsolati űrlapomat

Egy domain-ellenőrző eszköz sárga jelzést tett a saját domainem mellé: „DMARC: Policy set to p=none – messages are logged but not blocked.” Egy mondat, amiről elsőre nem nyilvánvaló, hogy foglalkozni kell-e vele.

Kell. Magyarul ugyanis ezt jelenti: ha valaki az én címemmel ír az ügyfeleimnek, a fogadó szerver észreveszi, hogy hamis – és mégis kézbesíti.

A javítás egyetlen sor a DNS-ben. Pont ezért veszélyes: aki csak azt az egy sort írja át, jó eséllyel a saját kapcsolati űrlapjának az üzeneteit némítja el. Velem is majdnem ez történt.

Három rekord, három mondat

A levélhitelesítés három DNS-bejegyzésen áll, és mindegyik másra válaszol:

  • SPF – mely szerverek küldhetnek levelet a te domained nevében.
  • DKIM – digitális aláírás magán a levélen, amiből látszik, hogy útközben nem módosították, és tényleg tőled jött.
  • DMARC – mi történjen, ha az előző kettő nem stimmel, és ki kapjon erről jelentést.

A DMARC-nak három fokozata van: `p=none` (jegyezd fel, de kézbesítsd), `p=quarantine` (spambe vele) és `p=reject` (ne is vedd át). A legtöbb domainen, amit megnézek, `p=none` áll – vagy semmi.

Ez nem elméleti kockázat. Egy hamisított levél a te címedről az ügyfelednek – árajánlat, számla, „megváltozott a bankszámlaszámunk” – pontosan úgy néz ki, mint a tiéd. A károsult az ügyfeled lesz, de a te neved marad rajta.

A csapda: a saját weboldalad is „idegen küldő”

Mielőtt bármit átírtam volna, megnéztem, mi küld egyáltalán levelet a nevemben. Kiderült: a saját WordPressem volt a leggyengébb láncszem.

A WordPress alapból a szerver PHP-levélküldőjét használja, és a feladó valami `wordpress@adomained.ro` formájú cím. Ez a levél senkinek nem hazudik, csak épp nem illeszkedik sem az SPF-hez, sem a DKIM-hez. `p=none` mellett ez évekig elmegy, mert a következménye pontosan annyi, mint amennyit a `none` ígér: semmi.

Ha viszont ugyanezen az állapoton `p=reject`-re váltasz, akkor onnantól:

  • a kapcsolati űrlap értesítője nem ér el hozzád,
  • a látogatónak menő automata visszaigazoló nem érkezik meg,
  • a jelszó-visszaállító levél eltűnik,
  • és mindez némán történik: nincs hibaüzenet, nincs spam mappa, csak nem jön meg.

Ez a leggyakoribb hiba ezen a területen. A DMARC élesítése technikailag két perc. Megtudni, hogy mi küld a neved alatt – na, az a munka.

Mérd le, ne találgasd

Két ingyenes eszközt használok erre, és mindkettő ugyanazt a hármat mutatja meg (SPF, DKIM, DMARC), csak más részletességgel:

  • mail-tester.com – kapsz egy egyszer használatos címet, küldesz rá egy levelet, és egy 10 pontos értékelést kapsz vissza. Gyors, de napi keret van rajta.
  • learndmarc.com – ugyanez, csak lépésről lépésre végigvezet a teljes ellenőrzésen, és megmutatja az illeszkedést (alignmentet) is. Nincs keret.

A legfontosabb részlet, amit a legtöbben elrontanak: onnan küldd a tesztlevelet, ahonnan a valóságban is mennek. Ha a levelezőprogramodból küldesz, azt teszteled, hogy a postafiókod rendben van-e – az valószínűleg rendben is van. A weboldalad viszont egy teljesen másik úton küld. Nekem a különbség pont ott volt.

Amit nézni kell: az SPF és a DKIM ne csak „pass” legyen, hanem illeszkedjen is (alignment) a látható feladó domainjéhez. A DMARC ugyanis nem attól múlik el, hogy valamilyen aláírás van a levélen, hanem attól, hogy a te domainedhez tartozik-e.

A javítás: a weboldal is „rendes” postafiókból küldjön

A megoldás nem varázslat: a WordPress ne a szerver névtelen levélküldőjét használja, hanem hitelesített SMTP-vel, egy valódi postafiókodból küldjön – nálam ez a `hello@` cím. Ettől a feladó ahhoz a domainhez tartozik, amit az SPF és a DKIM is fed.

Egy dologra viszont figyelni kell, különben rosszabb lesz, mint volt. A kapcsolati űrlap értesítőjén eddig a látogató címe volt a feladó – ezért tudtál a levélre egyszerűen „Válasz”-t nyomni. Ha a feladót átírod a saját címedre, és nem csinálsz mást, akkor a „Válasz” saját magadnak megy vissza.

A helyes megoldás: a feladó legyen a te postafiókod (ettől lesz hitelesített), a látogató címe pedig kerüljön át Reply-To fejlécbe. Így kifelé minden szabályos, neked meg ugyanúgy működik a válaszolás, mint eddig.

Amit elrontottam – és amiről csak egy fejléc-ellenőrzés árulkodott

Megírtam a kódot, kiküldtem a tesztlevelet, és 10/10 lett az eredmény: SPF, DKIM, DMARC mind zöld. Ott abba lehetett volna hagyni.

Nem hagytam abba, mert nem csak a pontszámot néztem meg, hanem a levél fejlécét is – és a Reply-To hiányzott. A saját kódom hibája volt: a feladót egy olyan ponton írtam át, ami még azelőtt lefut, hogy a látogató címét el tudnám menteni. Vagyis mire a Reply-To-t beállítottam volna, az eredeti cím már nem létezett.

A pontszám ettől maradt volna hibátlan. A gyakorlatban viszont minden megkeresésnél kézzel kellett volna kimásolni az e-mail-címet a levél szövegéből. Egy hét után ez már bosszantó, egy hónap után hibaforrás.

Ez a tanulság a cikk legszárazabb, mégis legfontosabb mondata: az összpontszám nem ellenőrzés. Nézd meg a levél tényleges fejléceit is – feladó, Return-Path, Reply-To -, mert a hitelesítés lehet hibátlan úgy is, hogy a levél a mindennapi használatban rossz.

Az eredmény

Ugyanaz az útvonal, a javítás előtt és után:

  • Előtte: feladó `wordpress@…`, SPF nem illeszkedik, DKIM nincs, DMARC `p=none` – vagyis bárki írhatott a nevemben, és a fogadó szerver ettől még kézbesítette.
  • Utána: feladó a valódi postafiókom, SPF ✓ és illeszkedik, DKIM ✓ (2048 bites aláírás) és illeszkedik, DMARC ✓ a legszigorúbb `p=reject` szabály mellett is – a látogató címe pedig Reply-To-ban, tehát a válaszolás változatlan.

A DMARC-jelentéseket egy ingyenes szolgáltatásra irányítottam, ami hetente egyszer küld egy olvasható összefoglalót arról, ki próbált a domainem nevében küldeni. Nyers XML helyett emberi mondatok, heti egy levél.

Mire figyelj utána

Ha egyszer élesítetted a DMARC-ot, a szabály onnantól él: minden új szolgáltatás, ami a te címeddel küld, előbb be kell kerüljön az SPF-be, és be kell nála állítani a DKIM-et. Számlázóprogram, hírlevélküldő, CRM, foglalási rendszer, ügyfélszolgálati rendszer – bármelyik. Különben a leveleik némán eltűnnek.

Ez nem érv a szigorítás ellen. Csak annyit jelent, hogy a levélküldés ugyanúgy a rendszer része, mint a domain vagy a tárhely – nem magától működik, hanem karban kell tartani.

Kinek érdemes ezzel foglalkoznia

Mindenkinek, akinek van egy saját domainje és egy kapcsolati űrlapja. Konkrétan akkor sürgős, ha:

  • számlát vagy árajánlatot küldesz e-mailben,
  • az ügyfeleid pénzügyi utasítást kaphatnak tőled,
  • webshopod van, és rendelés-visszaigazolók mennek ki,
  • vagy egyszerűen fontos, hogy a leveleid ne a spam mappában landoljanak.

Az ellenőrzés öt perc, és ingyenes: küldj egy tesztlevelet a weboldaladról a fenti eszközök egyikére, és nézd meg a három sort. Ha bármelyik piros, van mit tenni.

Ha nem szeretnél belemenni, nézd meg a havidíjas üzemeltetési csomagokat – a levélhitelesítés ellenőrzése és karbantartása ezeknek a része. Ha csak egy konkrét kérdésed van, írj nyugodtan.

Hasonló gondolkodásmódról szól az is, amikor lefuttattam három SEO-auditot a saját oldalamon: ott is az volt a lényeg, hogy a jelzés és a valóság nem ugyanaz – mérni kell.

Sárosi Zoltán

A cikk szerzője

Sárosi Zoltán

Alapító, WordPress fejlesztő – Eagle Solutions

2011 óta készítek weboldalakat és webshopokat Hargita megyéből, kis- és középvállalkozásoknak, egyesületeknek és ügynökségi partnereknek. Amit itt leírok, azt a saját projektjeimben tapasztaltam.

Többet rólam →

Kérdésed van a saját oldaladdal kapcsolatban?

Írj pár mondatot, mire lenne szükséged – 1 munkanapon belül válaszolok, az első konzultáció ingyenes.

Van már weboldalad? Írd be a címét az üzenetbe, és ingyen, 10 pontban leírom, mit javítanék rajta – kötelezettség nélkül.

Írok Zoltánnak → Árak megtekintése

Töltsd le a 10 pontos weboldal-ellenőrző listát (PDF) →

← Vissza a bloghoz