Configuration TLS d'exim4

9 réponses
Avatar
Goldy
Bonjour,

Après plusieurs jours de difficultés, de beaucoup de temps passé et la
lectures de dizaines d'articles traitant du sujet, je suis dans
l'obligation de m'en remettre à cette ML, car je n'arrive définitivement
pas à activer TLS dans exim.

Le soucis est que exim "n'advertise pas" STARTTLS malgré qu'il soit
activé dans les fichiers de configurations, et ignore toute connexion
TLS alors que l'option MAIN_TLS_ENABLE est activé.

> swaks -a -tls -q HELO -s localhost -au jasonb -ap '<>' ~
> === Trying localhost:25...
> === Connected to localhost.
> <- 220 hostname.fr ESMTP Exim 4.72 Wed, 23 May 2012 18:20:16 +0200
> -> EHLO hostname.fr
> <- 250-hostname.fr Hello localhost [127.0.0.1]
> <- 250-SIZE 52428800
> <- 250-PIPELINING
> <- 250 HELP
> *** Host did not advertise STARTTLS
> -> QUIT
> <- 221 hostname.fr closing connection
> === Connection closed with remote host

(le nom de domaine a été occulté)

La configuration d'exim est dans un fichier monolithique (à savoir
/etc/exim4/exim4.conf.template, ceci pour éviter tout conflit entre ce
fichier et les fichiers éclatés dans conf.d (un moment j'ai cru que le
problème venait de là, donc j'ai décidé de mettre toute la configuration
dans un seul fichier). Mais pour éviter toute ambiguïté, on parlera ici
du fichier /var/lib/exim4/config.autogenerated qui est généré par la
commande update-exim4.conf et qui est le fichier de configuration pris
en compte par exim.

> grep -n "MAIN_TLS_ENABLE" /var/lib/exim4/config.autogenerated
> 186:MAIN_TLS_ENABLE = true
> 188:.ifdef MAIN_TLS_ENABLE

On voit bien ici que l'option est présente.

Concernant les certificats, ils proviennent de startssl, et pour la mise
en place j'ai suivi cette doc là :
http://blog.mekk.com/2010/06/startssl-certificate-free-exim-courier.html

J'ai donc ceci d'ajouté dans le fichier de configuration :

> 103 tls_on_connect_ports = 465
> 104
> 105 MAIN_TLS_CERTKEY = /etc/ssl/hostname.fr.smtp.crt
> 106 MAIN_TLS_VERIFY_CERTIFICATES = /etc/ssl/certs/ca-bundle.pem
> 107 MAIN_TLS_PRIVATEKEY = /etc/ssl/private/hostname.fr.key
> 108 tls_dhparam = /etc/ssl/dhparam.pem
> 109 auth_advertise_hosts = ${if eq{$tls_cipher}{}{}{*}}
> 110 daemon_smtp_ports = 25 : 465 : 587 : 1002


J'ai essayé plusieurs façon de configurer selon plusieurs documentations
que j'ai pu trouver ici et là, et j'ai toujours le même résultat.

À part ça le serveur mail fonctionne, je reçois les mails de
l'extérieur, je peux en envoyer depuis localhost, par contre j'ai le
paniclog qui se remplie avec ça :

> 2012-05-23 15:18:35 socket bind() to port 25 for address (any IPv6) failed: Address already in use: daemon abandoned
> 2012-05-23 15:18:52 socket bind() to port 25 for address (any IPv6) failed: Address already in use: daemon abandoned
> 2012-05-23 15:22:38 socket bind() to port 25 for address (any IPv6) failed: Address already in use: daemon abandoned
> 2012-05-23 15:34:40 socket bind() to port 25 for address (any IPv6) failed: Address already in use: daemon abandoned

Le problème semble venir d'ipv6, que je n'utilise pas (pas configuré
dans les dns)...

Si quelqu'un administrant un serveur smtp sous debian squeeze qui
fonctionne pouvait m'aider, parce que là, je n'arrive définitivement pas
à comprendre...

Merci d'avance

Christophe

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/4FBD5684.5060701@goldenfish.info

9 réponses

Avatar
Bzzz
On Wed, 23 May 2012 23:28:36 +0200
Goldy wrote:


