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:
- 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.
- Az aláírás a levél fejlécébe van beillesztve, általában egy speciális DKIM-Signature fejlécmezőként.
- Az email érkezik a fogadó levelezőszerverre, amely rendelkezik a küldő szerver publikus DKIM kulcsával.
- 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.
- 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:
- 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.
- 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.
- 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:
-
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