Tartalomjegyzék
Dovecot
- Szerző: Sallai András
- Copyright © 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 = </etc/ssl/certs/mailcert.pem ssl_key = </etc/ssl/private/mail.key
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:
- /etc/dovecot/dovecot.conf
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:
- /etc/dovecot/dovecot.conf
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
- https://tools.ietf.org/html/rfc1421 (2018 - PEM-ről)
- https://tools.ietf.org/html/rfc1424 (2018 - PEM-ről)