La configuration d'exim est dans un fichier monolithique (à savoir
/etc/exim4/exim4.conf.template, ceci pour éviter tout conflit
entre ce fichier et les fichiers éclatés dans conf.d (un moment
j'ai cru que le problème venait de là, donc j'ai décidà © de mettre
toute la configuration dans un seul fichier). Mais pour éviter
toute ambiguïté, on parlera ici du
fichier /var/lib/exim4/config.autogenerated qui est généré par la
commande update-exim4.conf et qui est le fichier de configuration
pris en compte par exim.



Heu, à moins qu'exim n'ait drastiquement changé, il soit chercher
une conf en ptits morceaux, soit exim.conf; mais sûrement pas un
.template et encore moins un .autogenerated.


Si quelqu'un administrant un serveur smtp sous debian squeeze qui
fonctionne pouvait m'aider, parce que là, je n'arrive
définitivement pas à comprendre...



Sèpô, j'ai arrêté de jouer avec exim quand il m'a emmer dé il-y-a qq
années; postfix est mieux fait (et c'est lui qu'on retrouve dans les
gros centres, rarement exim).

--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Goldy
Le 24/05/2012 00:08, Bzzz a écrit :
On Wed, 23 May 2012 23:28:36 +0200
Goldy wrote:


La configuration d'exim est dans un fichier monolithique (à savoir
/etc/exim4/exim4.conf.template, ceci pour éviter tout conflit
entre ce fichier et les fichiers éclatés dans conf.d (un moment
j'ai cru que le problème venait de là, donc j'ai décidé de mettre
toute la configuration dans un seul fichier). Mais pour éviter
toute ambiguïté, on parlera ici du
fichier /var/lib/exim4/config.autogenerated qui est généré par la
commande update-exim4.conf et qui est le fichier de configuration
pris en compte par exim.



Heu, à moins qu'exim n'ait drastiquement changé, il soit chercher
une conf en ptits morceaux, soit exim.conf; mais sûrement pas un
.template et encore moins un .autogenerated.



Oui, il a changé depuis, justement c'est un peu déroutant quand on
regarde des docs un peu anciennes.

