Tartalomjegyzék

< E-mail szerver

Dovecot

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:

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