Skip to content
Menu
msandor honlapja
  • Bemutatkozás
msandor honlapja

MX, PTR, SPF, DKIM és DMARC rekordok a levelezésben

Posted on 2025.07.06.

Közel egy éve írtam egy cikket a Mailcow nevű dockeres levelező rendszerről, ahol ígéretet tettem arra, hogy később írok egy cikket azokról a rekordokról, amik szükségesek egy levelező szerver üzemeltetéséhez. Ma, amikor a medencében áztattam magam, beugrott, hogy adós vagyok ezzel a témával 🙂

Miért van szükség MX, PTR, SPF, DKIM és DMARC rekordokra a levelezésben?

Az e-mail rendszerek működése sokkal összetettebb, mint elsőre tűnhet. A biztonságos és megbízható levelezéshez DNS rekordokra van szükség, amelyek segítenek eldönteni, hogy egy e-mail hiteles forrásból érkezett-e, és kinek kell kézbesíteni.

A következő rekordok segítik a biztonságot, kézbesíthetőséget és a spam elleni védelmet:

1. MX rekord (Mail eXchanger)

Mit csinál?

Az MX rekord határozza meg, hova érkezzenek az adott domainre küldött e-mailek.

Példa:

txt example.com.     IN MX 10 mail.example.com.

Hol kell beállítani?

  • A domain DNS zónájában (általában a domain regisztrátornál vagy DNS-szolgáltatónál).
  • A cél (mail.example.com) egy A rekordon keresztül IP-címet kell mutasson.

Kinek a dolga?

  • A domain tulajdonosának vagy a rendszergazdának, aki az e-mail szervert üzemelteti.

2. PTR rekord (Reverse DNS vagy fordított feloldás)

Mit csinál?

A PTR rekord az IP-címhez tartozó domain nevet adja vissza, ezzel lehetővé téve az e-mail szerver azonosítását.

Miért fontos?

  • A legtöbb spam-szűrő ellenőrzi, hogy az e-mail küldő szerver IP-címe visszafordítható-e érvényes domainre.
  • Ha nincs PTR, vagy nem stimmel, a leveled spamként végezheti vagy visszapattan.

Hol kell beállítani?

  • A szerver IP-címéhez tartozó fordított DNS zónában, amit az adott IP-címet birtokló ISP vagy felhőszolgáltató (pl. Hetzner, OVH, Azure, RackForest, Invitech) kezel.

Kinek a dolga?

  • Az IP-cím tulajdonosának (pl. tárhelyszolgáltató) vagy az ő felületükön keresztül a rendszergazdának.

3. SPF rekord (Sender Policy Framework)

Mit csinál?

Meghatározza, mely IP-címek vagy szerverek jogosultak e-maileket küldeni a domain nevében.

Példa:

txt v=spf1 ip4:192.0.2.10 include:_spf.google.com ~all

Hol kell beállítani?

  • A domain DNS zónájában, TXT rekordként.

Kinek a dolga?

  • A domain tulajdonosának vagy e-mail szolgáltatójának (pl. Google Workspace, Microsoft 365) – de a végső felelősség a domain gazdájáé.

4. DKIM rekord (DomainKeys Identified Mail)

Mit csinál?

Lehetővé teszi, hogy a szerver digitálisan aláírja a kimenő leveleket, így a fogadó fél ellenőrizheti, hogy azok változatlanul érkeztek.

Példa:

txt default._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBg..."

Hol kell beállítani?

  • A DNS zónában TXT rekordként, egy adott selector (pl. default) alatt.

Kinek a dolga?

  • Az e-mail szerver üzemeltetőjének, vagy a felhőalapú levelezőszolgáltató (pl. Google, Microsoft) utasításai szerint a domain tulajdonosának.

Hogyan kell generálni?

2048 bites RSA kulcspár generálása Linuxon parancssorban:

openssl genrsa -out dkim_private.key 2048
openssl rsa -in dkim_private.key -pubout -out dkim_public.key

A dkim_private.key megy az e-mail szerver konfigurációjába (Postfix, Exim, OpenDKIM, Mailchow stb.),
a dkim_public.key-ből kell TXT rekordot csinálni, pl.:

Online kulcsgenerátorok:

  • https://dkimcore.org/tools/
  • https://socketlabs.com/tools/dkim-generator/

Selector: a default szó a selector, ami azt jelenti, hogy a rekord default._domainkey alá kerül. Lehet bármi, csak egyezzen a levelezőszerver beállításaival.

5. DMARC rekord (Domain-based Message Authentication, Reporting and Conformance)

Mit csinál?

Összehangolja az SPF és DKIM működését, és utasítást ad a fogadó szervereknek, hogyan kezeljék azokat az e-maileket, amelyek nem felelnek meg az ellenőrzésnek.

Példa:

txt _dmarc.example.com. IN TXT "v=DMARC1; p=quarantine; rua=mailto:report@example.com"

Hol kell beállítani?

  • A domain DNS zónájában, _dmarc. prefix alatt TXT rekordként.

Kinek a dolga?

  • A domain tulajdonosa vagy rendszergazdája, jellemzően az SPF/DKIM beállítás után.

Ha mindent megcsináltunk végezzük el pár tesztet*

* vegyük figyelembe, hogy ha módosítunk egy DNS rekordot, tipikusan 1 órának el kell telnie, mire a módosított rekordjainkat a külvilág frissíteni fogja!

