Postafiók szerver létrehozása Debian segítségével: Postfix és Dovecot

Üdvözöljük egy izgalmas utazáson a saját e-mail szerver felépítésének világába! Manapság, amikor a felhőalapú szolgáltatások dominálnak, sokan elfelejtik, milyen erő rejlik abban, ha a saját kezünkben tarthatjuk adatainkat és kommunikációnkat. Egy saját e-mail szerver üzemeltetése nem csupán technikai kihívás, hanem egyben szabadságot és kontrollt is jelent. Ebben az átfogó útmutatóban lépésről lépésre végigvezetjük Önt azon, hogyan hozhat létre egy robusztus és biztonságos postafiók szervert Debian operációs rendszeren, a két legismertebb és legmegbízhatóbb nyílt forráskódú szoftver, a Postfix és a Dovecot segítségével.

Miért érdemes belevágni? Először is, a kontroll. Nem függ semmilyen harmadik féltől, teljes rálátása van az adatokra és a szerver működésére. Másodszor, a privát szféra. Csökkentheti a külső szolgáltatók általi adatgyűjtés kockázatát. Harmadszor, a rugalmasság. Személyre szabhatja a szervert saját igényei szerint, legyen szó felhasználók számáról, tárhelyről vagy biztonsági funkciókról. Végül, de nem utolsósorban, egy ilyen projekt hatalmas tanulási élményt nyújt a hálózati protokollokról, a Linux rendszerekről és az informatikai biztonságról.

Ez az útmutató sysadminoknak, hobbi fejlesztőknek és kisvállalkozásoknak szól, akik szeretnének mélyebben belemerülni az e-mail infrastruktúra működésébe. Elengedhetetlen némi alapvető Linux parancssori ismeret, egy regisztrált domain név és egy frissen telepített Debian szerver.

1. Előkészületek és Rendszerbeállítások

Mielőtt belevágnánk a szoftverek telepítésébe, néhány fontos előkészületet kell elvégeznünk. Győződjön meg róla, hogy a szervere naprakész és megfelelően van konfigurálva.

Rendszerfrissítés és Hostnév Beállítása

Kezdjük a rendszer frissítésével:

sudo apt update
sudo apt upgrade -y

Ezután állítsa be a szerver hostnevét és a teljes tartománynevét (FQDN – Fully Qualified Domain Name). Fontos, hogy ez a név megfelelően legyen beállítva, mivel a levelezőrendszer nagyban támaszkodik rá. Például, ha a domainje pelda.hu, a szerver hostneve lehet mail, így az FQDN mail.pelda.hu.

sudo hostnamectl set-hostname mail
echo "127.0.0.1 mail.pelda.hu mail localhost" | sudo tee -a /etc/hosts
echo "::1 mail.pelda.hu mail localhost" | sudo tee -a /etc/hosts

Cserélje a pelda.hu részt a saját domainjére. Ellenőrizze a beállításokat a hostname és a hostname -f parancsokkal.

DNS Rekordok Konfigurálása

A levelezőrendszer működéséhez elengedhetetlen a megfelelő DNS rekordok beállítása a domain szolgáltatójánál. A legfontosabbak:

  • A rekord: Mutasson a szerver IP-címére. Pl.: mail.pelda.hu IN A 192.0.2.1
  • MX rekord: Az e-mail kicserélő (Mail eXchanger) rekordja, amely megmondja a küldő szervereknek, hova kézbesítsék az e-maileket a domainjére. Pl.: pelda.hu IN MX 10 mail.pelda.hu (az 10 a prioritás, alacsonyabb szám jobb).

Később beállítjuk az SPF, DKIM és DMARC rekordokat is, amelyek kulcsfontosságúak a spam elleni védelemben és az e-mailek kézbesíthetőségében.

Tűzfal Beállítása (UFW)

Engedélyezze a szükséges portokat a tűzfalon (pl. UFW). A levelezőrendszerek a következő portokat használják:

  • SMTP: 25 (általános küldés)
  • SMTPS (Submission): 587 (ügyfél által történő, titkosított küldés)
  • SMTPS (SSL/TLS): 465 (régebbi, titkosított küldés)
  • IMAP: 143 (e-mailek olvasása)
  • IMAPS: 993 (titkosított IMAP)
  • POP3: 110 (e-mailek letöltése)
  • POP3S: 995 (titkosított POP3)
