SysAdm kategória bejegyzései

Saját E-mail kiszolgáló – 3. SPF, DKIM, DMARC rekordok

Az e-mail hitelesítés három kulcsfontosságú eleme az SPF, DKIM és DMARC rekord. Ezek a DNS bejegyzések segítenek megakadályozni, hogy illetéktelenek küldjenek e-maileket a nevünkben, valamint javítják a kézbesítési arányt, csökkentve a spam mappába kerülés esélyét.

1. Mi az SPF rekord?

Az SPF (Sender Policy Framework) egy DNS rekord, amely meghatározza, hogy mely szerverek jogosultak e-maileket küldeni egy adott domain nevében. Az e-mail fogadó szerverek ezt a rekordot ellenőrzik, és ha az e-mail egy nem engedélyezett szerverről érkezik, azt spamként kezelhetik vagy elutasíthatják.

SPF rekord példa:

v=spf1 mx include:_spf.google.com -all

Ebben a példában:

  • A v=spf1 jelzi, hogy SPF rekordról van szó.
  • Az mx azt jelenti, hogy a domainhez tartozó levelezőszerver küldhet e-maileket.
  • Az include:_spf.google.com lehetővé teszi, hogy a Google szerverei küldjenek levelet a domain nevében.
  • A -all azt jelzi, hogy minden más szerver elutasításra kerül.

2. Mi az a DKIM rekord?

A DKIM (DomainKeys Identified Mail) egy olyan mechanizmus, amely digitális aláírást ad az e-mailekhez. Ez a fogadó szerver számára biztosítja, hogy az üzenet valóban az adott domaintől származik, és nem módosították útközben.

DKIM rekord példa:

default._domainkey.example.com TXT "v=DKIM1; k=rsa; p=MIGfMA0G..."

Ebben a példában:

  • A default._domainkey.example.com a DKIM rekord neve.
  • A v=DKIM1 jelzi, hogy DKIM rekordról van szó.
  • A k=rsa az RSA titkosítási algoritmust használja.
  • A p= utáni hosszú karaktersor a nyilvános kulcs, amelyet a fogadó szerverek az aláírás ellenőrzésére használnak.

3. Mi a DMARC rekord?

A DMARC (Domain-based Message Authentication, Reporting & Conformance) egy szabályrendszer, amely előírja, hogy az SPF és DKIM ellenőrzéseknek hogyan kell működniük a domain esetében. Segítségével beállítható, hogy a sikertelen ellenőrzések esetén mi történjen az e-mailekkel, valamint jelentések kérhetők a levélfogadási problémákról.

DMARC rekord példa:

_dmarc.example.com TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com"

Ebben a példában:

  • A v=DMARC1 jelzi, hogy DMARC rekordról van szó.
  • A p=quarantine azt határozza meg, hogy a sikertelen ellenőrzéseket végző leveleket karanténba (spam mappába) helyezzék.
  • Az rua=mailto:dmarc-reports@example.com e-mail címre kerülnek a jelentések a sikertelen hitelesítési próbálkozásokról.

4. Miért fontos ezeknek a rekordoknak a beállítása?

Ha helyesen konfiguráljuk az SPF, DKIM és DMARC rekordokat, az e-mailjeink hitelesítésen mennek keresztül, és kisebb az esélye annak, hogy a címzett spamszűrője kiszűri őket. Emellett védelmet nyújtanak az e-mail hamisítás (spoofing) és az adathalászat ellen.

Saját E-mail kiszolgáló – 2. Hitelesítés

Az e-mail küldésekor számos tényezőt figyelembe kell venni annak érdekében, hogy az üzenet elérje a címzettet, és ne minősüljön kéretlen levélnek. Az alábbiakban bemutatjuk, milyen technikai beállítások szükségesek a sikeres kézbesítéshez.

1. Az e-mail hitelesítés alapjai: SPF, DKIM és DMARC

A levelező rendszerek egyre szigorúbb ellenőrzéseket végeznek a nem kívánt üzenetek kiszűrése érdekében. Három alapvető DNS rekord segíthet a hiteles levélküldésben:

  • Az SPF (Sender Policy Framework) meghatározza, hogy egy adott domain nevében mely szerverek küldhetnek levelet.
  • A DKIM (DomainKeys Identified Mail) digitális aláírással látja el az üzeneteket, így biztosítva azok hitelességét és érintetlenségét.
  • A DMARC (Domain-based Message Authentication, Reporting & Conformance) irányelveket határoz meg az SPF és DKIM ellenőrzések érvényesítésére, valamint jelentéseket küld a beérkező e-mailek állapotáról.

Ha ezek a rekordok megfelelően be vannak állítva, a küldött levelek nagyobb eséllyel érnek célba anélkül, hogy spamként lennének kezelve.

2. Az ingyenes e-mail szolgáltatások korlátai