Mindegy, hogy webmail-t, thunderbird-öt, outlookot, vagy parancssort használunk, egy a lényeg, küldjünk egy üres levelet arra a címre, amit ez az oldal mutat nekünk:

Pár másodperc múlva kattints a View Results gombra:

Ha ezt látod, még nem érkezett meg a leveled:

Aggodalomra semmi ok, kicsit várj, majd frissítsd az oldalt (F5):

Ehhez hasonlót fogsz látni:

Kicsit görgess lentebb, a minket érdeklő adatok ott lesznek:

Ez a DKIM és SPF rekordokat ellenőrzi, és ráfuttat egy SpamAssassin nevű népszerű SPAM ellenőrző szoftvert is, ami tisztának jelölte a levelet.

A következő teszt, küldj egy levelet egy gmail címre, nyisd meg, majd a levél jobb szélén található három pöttyös menüre kattintva válaszd az Eredeti megjelenítése opciót:

És végezetül az utolsó teszt, nyissuk meg ezt a linket, majd küldjünk levelet az ott látható címre:

Pár másodperc múlva nézzük meg a kapott pontszámot:

Ugye, hogy nem is lehetetlen saját levelező szervert készíteni?

Ha nálad kevesebb, nyisd meg a problémás részeket, és végezd el az ajánlott finomhangolást.

Van egy jó hírem a Mailcow rendszergazdáinak

Az összes DNS bejegyzést egy gombnyomásra elkészíti nekünk! Lépjünk be az admin konzolba, válasszuk ki a Beállításokat:

Majd a kívánt domain jobb szélén látható DNS gombra kattintsunk:

Az összes DNS rekord megjelenik a képernyőn, csak be kell másolni az általunk használt DNS szolgáltató rendszerébe:

Nézzük sorjában a bejegyzéseket

  1. A levelező szerver neve. Ez egy „A” rekord. Nem feltétlen kell megegyeznie a levelezéshez használt domain-nel! Pláne, ha több domaint is kezelsz 🙂
  2. A levelező szervered „PTR” rekordja, ezt az ISP-d állítja be, vagy Te, ha erre kapsz lehetőséget egy webes felületen.
  3. Ugyanaz, mint az 1., csak ez IPv6. Ha a szerverednek van IPv6 címe, célszerű beállítani.
  4. Ugyanaz, mint az 2., csak ez IPv6. Ha a szerverednek van IPv6 címe, célszerű beállítani.
  5. Soha életemben nem használtam, opcionális. Nálam azért fut hibára, mert a szolgáltatóm blokkolja a 25-ös portot (mivel a bemutatásra szolgáló Mailcow itthon fut a laboromban).
  6. Ez a levelező domain-ed „MX” rekordja. Kötelező!
  7. Opcionális. Bizonyos levelező kliensek ez alapján automatikusan be tudják állítani a paramétereket, persze ehhez kell egy megfelelően preparált html fájlt is készíteni, és feltenni arra a webszerverre, ahol a levelező szerver is fut.
  8. Opcionális. Tulajdonképpen a Mailcow hoszt nevét és portját írja le. A labor nem érhető el kintről, élesben pedig nem ezen a porton fogod elérni, szóval ne is foglalkozz vele.
  9. Ugyanaz, mint a 7.
  10. „SPF” rekord. A sor végi „2”-es nem a része a rekordnak, azzal jelzi, hogy opcionális, ami mára inkább kötelező, hiszen a legtöbb levelező szerver ellenőrzi ezt a rekordot is.
  11. „DMARC” rekord. A sor végi „2”-es nem a része a rekordnak, azzal jelzi, hogy opcionális, ami mára inkább kötelező, hiszen a legtöbb levelező szerver ellenőrzi ezt a rekordot is.
  12. „DKIM” rekord. Ez a publikus része, ezt kell bemásolni a DNS szerveredre. A privát párját a Mailcow már beállította, azzal neked további dolgod nincs!

Elvileg mindent leírtam, a tesztek alapján én mindent megtettem, hogy tőlem átvegyék a leveleket, ha úgy érzed, hogy valamit kihagytam, vagy nem érthetően írtam le, bátran írj kommentet!

Vélemény, hozzászólás? Válasz megszakítása

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

Kategóriák

  • ansible
  • docker
  • e-mail
  • git
  • hardware
  • hibakeresés
  • kubernetes
  • ldap
  • Linux
  • MariaDB
  • OpenWrt
  • Proxmox
  • security
  • SNMP
  • Synology
  • teszt
  • Unifi
  • UPS
  • vagrant
  • Virtualbox
  • zabbix
©2025 msandor honlapja | WordPress Theme by Superb WordPress Themes

Adatkezelési tájékoztató || Hibát talált az oldalon? Írja meg nekem. || Impresszum || Powered by WordPress

Oldalunk cookie-kat ("sütiket") használ. Ezen fájlok információkat szolgáltatnak számunkra a felhasználó oldallátogatási szokásairól a legjobb felhasználói élmény nyújtása érdekében, de nem tárolnak személyes információkat, adatokat. Szolgáltatásaink igénybe vételével Ön beleegyezik a cookie-k használatába. Kérjük, hogy kattintson az Elfogadom gombra, amennyiben böngészni szeretné weboldalunkat.ElfogadomAdatvédelmi irányelvek