August 22, 2011
Messagerie Problématique, terminologie (MTA, MUA,...) Protocoles : SMTP (ESMTP) - POP3 - IMAP4 Outils annexes et post-traitement (Cyrus IMAP, SpamAssasin, ClamAV,...) Le MTA sendmail : mise en uvre, avec le préprocesseur m4 Etude du MTA postx Conclusion
Problématique, terminologie (MTA, MUA,...) MTA Mail Transfert Agent (sendmail, postx, exim, qmail) http://fr.wikipedia.org/wiki/mail_transfer_agent (http://tinyurl.com/3czu7bc) MUA votre courrielleur (Thunderbird par exemple) MDA logiciel nal du voyage d'un courrier électronique procmail le + connu local utilisé avec Postx
le rôle du DNS Faire host yguidet.nom.fr puis remplacer host par dig. Rappelons que le format d'un destinataire est user@domaine. Serveur de secours et priorité. Absence de champ MX?
Protocoles : SMTP (ESMTP) - POP3 - IMAP4 POP3 : le POP (Post Oce Protocol permet de récupérer les courriers électroniques situés sur un serveur de messagerie électronique. port 110 POP3S (POP3 over SSL) utilise SSL IMAP analogue à POP mais laisse a priori les messages sur le serveur pour les webcourrieleurs
SMTP Exemple de session : yves@papillon-virtualbox:mta$ telnet localhost 25 Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 papillon-virtualbox ESMTP Postfix (Ubuntu) HELO bidon.org 250 papillon-virtualbox MAIL FROM yves@bidon.org 501 5.5.4 Syntax: MAIL FROM:<address> MAIL FROM:yves@bidon.org 250 2.1.0 Ok RCPT TO:yves@localhost 250 2.1.5 Ok DATA 354 End data with <CR><LF>.<CR><LF> From:yves@bidon.org To:yves@localhost Date:jeudi 4 août 2011, 10:19:05 (UTC+0200) Subject: tralala Tout est dans le sujet
ESMTP Enhanced SMTP, voir le wikipedia anglophone. On aurait pu s'annoncer par EHLO et non HELO.
Outils annexes et post-traitement (Cyrus IMAP, SpamAssasin, ClamAV,...) Cyrus IMAP : il s'agit d'un MDA, renommé pour sa sécurité, on trouvera de nombreux HOWTOs SpamAssasin : comme son nom l'indique ClamAV : rédaction réservée voir le bouquin de JP Archier
sendmail On a pu dire que le chier de cong sendmail.cf semblait dû à un chat couché sur le clavier. R$* $: $1 <@> mark R$* < $* > $* <@> $: $1 < $2 > $3 unma R@ $* <@> $: @ $1 unma R$* [ IPv6 : $+ ] <@> $: $1 [ IPv6 : $2 ] unma R$* :: $* <@> $: $1 :: $2 unma R:include: $* <@> $: :include: $1 unma R$* : $* [ $* ] $: $1 : $2 [ $3 ] <@> rema R$* : $* <@> $: $2 stri R$* <@> $: $1 unma On peut voir ci-dessus quelques règles issues d'un chier de plusieurs milliers de ligne.
sendmail.mc On utilise maintenant le macro-processeur m4 qui génère ce genre de règle à partir d'un chier plus facile à lire (tout est relatif). define(`alias_file', `/etc/aliases')dnl define(`status_file', `/var/log/mail/statistics')dnl define(`uucp_mailer_max', `2000000')dnl define(`confuserdb_spec', `/etc/mail/userdb.db')dnl define(`confprivacy_flags', `authwarnings,novrfy,noexpn,rest define(`confauth_options', `A')dnl dnl # dnl # The following allows relaying if the user authenticate dnl # plaintext authentication (PLAIN/LOGIN) on non-tls link dnl # dnl define(`confauth_options', `A p')dnl dnl #
Qui écoute le port 25? yves@bordel6:mta$ sudo nmap -O localhost [sudo] password for yves: Starting Nmap 5.00 ( http://nmap.org ) at 2011-08-22 00:09 CEST Interesting ports on localhost (127.0.0.1): Not shown: 994 closed ports PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 110/tcp open pop3 111/tcp open rpcbind 143/tcp open imap 993/tcp open imaps No exact OS matches for host (If you know what OS is running on it, see http://nmap.org/submit/ ). TCP/IP fingerprint:... Network Distance: 0 hops OS detection performed. Please report any incorrect results at http://nmap.org/submit/. Nmap done: 1 IP address (1 host up) scanned in 14.99 seconds yves@bordel6:mta$ sudo fuser 25/tcp 25/tcp: 1336 yves@bordel6:mta$ ps -ef grep 1336 101 1336 1 0 Aug21? 00:00:00 /usr/sbin/exim4 -bd -q30m yves 2623 2604 0 00:10 pts/0 00:00:00 grep 1336
Précaution On le voit exim4 est le serveur installé par défaut dur notre Debian. Il convient de l'arrêter sudo service exim4 stop puis de le désinstaller sudo apt-get remove exim4.
Etude du MTA postx Voir le bouquin de JP Archier.