A DKIM hitelesítés beállítása az OpenDKIM segítségével

DKIM (DomainKeys Identified Mail) egy email hitelesítési protokoll, amely segít ellenőrizni, hogy az email üzenet valóban a kijelölt küldőtől származik, és nincs módosítva az út során. A DKIM aláírás lehetővé teszi, hogy az email fogadója megbizonyosodjon arról, hogy az üzenet hiteles és érintetlen maradt az út során.

A DKIM működése

A DKIM működése a következő lépéseket foglalja magában:

  1. Az email küldő szerver létrehoz egy digitális aláírást az email üzenet tartalmára egy privát kulcs segítségével.
  2. Az aláírás a levél fejlécébe van beillesztve, általában egy speciális DKIM-Signature fejlécmezőként.
  3. Az email érkezik a fogadó levelezőszerverre, amely rendelkezik a küldő szerver publikus DKIM kulcsával.
  4. A fogadó szerver kinyeri az emailből az aláírást és használja a publikus kulcsot annak ellenőrzésére, hogy az aláírás érvényes-e és az email tartalma változatlan maradt-e.
  5. Ha az aláírás érvényes és a tartalom változatlan, a fogadó szerver elfogadja az emailt hitelesített és megbízható forrásból származó üzenetként.

A DKIM használata több előnyt biztosít:

  1. Hitelesség: A fogadó szerverek ellenőrizhetik az email eredetét, hogy megbizonyosodjanak arról, hogy valóban az állított küldőtől származik.
  2. Szerkesztetlenség: Az aláírás ellenőrzése lehetővé teszi a fogadó szerver számára, hogy megbizonyosodjon arról, hogy az üzenet tartalma nem módosult az út során.
  3. Továbbítás és megbízhatóság: A DKIM aláírás segítségével a levelek könnyebben továbbíthatók és megbízhatóbbá válnak azáltal, hogy a fogadó szerverek megbizonyosodnak arról, hogy az üzenetet valóban a küldőtől származik.

A DKIM növeli az email hitelességét és csökkenti a hamisítás lehetőségét, ami fontos a spam elleni küzdelemben és az üzenetek megbízható kézbesítésében. A DKIM használatához telepíteni kell az OpenDKIM szoftver és össze kell kapcsolani az éppen használt levelező kiszolgálóval.

Az OpenDKIM telepítése

DKIM kulcs generálásához kövesse az alábbi lépéseket:

  1. Telepítse az OpenDKIM szoftvert a szerverére. A Linux rendszer típusától függően használja az alábbi parancsokat a telepítéshez:

    • Ubuntu vagy Debian: sudo apt-get install opendkim opendkim-tools
    • CentOS vagy Fedora: sudo yum install opendkim opendkim-tools
    • Egyéb rendszerek esetén használja a rendszernek megfelelő csomagkezelőt.

A DKIM kulcs elkészítése

Miután telepítette az OpenDKIM-et, generálhatja a DKIM kulcsot a következő paranccsal a dkim tároló mappában:

sudo opendkim-genkey -t -s sajatdomain_2023 -d sajatdomain.hu

A -s kapcsoló után választhat egy tetszőleges szelektort, amely azonosítja a DKIM kulcsot. A -d kapcsoló után adja meg a sajatdomain.hu domain nevét. Debian és Ubuntu esetében a tároló mappa a: /etc/dkimkeys, enterprise linux-ok esetén a fájlokat a /etc/opendkim/keys mappában érdemes létrehozni.

Ezután a fenti parancs visszaadja a következő fájlokat hozza létre:

-rw-r-----  1 root     opendkim 1679 jún    7 13:13 sajatdomain_2023.private
-rw-r-----  1 root     opendkim  527 jún    7 13:13 sajatdomain_2023.txt

A generált privát (*.private) kulcsot tárolhatja egy biztonságos helyen, például a /etc/opendkim/ mappában, ha nem oda hozta őket eleve létre:

sudo mkdir /etc/opendkim/keys sudo mv sajatdomain_2023.private /etc/opendkim/keys/

A DKIM publikus kulcs elhelyezése a DNS egyik TXT mezőjében

Ez a parancs létrehoz egy sajatdomain_2023.txt (*,txt) fájlt is. A sajatdomain_2023 (*,txt) fájl tartalmát kell hozzáadnia egy TXT rekordhoz a DNS bejegyzésekben. A rekord neve általában "sajatdomain_2023._domainkey.sajatdomain.hu" formátumban lesz. Az érték pedig a selector.txt fájl tartalma. A létrehozott rekord a következőképpen nézhet ki:

sajatdomain_2023._domainkey.sajatdomain.hu IN TXT "v=DKIM1; k=rsa; p=publikus_kulcs_tartalma"

Miután elmentette a DNS bejegyzéseket, a DKIM kulcs beállítása elkészült.

Fontos megjegyezni, hogy a pontos lépések és parancsok a rendszer típusától és konfigurációtól függhetnek. Kérjük, ellenőrizze az OpenDKIM dokumentációját vagy a rendszerének specifikus telepítési útmutatóját a pontos részletekért.

Az OpenDKIM beállítása

A továbbiakban be kell állaítani, hogy az openDKIM használja az imént generált kulcsot az OpenDKIM programban a megadott levelezési domain-hez. Több Domain is megadható.

Amennyiben egy domain-t használ, mindössze az opendkim konfigurációs fájlban állítsa be a következő beállításokat:

Domain example.com
Selector       default
KeyFile        /etc/opendkim/keys/default.private

Abban az esetben, ha több domainhez kívánja beállítani a szolgáltatást, akkor minden egyes domain-hez saját kulcsot kell létrehoznia. Abban az esetben, ha az azonos levelezis domain-ek között is különbséget szeretne tenni a selector értékét is másra kell állítani és úgy bejegyezni a DNS bejegyzésbe is. A több tartománynevet beállíthatja a KeyTable és SigningTable fájlokban. Ehhez kommentelje ki a Domain, Selector, KeyFile beállításoka és állítsa be a következőket:

KeyTable        /etc/opendkim/KeyTable
SigningTable    refile:/etc/opendkim/SigningTable

A KeyTable fájl beállítása:

default._domainkey.example.com example.com:default:/etc/opendkim/keys/default.private

A SigningTable fájl beállítása:

*@example.com default._domainkey.example.com

Figyeljen hogy elérhető legyen az OpenDKIM a helyi gépen, ezért állítsa be a szolgáltatás hozzáférési pontját az opendkim.conf fájlban:

Socket                  inet:8891@localhost

Változtatások után indítsa össze az OpenDKIM szolgáltatást:

systemctl restart opendkim.service

Ezek után ellenőrizze, hogy a szolgáltatás a megadott porton elérhető-e:

ss -ntpl | grep 8891
LISTEN   0         128               127.0.0.1:8891             0.0.0.0:*        users:(("opendkim",pid=30909,fd=3))

DKIM beállítása a Postfix levelező-kiszolgáló esetében

Nyissa meg a /etc/postfix/main.cf fájlt és állítsa be a következő értékeket:

smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters milter_default_action = accept 

Változtatások után indítsa össze az Postfix szolgáltatást:

systemctl restart postfix.service