Ha Gmail, Outlook vagy más ingyenes levelező szolgáltatást használunk, a DNS rekordok beállítása nem módosítható, mivel ezek a szolgáltatók kezelik a domaint. Emiatt saját e-mail hitelesítést nem tudunk végrehajtani.

Egyes szolgáltatók lehetőséget biztosítanak külső SMTP szerver használatára, amelyen keresztül üzenetek küldhetők. Ha egy rendszer vagy alkalmazás támogatja ezt a megoldást, érdemes kihasználni. Bizonyos esetekben azonban, például egyes hírlevélküldő platformoknál vagy szervezeti levelezőrendszerekben, nincs lehetőség külső SMTP beállítására. Ilyenkor az ingyenes e-mail címet nem lehet megfelelően használni levélküldésre.

3. A saját domain előnyei a levélküldés során

Saját domain használatával sokkal nagyobb ellenőrzésünk lehet az e-mail hitelesítési folyamat felett. A DNS rekordok beállításával biztosíthatjuk, hogy üzeneteink megfelelően hitelesítve legyenek.

Milyen lépések szükségesek a beállításhoz?

  • Az SPF rekordban meg kell adni, hogy mely szerverek küldhetnek levelet a domain nevében.
  • A DKIM segítségével digitálisan aláírhatjuk az üzeneteket, amelyeket a fogadó szerverek ellenőrizhetnek.
  • A DMARC szabályozza, hogy a fogadó rendszerek hogyan kezeljék az SPF és DKIM ellenőrzéseket, valamint visszajelzést küld a küldési eredményekről.

Saját E-mail kiszolgáló – 1.5 Mailu beüzemelése

Az alább olvasható leírás egy nagyon leegyszerűsített, felületes leírása annak, hogy milyen lépéseket kell megtenni a Mailu sikeresen konfigurálásához és futtatásához.

Mindenképpen az aktuális hivatalos leírást kell követni a megfelelő működéshez. A tartalom írásának idején a 2024.06 verzió érhető el melyet ide kattintva lehet megtalálni. A leírás 1:1-ben történő lemásolásának nem látom értelmét. Ha valóban az a terv, hogy egy működő Mailu install jöjjön létre, azt kell követni.

A terep előkészítése: A szerver és a domain

Mielőtt bármibe is belekezdenénk, elengedhetetlen, hogy biztosítsuk a megfelelő alapot. Ez azt jelenti, hogy szükségünk van egy Linux-alapú szerverre. A Mailu, mint egy modern levelezőszerver, Docker konténerekben fut, ami nagy rugalmasságot és egyszerű kezelhetőséget biztosít. Az Ubuntu vagy Debian disztribúciók kiváló választások, mivel széles körben támogatottak és stabilak.

A szervernek rendelkeznie kell egy publikus IP-címmel, hogy a külvilág elérhesse. Gondoljunk csak bele, a levelezés lényege a kommunikáció, és ehhez elengedhetetlen, hogy a szerverünk elérhető legyen az internetről. Ne feledkezzünk meg a megfelelő erőforrásokról sem. A RAM és a tárhely kulcsfontosságúak a zökkenőmentes működéshez. Egy levelezőszervnek képesnek kell lennie kezelni a beérkező és kimenő leveleket, tárolni a felhasználói postafiókokat, és futtatni a szükséges szolgáltatásokat.

A domain név a mi digitális identitásunk lesz. Ez az a cím, amelyet az emberek használni fognak, amikor e-mailt küldenek nekünk. Regisztráljunk egy domain nevet, és állítsuk be az A rekordot a szerverünk IP-címére. Ez a DNS rekord köti össze a domain nevünket a szerverünkkel, lehetővé téve, hogy az e-mailek eljussanak a megfelelő helyre.

Docker és a Docker Compose telepítése

A Mailu Docker konténerekben fut, ami azt jelenti, hogy a telepítés és a frissítés egyszerű és gyors. A Docker egy konténerizációs platform, amely lehetővé teszi, hogy az alkalmazásokat elszigetelt környezetekben futtassuk. A Docker Compose pedig egy eszköz, amely segít a többkonténeres alkalmazások kezelésében.

Az Ubuntu/Debian rendszereken a Docker és a Docker Compose telepítése egyszerű. Először frissítjük a csomaglistát, majd telepítjük a szükséges csomagokat. Ez a folyamat biztosítja, hogy a legfrissebb verziókat kapjuk, és hogy minden szükséges függőség telepítve legyen.

Mailu konfigurálása

A Mailu konfigurációjának szíve a mailu.env fájl. Ebben a fájlban adjuk meg a levelezőszerverünk alapvető beállításait. A MAILU_HOSTNAME változóban adjuk meg a levelezőszerverünk hostname-jét, például mail.pelda.hu. Ez a név lesz használva a levelezőszerver azonosítására az interneten.