sudo apt install ufw
sudo ufw allow 22/tcp  # SSH
sudo ufw allow 25/tcp  # SMTP
sudo ufw allow 587/tcp # Submission
sudo ufw allow 465/tcp # SMTPS (optional, but good to have)
sudo ufw allow 143/tcp # IMAP
sudo ufw allow 993/tcp # IMAPS
sudo ufw allow 110/tcp # POP3
sudo ufw allow 995/tcp # POP3S
sudo ufw enable

2. Postfix: A Levelezési Ügynök (MTA) Beállítása

A Postfix a levelezési ügynök (MTA – Mail Transfer Agent), amely felelős az e-mailek küldéséért és fogadásáért. Rendkívül hatékony és megbízható.

Telepítés

sudo apt install postfix -y

A telepítés során egy konfigurációs ablak jelenik meg. Válassza az „Internet Site” opciót, és adja meg a domainjét (pl. pelda.hu) a „System mail name” résznél.

Alapvető Konfiguráció (main.cf)

A Postfix fő konfigurációs fájlja a /etc/postfix/main.cf. Szerkessze ezt a fájlt a következőképpen:

sudo nano /etc/postfix/main.cf

Győződjön meg róla, hogy a következő sorok helyesek:

  • myhostname = mail.pelda.hu (Az FQDN)
  • mydomain = pelda.hu (Az Ön domain neve)
  • myorigin = $mydomain (Az alapértelmezett kimenő domain)
  • inet_interfaces = all (Minden hálózati interfészen figyeljen)
  • mydestination = $myhostname, $mydomain, localhost.$mydomain, localhost (Mely domainekre fogad e-maileket)
  • mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 (Belső hálózatok, ahonnan engedélyezett a küldés hitelesítés nélkül)

Virtuális Felhasználók és Domainek

Egy modern levelezőrendszer általában nem a rendszerfelhasználókat használja a postafiókokhoz, hanem virtuális felhasználókat. Ez sokkal rugalmasabb és biztonságosabb. Ehhez a Postfixnek tudnia kell, hol tárolja a virtuális felhasználók leveleit (ún. Maildir formátumban).

Adja hozzá a következő sorokat a main.cf fájlhoz (ha még nincsenek ott, vagy módosítsa a meglévőket):

# Virtuális felhasználók és domainek kezelése
virtual_mailbox_domains = pelda.hu
virtual_mailbox_base = /var/vmail
virtual_mailbox_maps = hash:/etc/postfix/vmail_maps
virtual_minimum_uid = 1000
virtual_uid_map = static:5000 # Egyedi UID a virtuális felhasználóknak
virtual_gid_map = static:5000 # Egyedi GID a virtuális felhasználóknak
virtual_alias_maps = hash:/etc/postfix/virtual

Hozzuk létre a /var/vmail könyvtárat, és adjunk neki megfelelő jogosultságokat. A 5000 UID/GID csak példa, létrehozhatja a vmail felhasználót és csoportot:

sudo groupadd -g 5000 vmail
sudo useradd -u 5000 -g vmail -s /bin/false -d /var/vmail -m vmail
sudo chown -R vmail:vmail /var/vmail/
sudo chmod 770 /var/vmail/

Ezután létrehozzuk a virtuális felhasználókat és aliasokat tartalmazó fájlokat.

/etc/postfix/vmail_maps (Virtuális Postafiókok)

Ez a fájl tartalmazza a virtuális e-mail címek és a hozzájuk tartozó fizikai Maildir útvonalak megfeleltetését.

sudo nano /etc/postfix/vmail_maps

Például:

[email protected] pelda.hu/user1/
[email protected] pelda.hu/user2/

Fontos, hogy a sor végén legyen egy üres sor (enter), különben az utolsó rekord nem lesz feldolgozva.

/etc/postfix/virtual (Virtuális Aliasok)

Ez a fájl az e-mail aliasokat kezeli, azaz amikor egy címre érkező levelet egy másik címre továbbítunk.

sudo nano /etc/postfix/virtual

Például:

[email protected] [email protected]
[email protected] [email protected],[email protected]

Mentés után konvertálja a szöveges fájlokat Postfix adatbázissá a postmap paranccsal:

