[[oktatas:linux:e-mail szerver|< E-mail szerver]] ====== Dovecot ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2011, 2018, 2020 * Licenc: GNU Free Documentation License 1.3 * Web: https://szit.hu ===== Bevezetés ===== A Dovecot azt jelenti galambdúc vagy galambház. Kiejtve: [ˈdʌvkɒt]. A linuxos rendszeren levelek kiszolgálására használható szerver program, amely nyílt forráskódú. A leveleket **POP3** és **IMAP** protokollon keresztül szolgája ki. Ismeri az mbox és a Maildir formátumokat. ===== Telepítés ===== Feltételezzük, hogy egy levezőszerver már telepítve van. Például postfix. apt install dovecot-pop3d dovecot-imapd Legújabb verzió: https://dovecot.org ===== Beállítás ===== A beállítások a következő helyen találhatók: nano /etc/dovecot/dovecot.conf ===== Teszt ===== ps ax | grep dovecot ss -lt State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 100 *:143 *:* LISTEN 0 128 *:22 *:* LISTEN 0 100 *:25 *:* LISTEN 0 100 :::143 :::* LISTEN 0 128 :::22 :::* LISTEN 0 100 :::25 :::* apt install telnet telnet localhost 143 ===== SSL ===== ==== A rendszer tanúsítványai ==== A titkosított kapcsolathoz tanúsítványra van szükség. Hozzuk létre a tanúsítványt, ha még nem létezne: openssl req -x509 -nodes -days 3650 -newkey rsa:4096 \ -out /etc/ssl/certs/mailcert.pem \ -keyout /etc/ssl/private/mail.key Néhány kérdésre kell válaszolnunk: Country Name (2 letter code) [AU]:HU State or Province Name (full name) [Some-State]:Hungarian Locality Name (eg, city) []:Budapest Organization Name (eg, company) [Internet Widgits Pty Ltd]: Oragnizational Unit Name (eg, section) []: Informatika Common Name (e.g. server FQDN or YOUR name) []:zold.and Email Address []:info@zold.and Be kell állítani a PEM kódolású X.509 SSL/TLS tanúsítványt és privát kulcsot. Ehhez szerkesszük a következő állományt: nano /etc/dovecot/conf.d/10-ssl.conf ssl = required ssl_cert = Ha a kulcsfájl jelszóval védett, akkor add meg a jelszót: ssl_key_password = titok systemctl restart dovecot Az openssl req alparancsairól több inforáció: $ openssl req -help A fent használt openssl req kapcsolók: * -x509 x509 nyilvános kulcsú tanúsítvány * -nodes kimeneti kulcsot ne titkosítsa * -days +int a tanúsítvány érvényessége * -newkey val a típus:bitek számának megadása * -out kimeneti fájl * -keyout a titkos kulcsfájl hova kerüljön ==== Tanúsítványlétrehozó scripttel ==== Letöltés: curl http://dovecot.org/doc/mkcert.sh > mkcert.sh A tanúsítvány /etc/ssl/certs/dovecot.pem helyen, a privát kulcs pedig a /etc/ssl/private/dovecot.pem helye jön létre. A tanusítáványok alapértelmezetten 356 nap alatt járnak le. ==== Ellenőrzés ==== POP3 openssl s_client -showcerts -connect localhost:995 IMAP openssl s_client -showcerts -connect localhost:993 vagy így, IMAP: openssl s_client -connect localhost:995 stunnel -c -r localhost:995 ===== Virtuális felhasználók ===== A Dovecot program következő beállításai szükségesek: mail_location = maildir:/home/vmail/%d/%n Keressük meg az "auth default" részt, majd javítsuk a mechanisms értékét az alábbi módon: auth default { mechanisms = plain cram-md5 passdb passwd-file { args = /etc/dovecot/passwd } userdb passwd-file { args = /etc/dovecot/users } } A mechanisms változó után vegyünk fel két bejegyzést, passdb és userdb. Felhasználók felvétele: echo "info@zold.and::5000:5000::/home/vmail/zold.and/:/bin/false" >> /etc/dovecot/users Jelszót adunk neki: echo "info@zold.and" >> /etc/dovecot/passwd sed -i /info@zold.and/s/$/:`dovecotpw` /etc/dovecot/passwd ===== E-mail mbox/Maildir formátumban ===== Az mbox és a Maildir formátum a következő fájlban változtatható: nano /etc/dovecot/conf.d/10-mail.conf Itt keressük a mail_location értéket. Ezzel szabályozhatjuk formátumot. Két lehetséges érték: mail_location = mbox:~/mail:INBOX=/var/mail/%u mail_location = maildir:~/Maildir:INBOX=~/Maildir/.INBOX A Maildir alapértelmezetten be van állítva (Debian 8.x) ===== IMAP/POP3 plaintext ===== Távoli gépekről alapértelmezetten nincs engedélyezve a plaintext kommunikáció. Ez az alapértelmezés, de biztonsági okokból ez nagyon is jó így. Ha mégis szeretnénk engedélyezni, szerkesszük a dovecot.conf állományt: nano /etc/dovecot/dovecot.conf Keressük meg a login_trusted_networks változót, majd állítsuk be az aktuális hálózatot, például: login_trusted_networks = 192.168.10.0/24 Szóközzel tagolva több gép vagy hálózat is felvehető. ===== Irodalom ===== * http://www.cyberciti.biz/faq/unix-dovecot-ssl-tls-server-configuration/ (2011) * https://scaron.info/blog/debian-mail-postfix-dovecot.html (2018) * https://tools.ietf.org/html/rfc1421 (2018 - PEM-ről) * https://tools.ietf.org/html/rfc1424 (2018 - PEM-ről)