A MAILU_ADMIN_PASSWORD változóban adjuk meg az adminisztrátori jelszót. Ez a jelszó védelmezi a Mailu webes felületét, ahol a felhasználókat és a domaineket kezelhetjük. Válasszunk egy erős jelszót, amely nehezen kitalálható.

Mailu futtatása

A Mailu telepítéséhez letöltjük a Mailu Docker Compose fájlját (docker-compose.yml). Ez a fájl leírja a Mailu konténereit és azok beállításait. A Docker Compose segítségével könnyedén elindíthatjuk a Mailu-t egyetlen paranccsal: docker-compose up -d.

Ez a parancs letölti a szükséges Docker konténereket, elindítja őket, és a háttérben futtatja a Mailu-t. A -d opció biztosítja, hogy a konténerek a háttérben fussanak, így nem kell folyamatosan nyitva tartanunk a terminált.

Webes felület és az e-mail kliensek

A Mailu webes felülete a https://mail.pelda.hu/admin címen érhető el. Itt jelentkezhetünk be az adminisztrátori jelszóval, és kezelhetjük a felhasználókat, domaineket és egyéb beállításokat.

Az e-mail kliensekben a következő beállításokat kell használnunk:

  • Bejövő levelek (IMAP/POP3): mail.pelda.hu
  • Kimenő levelek (SMTP): mail.pelda.hu
  • Felhasználónév: felhasználónév@pelda.hu
  • Jelszó: a felhasználói fiók jelszava

Saját E-mail kiszolgáló – 1. Szoftverek kiválasztása

Az e-mail kiszolgáló létrehozása és üzemeltetése komoly technikai kihívásokat jelent, de többféle megoldás létezik attól függően, hogy milyen mértékű irányítást és testreszabhatóságot szeretnénk.

Saját E-mail kiszolgáló manuális telepítése és konfigurálása

Ha teljes ellenőrzést szeretnénk az e-mail szerverünk felett, manuálisan telepíthetünk és konfigurálhatunk egy teljes körű levelezési rendszert. Ez nagy technikai tudást igényel, de teljes rugalmasságot biztosít.

A szükséges komponensek:

  • Exim/Postfix – Az e-mailek küldéséért és fogadásáért felelős MTA (Mail Transfer Agent).
  • Dovecot/Cyrus IMAP – Az IMAP és POP3 protokollokat biztosító levélkézbesítő szerver.
  • Sieve – Szabályalapú e-mail szűrés és automatizált üzenetkezelés.
  • SpamAssassin (spamd) – Kéretlen levelek szűrésére használt eszköz.
  • Amavis/ClamAV – Vírusellenőrzést végző alkalmazások.
  • Roundcube/RainLoop – Webmail felület, amely lehetővé teszi az e-mailek böngészőből történő elérését.
  • Let’s Encrypt vagy más tanúsítványkezelő – Titkosított kommunikáció biztosítása SSL/TLS segítségével.

Előnyök:

  • Teljes kontroll az e-mail szerver beállításai felett.
  • Testreszabhatóság és egyedi szabályok kialakítása.

Hátrányok:

  • Magas technikai tudást igényel.
  • Folyamatos karbantartás és biztonsági frissítések szükségesek.
  • Nehezebb hibaelhárítás és skálázás.

Kész E-mail megoldások

Akik nem szeretnének minden egyes komponenst külön beállítani, választhatnak előre elkészített, könnyebben kezelhető e-mail szerver megoldásokat. Ezek a rendszerek tartalmazzák az összes szükséges komponenst és gyakran webes kezelőfelületet is biztosítanak.

Népszerű megoldások:

  • Mailcow – Teljes funkcionalitású levelezési rendszer Docker alapokon, amely tartalmazza a Postfix, Dovecot, SoGo, ClamAV, SpamAssassin és más kulcsfontosságú szolgáltatásokat.
  • Mailu – Könnyen telepíthető, minimalista levelezőszerver, amely Postfix, Dovecot és más e-mail komponenseket kombinál.
  • Mail-in-a-Box – Automatizált levelezési rendszer Ubuntu alapokon, amely egyszerűsített telepítést és konfigurációt biztosít.
  • Zimbra – Professzionális levelezőrendszer, amely teljes körű vállalati funkciókat biztosít, beleértve a webmailt, naptárkezelést és csoportmunkát.

Előnyök:

  • Gyors és egyszerű telepítés.
  • Egyszerűbb karbantartás a manuális megoldásokhoz képest.
  • Rendszerint beépített webes kezelőfelület és felhasználókezelés.

Hátrányok:

  • Kevesebb rugalmasság és testreszabhatóság.
  • Néhány rendszer erőforrásigényes lehet.
  • Egyes megoldások nem teljesen ingyenesek (pl. Zimbra vállalati verziója).