sudo postmap /etc/postfix/vmail_maps
sudo postmap /etc/postfix/virtual

Végül indítsa újra a Postfix szolgáltatást a változtatások érvénybe léptetéséhez:

sudo systemctl restart postfix

3. Dovecot: Az IMAP/POP3 Szerver Beállítása

A Dovecot egy IMAP és POP3 szerver, amely lehetővé teszi az e-mail kliensek (pl. Thunderbird, Outlook, vagy webmail felület) számára, hogy hozzáférjenek a Postfix által tárolt levelekhez. Emellett kezeli a felhasználói hitelesítést is.

Telepítés

sudo apt install dovecot-imapd dovecot-pop3d -y

Alapvető Konfiguráció

A Dovecot konfigurációs fájljai a /etc/dovecot/conf.d/ könyvtárban találhatók. Ezek az alapértelmezett beállítások általában jó kiindulópontot jelentenek.

10-mail.conf (Mailbox Formátum)

Nyissa meg a 10-mail.conf fájlt, és győződjön meg róla, hogy a Maildir formátum van kiválasztva. Ez az a formátum, amit a Postfix is használ.

sudo nano /etc/dovecot/conf.d/10-mail.conf

Keresse meg, vagy adja hozzá a következő sort:

mail_location = maildir:/var/vmail/%d/%n

A %d a domainnevet (pl. pelda.hu), a %n a felhasználónevet (pl. user1) helyettesíti, így az útvonal /var/vmail/pelda.hu/user1/ lesz, ami illeszkedik a Postfix beállításaihoz.

10-auth.conf (Hitelesítés)

A Dovecotnak tudnia kell, hogyan hitelesítse a felhasználókat. A legegyszerűbb, ha egy egyszerű szöveges fájlt használunk a virtuális felhasználók nevének és jelszavának tárolására (éles környezetben adatbázis ajánlott!).

sudo nano /etc/dovecot/conf.d/10-auth.conf

Keresse meg és engedélyezze a következőket (vagy győződjön meg róla, hogy a kommentjelek el vannak távolítva):

auth_mechanisms = plain login

Keresse meg az !include auth-system.conf.ext sort, és kommentelje ki, majd vegye fel a !include auth-passwdfile.conf.ext sort (vagy győződjön meg róla, hogy be van kapcsolva).

auth-passwdfile.conf.ext (Jelszófájl)

Hozzuk létre a jelszófájlt, és definiáljuk a felhasználókat.

sudo nano /etc/dovecot/conf.d/auth-passwdfile.conf.ext

A passdb szekciót módosítsa a következőképpen:

passdb {
  driver = passwd-file
  args = /etc/dovecot/users
}
userdb {
  driver = static
  args = uid=vmail gid=vmail home=/var/vmail/%d/%n
}

/etc/dovecot/users (Felhasználói Jelszófájl)

Most hozzuk létre a tényleges felhasználói jelszófájlt. A jelszavakhoz SHA256 vagy más erős hash-t használjunk. A doveadm pw paranccsal generálhat jelszavakat:

sudo nano /etc/dovecot/users

Példa bejegyzés (a {SHA256} után a jelszó SHA256 hash-e):

[email protected]:{SHA256}ide-jon-a-hash-elt-jelszo::5000:5000::/var/vmail/pelda.hu/user1::

Jelszó generálása:

sudo doveadm pw -s SHA256 -p "az_on_jelszava"

Másolja be a kimenetet a megfelelő helyre.

10-ssl.conf (SSL/TLS beállítások)

A biztonságos kommunikációhoz SSL/TLS tanúsítványokra van szükség. Kezdetben használhatunk önaláírt tanúsítványt, de éles környezetben mindenképpen Let’s Encrypt-et (vagy más megbízható CA-t) ajánlunk.

sudo nano /etc/dovecot/conf.d/10-ssl.conf

Keresse meg a ssl = yes sort.

Az alapértelmezett tanúsítvány útvonalait módosítsa a sajátjaira (ha már vannak, vagy ha Let’s Encrypt-et használ):

ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem

Ha még nincs tanúsítványa, a Dovecot telepítésekor általában generál egy önaláírtat, amit használhat. Később felülírjuk Let’s Encrypt-tel.

10-master.conf (LMTP konfiguráció)

