Essais IMAP

Une fois débarrassé de ses commentaires, le fichier dovecot.conf semble très simple. Ne nous y trompons pas, il l'est encore une fois à cause des options par défaut (qui sont en très grand nombre ici).

Premier exemple amusant, nous allons tester par telnet (car bien entendu, nous connaissons par cœur les commandes du protocole IMAP), en local, puis à distance.

En local A distance

~# telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK Dovecot ready.
20 capability
* CAPABILITY IMAP4rev1 SASL-IR SORT THREAD=REFERENCES
             MULTIAPPEND UNSELECT LITERAL+ IDLE
             CHILDREN NAMESPACE LOGIN-REFERRALS
             STARTTLS AUTH=PLAIN
20 OK Capability completed.
40 login prof epikoi
40 OK Logged in.
60 logout
* BYE Logging out
60 OK Logout completed.
Connection closed by foreign host.






 
chris@pchris2:~$ telnet cyrus.nain-t.net 143
Trying 192.168.0.18...
Connected to cyrus.nain-t.net.
Escape character is '^]'.
* OK Dovecot ready.
20 capability
* CAPABILITY IMAP4rev1 SASL-IR SORT THREAD=REFERENCES
             MULTIAPPEND UNSELECT LITERAL+ IDLE
             CHILDREN NAMESPACE LOGIN-REFERRALS
             STARTTLS LOGINDISABLED
20 OK Capability completed.
40 login prof epikoi
* BAD [ALERT] Plaintext authentication
              is disabled, but your client sent
              password in plaintext anyway.
              If anyone was listening, 
              the password was exposed.
40 NO Plaintext authentication disabled.
60 logout
* BYE Logging out
60 OK Logout completed.
Connection closed by foreign host.

Par défaut, l'authentification en mode « plaintext » fonctionne en local, mais pas à distance. Bien entendu, il est possible de modifier ce comportement, mais ce n'est pas souhaitable.

Vérifions tout ceci avec Thunderbird, sur un poste du réseau. Configurons notre oiseau du tonnerre pour aller lire la boite-aux-lettres de prof sur cyrus.nain-t.net et vérifions que la lecture n'est possible qu'à certaines conditions :

Il faut TLS ou SSL

Ben oui, nous étions prévenus. Il est temps de changer ces habitudes et de venir à un système chiffré. IMAP TLS utilise le même port que IMAP, mais envoie la commande STARTTLS pour débuter un chiffrement de la communication, tandis que IMAP SSL utilise un autre port et chiffre tout l'ensemble de la communication. Il s'agit d'un autre service, à part entière, que nous n'avons d'ailleurs pas démarré, il s'agit de IMAPS. Essayons de cocher « TLS, si possible » ou même « TLS » Dans les paramètres de sécurité des paramètres du serveur du compte IMAP que nous avons créé dans notre Thunderbird, et voyons :

Manque une racine de confiance

Ici, ça devient sérieux. Nous sommes en mode chiffré, Cyrus nous envoie son certificat, mais il n'est pas signé par une racine de confiance. Dovecot a créé un certificat auto-signé lors de son installation. Voyons ce certificat :

Le certificat auto-signé

Si nous devions faire du travail de pro, il nous faudrait obtenir un certificat pour Cyrus, signé par une racine de confiance. Nous nous en passerons ici et nous accepterons de façon définitive ce certificat. Eventuellement, nous verrons comment réaliser une autorité racine « maison » et signer nos certificats avec. L'interface TinyCA permet avec Openssl de réaliser ces choses assez simplement.

La boite s'ouvre enfin

Nous retrouvons bien le message envoyé à « prof » il y a déjà quelques temps.

Nous ne sommes pas ici pour étudier IMAP, c'est déjà fait ailleurs. Il n'est donc pas utile de vérifier que la connexion IMAP est bien chiffrée pour tout ce qui concerne le login et les données, ni que le dialogue IMAP est bien correct. Ça fonctionne, ça nous suffira ici.

C'est du Maildir, nous pouvons créer à distance autant de dossiers dans des dossiers qu'il sera nécessaire pour bien classer nos messages. C'est un vrai serveur IMAP quoi.

Et d'où viennent donc ces certificats, utilisés avec STARTTLS ? Des options par défaut… Mais lisez donc le dovecot.conf d'usine !

Dernière modification:: le 03/03/2009 à 19:48
   
 
Cette création est mise à disposition sous un contrat Creative Commons. Creative Commons License