Ik gebruik Dovecot als Mail server op mijn Debian installatie en dat werkt altijd erg goed en betrouwbaar. Om je verbinding met je ‘Incoming IMAP Server’ nog veiliger te maken kun je het beste TLS gebruiken. Je kunt hiervoor eenvoudig gebruik maken van je Let’s Encrypt certificaat.
Om TLS in te stellen voor je Dovecot IMAP server hoef je maar een paar stappen uit te voeren die ik hieronder uitleg:
Dovecot
Genereer een ‘dh.pem’ file met het volgende commando (gebruik makende van het ‘openssl’ package). Dit kan lang duren (meer dan 5 minuten). Zet deze ‘dh.pem’ file in de ‘/etc/dovecot’ directory.
openssl dhparam 4096 > dh.pem
Edit de file ‘/etc/dovecot/conf.d/10-ssl.conf’ en vul hier in:
ssl_cert = </etc/letsencrypt/live/jouw_host/fullchain.pem ssl_key = </etc/letsencrypt/live/jouw_host/privkey.pem ssl_dh = </etc/dovecot/dh.pem ssl_min_protocol = TLSv1.2
Herstart hierna Dovecot met het commando:
service dovecot restart
Vergeet niet om in je router de port-forward voor poort 993 toe te voegen.
Instellen clients
Als laatste stap moet je nu alleen nog je email clients instellen dat ze gebruik maken van TLS. Dit is per client verschillend. Hieronder een aantal voorbeelden.
Windows 10
Ga naar ‘Control Panel’ en kies hier ‘Mail (Microsoft Outlook)’. Kies vervolgens ‘Email Accounts’ en in de /Email\ tab dubbelklik je jouw IMAP server. Ga vervolgens naar ‘More Settings’ en kies daar het /Advanced\ tab. Stel hier nu voor je ‘Incoming server (IMAP)’ de optie STARTLS in.
iPhone/iPad
Ga naar ‘Instellingen > Mail > Account > ‘account’ > Account > Geadvanceerd’ en zet bij ‘Inkomende Instellingen’ de setting ‘Gebruik SSL’ aan:
Microsoft Outlook (Windows)
Ga naar ‘File’ > ‘Account Settings’ > ‘Server Settings’
Microsoft Outlook (Apple)
Ga naar ‘Outlook’ > ‘Voorkeuren’ > ‘Accounts’
Macbook Mail Settings
Ga naar ‘Mail’ > ‘Voorkeuren’ > (account) > ‘Server Instellingen’
Roundcube
Pas de configuratie in de file ‘/opt/roundcube/config/config.inc.php’ aan en verander de volgende instellingen:
$config['default_host'] = 'tls://jouw_host'; $config['imap_conn_options'] = array( 'ssl' => array( 'verify_peer' => true, 'allow_self_signed' => false, 'ssl_cert' => '/etc/letsencrypt/live/jouw_host/fullchain.pem', 'ssl_key' => '/etc/letsencrypt/live/jouw_host/privkey.pem', 'ciphers' => 'TLSv1+HIGH:!aNull:@STRENGTH', 'peer_name' => 'jouw_host', ), );