Ahhoz, hogy a Postfix át tudja adni a bejövő leveleket a Dovecotnak a helyi kézbesítésre, a Dovecotnak futnia kell egy LMTP (Local Mail Transfer Protocol) szolgáltatáson.

sudo nano /etc/dovecot/conf.d/10-master.conf

Keresse meg az service lmtp blokkot, és győződjön meg róla, hogy a unix_listener beállítása a következő:

service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    mode = 0600
    user = postfix
    group = postfix
  }
}

Ezután illessze be a main.cf-be a Postfix LMTP átjárót, és indítsa újra a szolgáltatásokat:

sudo nano /etc/postfix/main.cf

Adja hozzá a következő sort:

virtual_transport = lmtp:unix:private/dovecot-lmtp
sudo systemctl restart dovecot
sudo systemctl restart postfix

4. SSL/TLS Titkosítás Let’s Encrypttel

A biztonságos kommunikáció elengedhetetlen. A Let’s Encrypt ingyenes, megbízható tanúsítványokat biztosít. Ehhez használjuk a Certbot eszközt.

Certbot Telepítése

sudo apt install certbot -y

Tanúsítvány igénylése

Állítsa le a webkiszolgálót (ha fut), vagy használja a --standalone módot. Ha nincs webkiszolgálója, a standalone a legjobb:

sudo certbot certonly --standalone -d pelda.hu -d mail.pelda.hu

Kövesse az utasításokat (e-mail cím megadása, szolgáltatási feltételek elfogadása). A tanúsítványok a /etc/letsencrypt/live/pelda.hu/ útvonalon jönnek létre.

Postfix és Dovecot konfigurálása Let’s Encrypt tanúsítványokkal

Postfix (main.cf)

sudo nano /etc/postfix/main.cf

Adja hozzá vagy módosítsa ezeket a sorokat:

smtpd_tls_cert_file = /etc/letsencrypt/live/pelda.hu/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/pelda.hu/privkey.pem
smtpd_use_tls = yes
smtpd_tls_security_level = may
smtp_tls_security_level = may
smtp_tls_loglevel = 1

Dovecot (10-ssl.conf)

sudo nano /etc/dovecot/conf.d/10-ssl.conf

Módosítsa a tanúsítvány útvonalait:

ssl_cert = </etc/letsencrypt/live/pelda.hu/fullchain.pem
ssl_key = </etc/letsencrypt/live/pelda.hu/privkey.pem

Indítsa újra a szolgáltatásokat:

sudo systemctl restart postfix
sudo systemctl restart dovecot

A Certbot automatikusan beállítja a tanúsítványok megújítását egy cron job segítségével.

5. DNS rekordok finomhangolása a kézbesíthetőségért

Ahhoz, hogy az e-mailek ne kerüljenek a spam mappába, a DNS rekordok beállítása kulcsfontosságú. A legfontosabbak az SPF, DKIM és DMARC.

SPF (Sender Policy Framework)

Az SPF egy TXT rekord, amely azonosítja, mely szerverek jogosultak e-maileket küldeni az Ön domainje nevében. Ez megakadályozza a spoofingot.

Adja hozzá a DNS szolgáltatójánál a következő TXT rekordot:

@ IN TXT "v=spf1 mx a ip4:AZ_ON_SERVER_IPJE -all"

Cserélje ki az AZ_ON_SERVER_IPJE helyére a szerver IP-címét.

DKIM (DomainKeys Identified Mail)

A DKIM digitális aláírással ellenőrzi az e-mailek hitelességét, megelőzve a hamisítást és a manipulációt.

A DKIM beállítása bonyolultabb, ehhez általában az OpenDKIM szoftvert használjuk.

sudo apt install opendkim opendkim-tools -y

Hozza létre a kulcsokat, konfigurálja az OpenDKIM-et, és adja hozzá a nyilvános kulcsot a DNS TXT rekordként (például selector._domainkey IN TXT "v=DKIM1; k=rsa; p=NYILVANOS_KULCS"). Ez egy külön útmutatót is megérdemel, de a lényeg, hogy egy hosszú stringet kell majd felvennie TXT rekordként a DNS-be.

DMARC (Domain-based Message Authentication, Reporting & Conformance)

A DMARC arra utasítja a fogadó szervereket, hogyan kezeljék azokat az e-maileket, amelyek nem mennek át az SPF vagy DKIM ellenőrzésen, és jelentéseket küldhet a problémákról.

Adja hozzá a DNS szolgáltatójánál a következő TXT rekordot:

_dmarc IN TXT "v=DMARC1; p=none; rua=mailto:[email protected]"

A p=none azt jelenti, hogy kezdetben csak figyeli a szabálysértéseket. Később módosíthatja p=quarantine (karanténba helyezés) vagy p=reject (elutasítás) értékre. Cserélje az [email protected] címet egy olyan címre, ahová a DMARC jelentéseket kapni szeretné.

6. Tesztelés és Hibaelhárítás

Most, hogy mindent beállítottunk, ideje tesztelni a szervert. Küldjön és fogadjon e-maileket.

  • Küldés tesztelése: Használja a mailx (apt install mailutils) parancsot, vagy egy e-mail klienst.
    echo "Ez egy teszt uzenet." | mail -s "Teszt Targy" [email protected]
  • Fogadás tesztelése: Konfiguráljon egy e-mail klienst (pl. Thunderbird) a létrehozott felhasználóval és jelszóval. Használja a mail.pelda.hu címet IMAP/POP3 és SMTP szerverként, a portok pedig 993/995 és 587 (SSL/TLS).
  • Logfájlok: Ellenőrizze a /var/log/mail.log és /var/log/syslog fájlokat a hibákért. Ezek a legfontosabb eszközök a hibaelhárításhoz.

7. Webes Felület (Opcionális)

A kényelem érdekében érdemes egy webes felületet (webmail) is telepíteni. Népszerű opciók a Roundcube vagy a Rainloop. Ezek egyszerűen csatlakoznak a Dovecot IMAP szerverhez és a Postfix SMTP szerverhez, így a böngészőből is elérhetők a postafiókok.

sudo apt install roundcube roundcube-core roundcube-mysql -y

Ezután konfigurálnia kell egy webkiszolgálót (pl. Nginx vagy Apache) a Roundcube kiszolgálásához, és be kell állítania a Roundcube adatbázisát és a Dovecot/Postfix kapcsolódási adatait.

8. Biztonsági Megfontolások és Karbantartás

Egy e-mail szerver üzemeltetése folyamatos figyelmet igényel:

  • Rendszeres frissítések: Tartsa naprakészen az operációs rendszert és a Postfix/Dovecot szoftvereket a biztonsági javítások miatt.
  • Erős jelszavak: Kényszerítse ki az erős, egyedi jelszavakat a felhasználóknak.
  • Tűzfal szabályok: Rendszeresen ellenőrizze és finomhangolja a tűzfal szabályait.
  • Spam és vírusvédelem: Fontolja meg a SpamAssassin és ClamAV integrálását a Postfixbe a bejövő levelek szűrésére. Ez egy komolyabb lépés, de jelentősen javítja a szerver biztonságát és a felhasználói élményt.
  • Naplózás és monitorozás: Rendszeresen ellenőrizze a logfájlokat a gyanús tevékenységek vagy hibák azonosítására.
  • Biztonsági mentések: Készítsen rendszeres biztonsági mentéseket a konfigurációs fájlokról és a felhasználói levelekről (/var/vmail/).

Összefoglalás és Következtetés

Gratulálunk! Létrehozta saját e-mail szerverét Debianon, a Postfix és Dovecot segítségével. Ez egy jelentős technikai teljesítmény, amely biztosítja az Ön számára a kommunikáció feletti teljes kontrollt és privát szférát.

Bár a folyamat összetettnek tűnhet, a moduláris felépítésnek köszönhetően a Postfix és a Dovecot rendkívül rugalmas és skálázható megoldást kínál. Ne feledje, egy levelezőrendszer üzemeltetése folyamatos odafigyelést és karbantartást igényel, de a tudás és a függetlenség, amit nyer, felbecsülhetetlen.

Ez az útmutató alapot nyújtott, de a levelezőrendszerek világa ennél sokkal mélyebb. Fedezze fel a további funkciókat, mint a kvóták, a levelek szűrése (Sieve), a listaszerverek, vagy a fejlettebb spam- és vírusvédelem. Sok sikert a saját e-mail szerverének üzemeltetéséhez!

Leave a Reply

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