IceWarp toutes versions -
Symptômes
Le problème se traduit par un échec dans les échanges SMTP sur la séquence StartTLS
Voici quelques exemples.
Session cliente :
La connexion SSL a été vérifiée et la connexion est sécurisée:
46.105.36.90 [1AD4] 16:48:40:152 Client session >>> STARTTLS
46.105.36.90 [1AD4] 16:48:40:155 Client session <<< 220 2.0.0 Ready to start TLS
46.105.36.90 [1AD4] 16:48:40:173 Client session SSL: Verified (0)
46.105.36.90 [1AD4] 16:48:40:173 Client session >>> EHLO comserver.darnis.com
La connexion n'a pas été vérifiée mais est quand même sécurisée :
2a00:1450:400c:c06::1b [1AD4] 16:48:39:267 Client session >>> STARTTLS
2a00:1450:400c:c06::1b [1AD4] 16:48:39:276 Client session <<< 220 2.0.0 Ready to start TLS
2a00:1450:400c:c06::1b [1AD4] 16:48:39:288 Client session SSL: Not verified (20) - proceed anyway
2a00:1450:400c:c06::1b [1AD4] 16:48:39:288 Client session >>> EHLO comserver.darnis.com
Erreurs possibles : 20 (Unable to Get Local User Certificate), 19 (self signed certificate in certificate chain), 18 (self signed certificate), 6 (SSL handshake failed)
Cela signifie généralement que le certificat distant est inexistant ou non valide.
La connexion sécurisée n'a pas pu être établie :
178.251.163.242 [1F70] 12:51:22 Client session <<< 250 STARTTLS
178.251.163.242 [1F70] 12:51:22 Client session >>> STARTTLS
178.251.163.242 [1F70] 12:51:22 Client session <<< 220 Go ahead with TLS
178.251.163.242 [1F70] 12:51:22 Client session TLS connection could not be established
>>> (SSLv2/v3 write client hello B ,771,22) 010001fc0303c......350084c012c008c01cc0 (512)
<<< (SSLv2/v3 read server hello A ,769,21) 0232
Session serveur :
La connexion sécurisée a été établie :
145.239.37.84 [12EC] 00:00:50:393 <<< STARTTLS
145.239.37.84 [12EC] 00:00:50:404 >>> 220 2.0.0 Ready to start TLS
145.239.37.84 [12EC] 00:00:50:430 <<< EHLO mail.icewarptech.io
La connexion sécurisée n'a pas pu être établie :
54.39.247.55 [1880] 17:31:44:299 <<< STARTTLS
54.39.247.55 [1880] 17:31:44:312 >>> 220 2.0.0 Ready to start TLS
54.39.247.55 [1880] 17:31:44:394 SSL: Handshake with client failed on 192.168.10.2:25
Le problème peut avoir plusieurs origines :
- Différence d'heure entre le serveur et le client
- Pare-feu ou routeur qui perturbent l’échange (man in the middle)
- Certificat incorrect (erreur dans la chaîne, non valide, non applicable au nom d'hôte utilisé...)
- Protocole, cryptage : version du protocole TLS/SSL utilisé
Contrôle des certificats et protocoles utilisés
Il est possible de vérifier le certificat d'un serveur sur :
Par exemple :
Les protocoles utilisés par un serveur peuvent être vérifiés sur :
par exemple en version 13.0 :
Configuration du serveur
Il faut que le serveur IceWarp annonce qu'il accepte les connexions TLS, pour cela, il faut que "Email -> Générale -> Avancé ->
Protocole TLS/SSL" soit cochée
Puis vérifier les protocoles acceptés en allant dans Fichier -> Console API (mettre comme filtre ext.ssl), on
peut voir et modifier la valeur des variables et la description de la
méthode utilisée:
C_System_Adv_Ext_SSLServerMethod (0 par défaut) : Numéro de la méthode SSL à appliquer dans le cas des sessions serveurs SSL
C_System_Adv_Ext_SSLClientMethod (0 par défaut) : Numéro de la méthode SSL à appliquer dans le cas des sessions clientes SSL
en version 13.0, on obtient :
C_System_Adv_Ext_SSLServerMethod
0 - Valeur par défaut actuellement égale à 6
1 - =3
2 - =3
3 - SSL3;TLS1.0;TLS1.1;TLS1.2;TLS1.3
4 - TLS1.0;TLS1.1;TLS1.2;TLS1.3
5 - TLS1.1;TLS1.2;TLS1.3
6 - TLS1.2;TLS1.3 (=5 sur Linux RHEL5 et RHEL6),
7 - TLS1.2 seulement
C_System_Adv_Ext_SSLClientMethod
0 - Valeur par défaut actuellement égale à 6
1 - =3
2 - =3
3 - SSL3;TLS1.0;TLS1.1;TLS1.2;TLS1.3
4 - TLS1.0;TLS1.1;TLS1.2;TLS1.3
5 - TLS1.1;TLS1.2;TLS1.3
6 - TLS1.2;TLS1.3
7 - TLS1.2 seulement
Il est déconseillé d'utiliser des protocoles anciens comme SSL3 ou TLS1.0 qui ne sont pas sûrs.
Il vaut donc mieux garder la valeur par défaut 0 (=6) qui limite aux protocoles TLS1.2 et TLS1.3
Il est conseillé de mettre la même méthode pour le client et le serveur sauf s'il y a un besoin avéré de ne pas le faire.
Modifié le 20/10/2022