Mais en gros maintenant, le système laisse le choix à l'utilisateur de
faire la config dans un seul fichier (qui a pour nom
exim4.conf.template) ou bien plusieurs fichiers dans cond.d/, il faut
ensuite valider les changements avec la commande update-exim4.conf qui
copie sans les commentaires soit l'un soit l'autre (en fonction de ce
qu'on règle dans update-exim4.conf.conf) dans le fichier
/var/lib/exim4/config.autogenerated qui sera lui interprété par exim.



Si quelqu'un administrant un serveur smtp sous debian squeeze qui
fonctionne pouvait m'aider, parce que là, je n'arrive
définitivement pas à comprendre...



Sèpô, j'ai arrêté de jouer avec exim quand il m'a emmerdé il-y-a qq
années; postfix est mieux fait (et c'est lui qu'on retrouve dans les
gros centres, rarement exim).




J'aimerais essayer encore un peu avant d'en arriver là. Mais si je ne
trouve définitivement pas de solution c'est ce que je ferai sans doute.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Bzzz
On Thu, 24 May 2012 00:53:49 +0200
Goldy wrote:

fichier /var/lib/exim4/config.autogenerated qui sera lui
interprété par exim.



Ok, donc tu as bien un gros PB.


J'aimerais essayer encore un peu avant d'en arriver là. Mais si je
ne trouve définitivement pas de solution c'est ce que je ferai
sans doute.



Le PB d'exim, c'est sa diffusion.
Même si qq ISPs l'utilisent, la qté de docs dispo sur le web à   son
sujet reste négligeable par rapport celle de postfix - de plus
postfix est utilisé par de grosses Cies (grogol, python.org,
T-online, par ex).
On peut donc raisonnablement supposer que le choix de ces Cies a étà ©
bien réfléchi et à tenu compte de tous les parms en jeu (y'a que m$
pour être assez abruti pour passer de postfix/BSD à w$ (hotmail))

JY
--
I would much rather have men ask why I have no statue, than why I
have one. -- Marcus Procius Cato

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Yves Rutschle
On Wed, May 23, 2012 at 11:28:36PM +0200, Goldy wrote:
> 2012-05-23 15:18:35 socket bind() to port 25 for address (any IPv6) failed: Address already in use: daemon abandoned
> 2012-05-23 15:18:52 socket bind() to port 25 for address (any IPv6) failed: Address already in use: daemon abandoned
> 2012-05-23 15:22:38 socket bind() to port 25 for address (any IPv6) failed: Address already in use: daemon abandoned
> 2012-05-23 15:34:40 socket bind() to port 25 for address (any IPv6) failed: Address already in use: daemon abandoned

Le problème semble venir d'ipv6, que je n'utilise pas (pas configuré
dans les dns)...



On va commencer par le début: le message indique que
quelqu'un écoute déjà sur le port 25. As-tu bien
arrêté/redémarré Exim? Que dit

netstat -lptn | grep 25

(lancé sous root)

Y.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Yves Rutschle
On Thu, May 24, 2012 at 01:43:51AM +0200, Bzzz wrote:
On peut donc raisonnablement supposer que le choix de ces Cies a été
bien réfléchi et à tenu compte de tous les parms en jeu (y'a que m$
pour être assez abruti pour passer de postfix/BSD à w$ (hotmail))



Y'a plein de contre-exemples à base d'Oracle et de
Microsoft... le fait que de grandes entreprises utilisent
quelque chose ne prouve pas grand-chose amha.

Cela dit, mon seul argument en faveur d'Exim, c'est qu'il
est là par défaut.

Y.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Goldy
Alors j'ai finalement réussi, merci pour votre aide. Voilà en gros d'où
venaient les problèmes.

Donc déjà le script d'init n'éteint pas exim4... j'ai envie de penser
que c'est un bug, mais je ne sais que je ne sais rien. Donc forcément,
le processus d'exim qui fonctionnait était toujours le même sans jamais
mettre à jour la configuration. D'où les messages d'erreur comme quoi le
port était déjà utilisé. (comme l'erreur ne faisait état que d'ipv6, je
pensais que ça venait de là...).

Et secondo, j'ai remarqué après que la variable de configuration de la
clé privé (à savoir tls_privatekey) n'était pas assigné par le fichier
de configuration, visiblement un problème avec les conditions.

Bref j'ai tapé jusqu'à ce que ça rentre, j'ai commenté tout le passage
avec des conditions et j'ai assigné les bonnes valeurs directement.

Maintenant ça fonctionne, si on fait l'impasse que thunderbird semble
considérer startssl comme n'étant pas une autorité de confiance
(faudrait que je vérifie s'il s'agit d'un problème au niveau des
certificats ou si c'est juste thunderbird qui est casse bonbon).

Merci encore pour votre aide, j'avais finalement tout ce qui fallait
sous les yeux pour comprendre le problème, mais je n'ai pas pensé au
fait que le script d'init pouvait être buggué.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Bzzz
On Thu, 24 May 2012 10:11:51 +0200
Goldy wrote:


Maintenant ça fonctionne, si on fait l'impasse que thunderbird
semble considérer startssl comme n'étant pas une autorité de
confiance (faudrait que je vérifie s'il s'agit d'un problème au
niveau des certificats ou si c'est juste thunderbird qui est casse
bonbon).



Si tu utilises un certificat auto-signé, par opposition à un
certificat officiel, c'est normal.

--
If men could get pregnant, abortion would be a sacrament.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Goldy
Le 24/05/2012 15:32, Bzzz a écrit :
On Thu, 24 May 2012 10:11:51 +0200
Goldy wrote:


Maintenant ça fonctionne, si on fait l'impasse que thunderbird
semble considérer startssl comme n'étant pas une autorité de
confiance (faudrait que je vérifie s'il s'agit d'un problème au
niveau des certificats ou si c'est juste thunderbird qui est casse
bonbon).



Si tu utilises un certificat auto-signé, par opposition à un
certificat officiel, c'est normal.




Non justement, j'utilise un certificat signé par startssl
( https://www.startssl.com/ ) qui a l'avantage de fournir des
certificats gratuitement et qui sont normalement validés par les
navigateurs (en tout cas dans chromium).

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Bzzz
On Thu, 24 May 2012 20:08:31 +0200
Goldy wrote:


Non justement, j'utilise un certificat signé par startssl
( https://www.startssl.com/ ) qui a l'avantage de fournir des
certificats gratuitement et qui sont normalement validés par les
navigateurs (en tout cas dans chromium).



Alors re-teste, avec claws par exemple, pour voir si le comportement
est le même (jamais vu ce PB avec thunderbird).
Vérifie aussi si startssl a bien pris ton certif en compte et le
publie.

--
Militant agnostic: I don't know, and you don't either.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/