Dovecot et le SSL

dans un premier temps, nous allons nous occuper de la conf général de dovecot

mettre au debut du fichier /etc/doveot/dovecot.conf pour isoler la tâche de login

login_chroot = yes login_user = dovecot login_process_per_connection = yes

Dans le protocole imap, nous allons rajouter se paramètre qui permet de modifier le comportement de Dovecot
face à certains clients mails et de leurs bugs éventuels

protocol imap { imap_client_workarounds = outlook-idle delay-newmail netscape-eoh tb-extra-mailbox-sep }

outlook-idle : Outlook et Outlook Express ne coupent jamais avec une commande IDLE.
Si Dovecot ne reçoit rien pendant 30 minutes, il coupe la connexion.
C’est correct, mais Outlook Express ne se reconnecte pas et vous ne voyez donc plus l’arrivée de nouveaux messages.

netscape-eoh : force l’ajout d’une ligne vide en fin de hearder des mails.
Normalement cette ligne vide est présente. Mais en le forçant, on en est certain

tb-extra-mailbox-sep : en théorie seulement nécessaire avec des boites au format mailbox

Dovecot envoie par défaut ses logs dans syslog. Pour décharger le fichier et avoir une meilleur vue
de se qui se passe au sein de dovecot, nous allons lui créer son propre fichier de logs

Rajouter dans le fichier dovecot.conf la ligne ci-dessous.

Donner lui les bons droits

création du fichier pour la rotation des logs

[code]vi /etc/logrotate.d/dovecot

/var/log/dovecot-info.log {
missingok
notifempty
delaycompress
sharedscripts
postrotate
/bin/kill -USR1 cat /var/run/dovecot/master.pid 2>/dev/null 2> /dev/null || true
endscript
}[/code]

******************* Mise en place du SSL ************************

Ouvrez le fichier dovecot.cot et modifier la section : protocol imap et rajoutez à la suite
les lignes suivantes

protocol imap { imap_client_workarounds = outlook-idle delay-newmail netscape-eoh tb-extra-mailbox-sep listen = 127.0.0.1:143 ssl_listen = *:993 }

les certificat SSL ont étés générés lors de l’install. Mais rien ne vous empêche
de mettre vos propres certificats

pour utiliser le SSL modifier la variable dèja enregistré à “no” mettez là à “yes”

et ajouter la ligne suivante (à vérifier)

disable_plaintext_auth = yes
auth_mechanisms = plain

le certificat auto-signé de Dovecot se trouve dans /etc/ssl/certs/dovecot.pem

Rajouter dans le fichier dovecote.conf les lignes suivantes

ssl = yes ssl_cert_file = /etc/ssl/certs/dovecot.pem ssl_key_file = /etc/ssl/private/dovecot.pem

vous pouvez aussi les certificats dans la partie “protocol imap”

Redémarrons les services :

root@facteur:~# service dovecot restart
Restarting IMAP/POP3 mail server: dovecotIf you have trouble with authentication failures,
enable auth_debug setting. See http://wiki.dovecot.org/WhyDoesItNotWork
This message goes away after the first successful login.
.
root@facteur:~# service saslauthd restart
Stopping SASL Authentication Daemon: saslauthd.
Starting SASL Authentication Daemon: saslauthd.
root@facteur:~# service postfix restart
Stopping Postfix Mail Transport Agent: postfix.
Starting Postfix Mail Transport Agent: postfix.

les clients peuvent se connecter au serveur IMAP sur le port 993
et toutes les communications seront chiffrées

petites vérifications

lsof -i tcp:993
COMMAND    PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dovecot   3018    root    8u  IPv4   6764      0t0  TCP *:imaps (LISTEN)
imap-logi 3029 dovecot    5u  IPv4   6764      0t0  TCP *:imaps (LISTEN)
imap-logi 3030 dovecot    5u  IPv4   6764      0t0  TCP *:imaps (LISTEN)
imap-logi 3031 dovecot    5u  IPv4   6764      0t0  TCP *:imaps (LISTEN)

netstat -tulpen | grep LISTEN
....
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      0          6764        3018/dovecot
....

testez la connexion : openssl s_client -connect 127.0.0.1:993

CONNECTED(00000003)
depth=0 /O=Dovecot mail server/OU=facteur.bougnat.org/CN=facteur.bougnat.org/emailAddress=root@facteur.bougnat.org
verify error:num=18:self signed certificate
verify return:1
depth=0 /O=Dovecot mail server/OU=facteur.bougnat.org/CN=facteur.bougnat.org/emailAddress=root@facteur.bougnat.org
verify return:1
---
Certificate chain
 0 s:/O=Dovecot mail server/OU=facteur.bougnat.org/CN=facteur.bougnat.org/emailAddress=root@facteur.bougnat.org
   i:/O=Dovecot mail server/OU=facteur.bougnat.org/CN=facteur.bougnat.org/emailAddress=root@facteur.bougnat.org
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIEdzCCA1+gAwIBAgIJAIUkTR2yA5P0MA0GCSqGSIb3DQEBBQUAMIGDMRwwGgYD
.....
7aBwPRRdyKwgx4Ocz8ab2iWYrQ21N/6aB34DODTaVDLn1IP/h4XgZLBC6w==
-----END CERTIFICATE-----
....
---
No client certificate CA names sent
---
SSL handshake has read 1846 bytes and written 319 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DHE-RSA-AES256-SHA
    Session-ID: 193039B58181C09ABBE4364CA961AD3A77F5A4FB0BAA7BA99199C41EE845FBE2
    Session-ID-ctx:
    Master-Key: FB2FFB51A9AC7F82C65FA9A494AE5E8D5F7D6492D3CF50C8444ACBD915F1851F51D07B7997DBE03B5A2B0F2DD7BFC4E9
    Key-Arg   : None
    Start Time: 1311957648
    Timeout   : 300 (sec)
    Verify return code: 18 (self signed certificate)
---
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE AUTH=PLAIN] Dovecot ready.
a1 LOGIN essai@essai.org essai
a1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] Logged in
a2 LIST "" "*"
* LIST (\HasNoChildren) "." "Sent"
* LIST (\HasNoChildren) "." "Junk"
* LIST (\HasNoChildren) "." "Trash"
* LIST (\HasNoChildren) "." "Drafts"
* LIST (\HasNoChildren) "." "dovecot.sieve"
* LIST (\HasNoChildren) "." "INBOX"
a2 OK List completed.
a3 EXAMINE INBOX
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS ()] Read-only mailbox.
* 11 EXISTS
* 2 RECENT
* OK [UNSEEN 10] First unseen.
* OK [UIDVALIDITY 1307884974] UIDs valid
* OK [UIDNEXT 12] Predicted next UID
* OK [HIGHESTMODSEQ 1] Highest
a3 OK [READ-ONLY] Select completed.
a4 LOGOUT
* BYE Logging out
a4 OK Logout completed.
closed

Si vous vous connectez au serveur avec outlook express, lors du paramétrage de votre compte,
n’oubliez pas de renseigner dans l’onglet “Avancé” le port 993 dans le champ "Courrier entrants (IMAP)"
et de cocher “Ce serveur nécessite une connexion sécurisée (SSL)”

Salut,

On ne peut que regretter que ce travail ne soit pas sur LE wiki, afin de pouvoir l’améliorer :023

se n’est pas faute d’avoir essayé

Re,

Alors tu devrais demander de l’aide, Lol se fera sans doute un plaisir pour te guider :slightly_smiling: