Bonjour,
Je voudrais savoir si quelqu’un a réussi à configurer exim4 pour l’envoi de mail avec une authentification smtp en ssl et si oui qu’elle est la marche à suivre.
Merci d’avance
Bonjour,
Je voudrais savoir si quelqu’un a réussi à configurer exim4 pour l’envoi de mail avec une authentification smtp en ssl et si oui qu’elle est la marche à suivre.
Merci d’avance
1 - Qu’entends tu par envoi de mail ? Tu veux faire un serveur ou un relais qui envoie vers un autre serveur ?
2 - Qu’entends tu par SSL ? STARTTLS (chiffrement après la connexion) ou SMTP-over-SSL (tout chiffrer) ?
3 - As-tu une autre raison de choisir exim que le fait que ce soit celui par défaut sous debian ?
Merci de ta réponse.
Dans un but d’apprentissage, je cherche à gérer mes mails (fournit par une université et un FAI) à la unix (fetchmail, exim, procmail, …).
Pour l’instant, tout marche bien (du côté de la réception) sauf l’envoi avec exim. Je pense que le problème vient du fait que le smtp que j’utilise (et qui passe par le port 465) nécessite SMTP AUTH avec login ou plain. Je voudrais tout chiffrer (tls/ssl et non starttls) mais si on n’y arrive pas, je peux essayer starttls. Je n’ai pas particulièrement besoin d’utiliser exim et je pourrais utiliser postfix qui a l’air plus simple mais comme la manip est dans un but pédagogique, je voudrais comprendre ce qui ne va pas pour exim.
Pour l’instant, voici comment j’ai configuré exim :
[ul][li]Le fichier /etc/exim4/update-exim4.conf.conf :
dc_eximconfig_configtype='smarthost'
dc_other_hostnames=''
dc_local_interfaces='127.0.0.1'
dc_readhost='le_server_smtp_de_mon_université'
dc_relay_domains=''
dc_minimaldns='true'
dc_relay_nets=''
dc_smarthost='le_server_smtp_de_mon_université::465'
CFILEMODE='644'
dc_use_split_config='true'
dc_hide_mailname='true'
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'
[/li][li]Le fichier /etc/exim4/passwd.client : server_smtp:login:mdp
[/li][li]Le fichier /etc/exim4/exim4.conf.template où j’ai décommenté les lignes suivantes (je ne sais pas trop pourquoi j’ai décommenté la deuxième partie (2ème balise code)).[code] plain_server:
driver = plaintext
public_name = PLAIN
server_condition = "${if crypteq{$auth3}{${extract{1}{:}{${lookup{$auth2}lsearch{CONFDIR/pass$
server_set_id = $auth2
server_prompts = :
.ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
.endif
login_server:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = "${if crypteq{$auth2}{${extract{1}{:}{${lookup{$auth1}lsearch{CONFDIR/pass$
server_set_id = $auth1
.ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
.endif
cram_md5_server:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${extract{2}{:}{${lookup{$auth1}lsearch{CONFDIR/passwd}{$value}fail}}}
server_set_id = $auth1
[/code][code]plain_courier_authdaemon:
driver = plaintext
public_name = PLAIN
server_condition =
${extract {ADDRESS}
{${readsocket{/var/run/courier/authdaemon/socket}
{AUTH ${strlen:exim\nlogin\n$auth2\n$auth3\n}\nexim\nlogin\n$auth2\n$auth3\n} }}
{yes}
fail}
server_set_id = $auth2
.ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
.endif
login_courier_authdaemon:
driver = plaintext
public_name = LOGIN
server_prompts = Username:: : Password::
server_condition =
${extract {ADDRESS}
{${readsocket{/var/run/courier/authdaemon/socket}
{AUTH ${strlen:exim\nlogin\n$auth1\n$auth2\n}\nexim\nlogin\n$auth1\n$auth2\n} }}
{yes}
fail}
server_set_id = $auth1
.ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
.endif
[/code][/li][li]Le fichier /etc/exim4/conf.d/main/000_localmacros que j’ai créer pour rajouter ceci :AUTH_CLIENT_ALLOW_NOTLS_PASSWORDS = true
MAIN_TLS_ENABLE = true
MAIN_TLS_TRY_VERIFY_HOSTS =
[/li][/ul]
Bref, voici les logs de l’envoi d’un mail : 2010-01-29 22:26:08 1NayLw-0000gG-1P <=mon_adresse_mail@domaine.fr U=user P=local S=419
2010-01-29 22:31:08 1NayLw-0000gG-1P Remote host server_smtp [adresse ip du serveur] closed connection in response to initial connection
2010-01-29 22:31:08 1NayLw-0000gG-1P == adresse_de_destination_du_mail R=smarthost T=remote_smtp_smarthost defer (-18): Remote host serveur_smtp [ip serveur_smtp] closed connection in response to initial connection
2010-01-29 22:32:02 Start queue run: pid=10516
2010-01-29 22:32:02 1NayLw-0000gG-1P == adresse_de_destination_du_mail R=smarthost T=remote_smtp_smarthost defer (-53): retry time not reached for any host
2010-01-29 22:32:02 End queue run: pid=10516
Je ne connais pas exim, ormis le paramétrer avec debconf (dpkg-reconfigure exim4-config), qui d’une part ne propose pas SSL « tout chiffrer », et d’autre part n’est pas très pédagogique (debian fait pour toi).
Pour un simple envoi par relais, le plus simple est d’utiliser un MSA genre msmtp. Cf siteduzero.com/tutoriel-3-21 … #ss_part_2
Après, si tu veux apprendre et utiliser un vrai MTA, la doc de postfix est suffisante et assez claire et tu trouveras AMA plus d’aide pour postfix que pour exim.
Exim doit pouvoir le faire tout aussi bien, le choix se défend (surtout si tu as déjà commencé à te plonger dans la conf d’exim). Mais ce n’est pas moi qui pourrait t’aider…
Merci de ta réponse. Je vais regarder en détail dans la doc d’exim et si je ne trouve pas mon bonheur, je me tournerai vers postfix ou msmtp.
Bravo pour ton tuto sur le site du zéro, il a l’air très clair.
@ +
sidell: as tu des infos supplémentaires??
Je voudrais également pouvoir utiliser le cryptage SSL proposé par mon webmail (lavabit.com)
Je pense y être parvenu.
Suivant ce tuto http://nigibox.wordpress.com/2009/07/07/using-ssl-with-exim4-on-debian
Les envois d’emails fonctionnent normalement.
Alors comment vérifier que mes communications sont bien chiffrées??
En lançant un nmap -v -A localhost, je vois ceci
PORT STATE SERVICE VERSION
25/tcp open smtp Exim smtpd 4.74
| smtp-commands: EHLO localhost.localdomain Hello example.org [127.0.0.1], SIZE 52428800, PIPELINING, HELP
|_HELP Commands supported: AUTH HELO EHLO MAIL RCPT DATA NOOP QUIT RSET HELP
111/tcp open rpcbind 2 (rpc #100000)
| rpcinfo:
| 100000 2 111/udp rpcbind
| 100024 1 48558/udp status
| 100000 2 111/tcp rpcbind
|_100024 1 41508/tcp status
465/tcp open smtp Exim smtpd 4.74
| smtp-commands: EHLO localhost.localdomain Hello example.org [127.0.0.1], SIZE 52428800, PIPELINING, HELP
|_HELP Commands supported: AUTH HELO EHLO MAIL RCPT DATA NOOP QUIT RSET HELP
783/tcp open spamassassin SpamAssassin spamd
9050/tcp open tor-socks Tor SOCKS Proxy
Le port 465 (port SSL utilisé par lavabit.com) semble bien ouvert donc utilisé??
Est il alors nécessaire de laisser le port 25 ouvert?
Oui, tu vas continuer à recevoir des messages en clair sur le port 25.
SSL sur un serveur mail ne sert qu’à chiffrer l’authentification.
Pour l’envoi/la réception, ça dépend des capacités du serveur en face (sans compter qu’il peut ne pas aimer ton certificat). Donc si tu veux cacher tes messages, il vaut mieux chiffrer directement le corps du message (GPG ou S/MIME).
Merci kna pour ta réponse.
Je pensais que le contenu était crypté avec le SSL un peu comme une connection via ssh…
Je vais regarder comment signer et chiffrer ses emails avec mutt, j’ai lu que c’était possible avec ce MUA
Cela fonctionne très bien avec mut qui intègre le cryptage avec GNUPG, une simple pression sur la touche ‘p’!!