Securisation de La Messagerie Electronique
Securisation de La Messagerie Electronique
Securisation de La Messagerie Electronique
ecurisation de la messagerie
electronique
Matthieu Herrb
CNRS-LAAS
[email protected]
Octobre 2003
Introduction
vers des outils encore plus globaux : SMS, PDA, Web services, etc.
Evolutions
Plan
Rappels - architecture de la messagerie
MUA - MTA
les protocoles SMTP, POP3, IMAP
MIME
Vulnerabilites, Menaces et Attaques
Outils de securisation
Chapitre 1
Architecture(s) de messagerie
Sch
ema g
en
eral
U tilisateur
M UA
U tilisateur
queue
queue
M UA
Internet
BAL
M TA
M TA
R elais
BAL
R elais
Site A
Site B
queue
queue
SMTP (1/2)
RFC2821 - Version revue du RFC 821 + ESMTP
Alice
Bob
EHLO mail.acme.com
250 mail.example.com Hello mail.acme.com [192.200.9.1], pleased to meat you
SMTP (2/2)
Alice
mail. to: [email protected]
DATA
354 Enter mail, end with "." on a line by itself
From: [email protected]
To: [email protected]
Subject: Hello
Date: Sat 26 jul 2003 14:14:14 +0200
Salut, comment
ca va?
..
250 2.0.0 h7FEMdQD001359 Message accepted for delivery
QUIT
221 2.0.0 mail.example.com closing connection
Cloture connexion TCP
Bob
R
esolution des adresses de messagerie
[email protected]
Partie gauche
Definie et interpretee localement par le site de destination.
Partie droite
Adresse de messagerie du site. Utilise le DNS. Peut etre :
un enregistrement de type MX (Mail eXanger)
pointe vers un enregistrement de type A.
un enregistrement de type A (adresse IP)
un enregistrement de type CNAME (alias Attention danger)
Attention : un MX ne peut pas pointer vers un CNAME.
U tilisateur
BAL
M UA
M SA
M SP
IM A P
queue
M TA
Serveur IM A P
M DA
BAL
queue
SM TP
Acc`
es aux botes `
a lettres
3 protocoles possibles :
acc`es direct par le syst`eme de fichiers - utilise par les anciens MUA Unix (mailx,
mailtool, etc.)
POP3 protocole dacc`es `a une bote `a lettres `a la fois. Tr`es repandu mais limite
IMAP4 protocole multi botes `a lettres, plus sophistique et plus adapte `a la
messagerie moderne.
Enveloppe/Message
Enveloppe : donnees echangees par le protocole SMTP.
En-t
etes : donnees presentes dans le corps du message.
Il ny a pas de lien entre lenveloppe et le contenu des messages, sauf quelques entetes
(Received :) ajoutees par les MTA.
En particulier aucune garantie sur les entetes From : et To : dun message. Cest
lenveloppe qui permet au message darriver dans une bote `a lettres, pas les entetes.
MIME
RFC 2045..2049 (1996), 2183 (1997).
Multi-purpose Internet Mail Extensions
Format historique dun message texte (ASCII - 7 bits) seul.
MIME permet de transporter des contenus quelconques.
Nouveaux en-tete :
MIME-Version : 1.0
Content-Type :
Content-Transfer-Encoding :
commentaires
pas bon...
MIME - exemple
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="3Pql8miugIZX0722"
--3Pql8miugIZX0722
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
Bonjour,
blah blah, ci-joint un document pdf g
enial, blah blah
--3Pql8miugIZX0722
Content-Type: application/pdf
Content-Disposition: attachement; filename="figure.pdf"
Content-Transfer-Encoding: base64
JVBERi0xLjMKJcfsj6IKNiAwIG9iago8PC9MZW5ndGggNyAwIFIvRmlsdGVyIC9GbGF0ZURl
Y29kZT4+CnN0cmVhbQp4nN1aS4/cxhG+81fw6BhQp9+Po4wYRoAIiLRr5BxM1paCoRzJkvP3
--3Pql8miugIZX0722--
Chapitre 2
Vuln
erabilit
es, Menaces, Attaques
R
esum
e
Vuln
erabilit
es :
pas dauthentification ni dintegrite ni de confidentialite,
relayage SMTP,
transport de contenus executables,
exc`es de privil`eges,
failles des logiciels,
etc.
Menaces :
diffusion de SPAM
propagation de virus
denis de service
elevation de privil`eges
atteinte `a la vie privee des utilisateurs,
etc.
Idee recue : seul Windows est vulnerable. . .
Relayage SMTP
Faille dans le protocole :
Le protocole SMTP ne restreint pas les connexions acceptees. Historiquement un
relais SMTP acceptait de relayer nimporte quel message.
Utilise (entre autres) pour diffuser du SPAM en masquant le plus possible lidentite de
lexpediteur : connexion `a un relais SMTP aleatoire entre lexpediteur et le
destinataire.
R`
egle :
Un serveur SMTP accepte de relayer un message seulement si lexpediteur ou le
destinataire est local.
Mise en oeuvre :
Utilise les champs de lenveloppe (EHLO, MAIL FROM : et RCPT TO :).
Verifications dans le DNS. Comparaison avec la liste des sites locaux.
Contenus ex
ecutables
(probl`eme pas specifique `a la messagerie)
MIME permet de transporter des fichiers executables (code machine, scripts,
plug-ins,...)
Pour le confort de lutilisateur les MUA ouvrent automatiquement les documents
attaches ; pour un document executable, laction par defaut est (etait) de lexecuter.
Ingenierie Sociale convaincre les utilisateurs douvrir (executer) les documents
attaches malgre les recommandations (exemple : virus Swen, se presente comme mise
`a jour de securite Microsoft).
vecteur de propagation reve pour vers/virus. Ex. I Love You : temps de diffusion
dans tout linternet < 12h.
D
enis de service
Le protocole SMTP suppose une utilisation raisonnable des ressources.
Un serveur de messagerie se met en general compl`etement hors-ligne lorsque sa charge
devient trop importante.
Que se passe-t-il si un utilisateur est deraisonnable (nombre de messages/taille des
messages,...) ?
Malgre lajout de nombreuses limites plus ou moins pifometriques, de nombreuses
configurations sont sujettes `a des denis de service potentiels .
Exc`
es de privil`
eges
MTA et MDA executes avec lidentite du super-utilisateur augmentent limpact des
vulnerabilites dans ces logiciels.
Sendmail < 8.12 installe avec bit setuid uid 0 meme si lance par un utilisateur .
Compte de messagerie == compte Unix avec shell et execution de code sur le serveur
POP/IMAP.
Loutil local de messagerie a lacc`es complet `a la machine de lutilisateur, alors quil
traite des contenus potentiellement dangereux.
Failles de logiciels
Defauts dans limplementation des logiciels qui creent des possibilites supplementaires.
Ex. Vers historique dinternet (1985) exploitant une faille de sendmail.
Failles dans les mesures anti-relais
Configuration par defaut des MUA trop permissive : ouverture automatique des
documents attaches (y compris executables), javascript, etc.
Failles dans les MUA permettant lexecution de code `a distance malgre la
desactivation de loption douverture automatique des documents attaches.
Exemples :
MS02-058 Unchecked Buffer in OE S/MIME parsing could enable system
compromize,
CAN-2003-0721, Pine integer overflow in its MIME header parsing
Chapitre 3
Outils de s
ecurisation
Fonctions de s
ecurit
e
Disponibilit
e
Int
egrit
e
Authentification
Signature
Non-r
epudiation
Confidentialit
e
Chiffrement
Recommandations de base
Redondance
Serveur DNS secondaire hors - site
r
ole : garantir que des agents SMTP pourront toujours trouver votre domaine et
les serveurs de messagerie du domaine, meme si ces derniers ne sont pas accessibles.
Serveur MX secondaire
sur site : le plus simple `a mettre en oeuvre. Duplication de la configuration du
serveur principal si fonction relais seul.
hors site : sur un serveur dun domaine existant. Accepter le courrier pour son
site, relais vers le serveur principal.
Probl`eme ouvert : serveur SMTP secondaire pour les utilisateurs internes ? (la
plupart des MUA ne connaissent quun serveur SMTP).
Sauvegardes
ements `a sauvegarder :
El
Configuration
Donnees annexes (alias, access, ....)
Botes aux lettres
Queues
lorsquelle change
lorsquelles changent
au moins une fois par jour
Architecture r
eseau
Internet
R1
R2
Serveur
BAL
Relais
SMTP
R1 :
R2 :
Anti-virus
Approches :
par signature : ce que font les anti-virus traditionnels
Probl`emes :
fenetre de vulnerabilite entre lapparition dun nouveau virus et la mise `a jour
des anti-virus.
fausses alertes de plus en plus nombreuses (statistiquement inevitable).
cout des solutions les plus performantes
plus simple : bloquer lexecution des contenus potentiellement dangereux.
Capable de bloquer de nouveaux vers/virus.
Pas de faux positifs (par definition).
Probl`emes :
liste exhaustive des types MIME executables ?
comment echanger des executables legitimes ?
Le spam
SPAM = Messages electroniques non sollicites.
Nuisance de plus en plus importante.
(Contenus douteux...)
Diffuses par des relais ouverts `a des listes
dadresses collectees sur le Web.
SPAM - aspect l
egaux
Le spam est illegal.
La loi sur leconomie numerique instaure le principe du :
consentement pr
ealable en mati`ere de prospection directe operee par des
syst`emes automatises dappel, telecopieurs ou courriers electroniques .
Mais il y a des exceptions...
Cf. Deliberation CNIL no 02-093
LEN : http://www.droit-technologie.org/3_1.asp?legislation_id=138
commentaire : http://www.droit-technologie.org/1_2.asp?actu_id=714
Site general : http://www.spamlaws.com/
[Je ne suis pas juriste]
En pratique...
Pour lutilisateur
Le bouton Poubelle (ou le raccourci clavier) est le moyen le plus rapide et le plus
efficace jusqu`a environ 30 messages par jour.
Au del`a : filtrage (traite plus bas)
Pour ladministrateur syst`
eme
(In)former ses utilisateurs
Cf. recommandations de la CNIL
Ne pas devenir spammeurs (organisation de conferences, gestion de listes de mail,
etc. )
Mettre en place un dispositif anti-spam au niveau du serveur de messagerie
Lutter contre les relais ouverts.
Denoncer `a la justice les pratiques illegales (pedophilie, chanes , etc. )
Politiques de filtrage
Definir avec le conseil de laboratoire / CE une politique de filtrage claire
Basee sur la charte dutilisation des moyens informatiques
Definir
ce qui est du trafic legitime,
ce qui sera bloque (mis en quarantaine).
Tolerer une utilisation raisonnable `a usage extra-professionel.
Respecter les conseils de la CNIL dans les fiches pratiques editees avec le rapport sur
la cyber-surveillance sur les lieux de travail :
http://www.cnil.fr/thematic/docs/entrep/cybersurveillance2.pdf
http://www.cnil.fr/thematic/docs/entrep/cyber_fiches.pdf
Mimedefang - Outil g
en
eral de filtrage pour sendmail
http://www.roaringpenguin.com/mimedefang/
http://www.mimedefang.org/
Programme general de filtrage de mails, utilisant lAPI milter de Sendmail.
destruction, modification ou mise en quarantaine de fichiers attaches
dangereux
interface avec Anti-virus existants, avec SpamAssassin
ajout de notices aux messages
actions configurables en fonction du domaine, de lutilisateur, du relais utilise, etc.
utilise un pool de processus pour les serveurs charges.
...
Permet de faire anti-virus et anti-spam en meme temps.
Interaction sendmail/mimedefang
m essage
sendm ail
m ilter
m im edefang
O K?
bote lettres
oui
Q uarantaine
non
erreur
payant
payant
http://ordb.org/
OK
Probl`
emes des listes noires
Listes blanches
Complementaire extreme des listes noires :
Naccepter que les messages de personnes identifiees.
despam : http://www.laas.fr/~felix/despam.html
http://impressive.net/people/gerald/2000/12/spam-filtering.html
naccepter que des messages signes (S/MIME ou PGP) avec ou non une liste
dautorites de certification de confiance.
SpamAssassinTM
http://www.spamassassin.org/
Ensemble de tests sur le contenu
Chaque test attribue des points
Somme des points score
Marque les messages qui depassent un
seuil.
Ecrit
en Perl.
Plusieurs modes de fonctionnement :
filtre simple (utilisation avec procmail)
filtre client dun demon (meilleurs performances) (spamc)
au travers de lAPI milter (sendmail) filtrage global
SpamAssassin - Exemple
SPAM: -------------------- Start SpamAssassin results ---------------------SPAM: This mail is probably spam. The original message has been altered
SPAM: so you can recognise or block similar unwanted mail in future.
SPAM: See http://spamassassin.org/tag/ for more details.
SPAM:
SPAM: Content analysis details:
(8.10 hits, 5 required)
SPAM: SUBJECT_MONTH
(-0.5 points) Subject contains a month name - probable
newsletter
SPAM: NO_REAL_NAME
(1.3 points) From: does not include a real name
SPAM: LOSE_POUNDS
(0.5 points) Subject talks about losing pounds
SPAM: DIET
(0.4 points) BODY: Lose Weight Spam
SPAM: FULL_REFUND
(0.4 points) BODY: Offers a full refund
SPAM: CLICK_BELOW
(0.3 points) BODY: Asks you to click below
SPAM: SPAM_PHRASE_08_13 (1.4 points) BODY: Spam phrases score is 08 to 13 (med
ium)
SPAM:
[score: 8]
SPAM: DATE_IN_FUTURE_06_12 (1.1 points) Date: is 6 to 12 hours after Received:
date
SPAM: RCVD_IN_DSBL
(3.2 points) RBL: Received via a relay in list.dsbl.or
g
SPAM:
[RBL check: found 251.102.96.210.list.dsbl.org]
SPAM:
SPAM: -------------------- End of SpamAssassin results ---------------------
Classificateurs bayesiens
Classification bayesienne :
http://www.mathpages.com/home/kmath267.htm
Eric Horvitz & al. (Microsoft) 1998 :
http://research.microsoft.com/~horvitz/junkfilter.htm
Paul Graham 2002-2003 :
http://www.paulgraham.com/spam.html
Adaptive latent semantic analysis (Apple Mail.app) :
http://www.knowledge-technologies.com/papers/dp1.LSAintro.pdf
Implementations libres :
http://bogofilter.sourceforge.net/ (Eric S. Raymond)
http://sourceforge.net/projects/bmf/
http://spambayes.sourceforge.net/
http://www.mozilla.org/mailnews/spam.html (Mozilla Mail)
http://www.fourmilab.ch/annoyance-filter/
Rappels
P (C = ck |X = x) =
P (X = x|C = ck )P (C = ck )
P (X = x)
C0 HAM
C1 SPAM
Bayes naf :
P (X = x|C = Ck ) =
Y
i
P (Xi = xi|C = ck )
Paul Graham
Decomposition en tokens du texte complet (y compris en-tetes)
Base dapprentissage classee `a la main. Pour chaque token calcule la probabilite detre
SPAM.
Nouveaux messages :
assigne initialement 0.4 comme probabilite aux mots inconnus ,
garde les 15 probabilites les plus significatives (les plus eloignees de 0.5),
calcule la probabilite conditionnelle que le mail soit un SPAM,
en fonction de la decision recalcule les probabilites des tokens.
Implementations :
bogofilter
bmf
un module dans SpamAssassin
Les pi`
eges `
a SPAM
Principe : penaliser les diffuseurs de SPAM en ralentissant jusqu`a linsupportable la
transaction SMTP sil sagit de SPAM.
OpenBSD : spamd
http://www.openbsd.org/cgi-bin/man.cgi?query=spamd&manpath=
OpenBSD+Current&format=html
Base sur des listes noires et sur le filtre de packets pf pour rediriger les connexions
des spammeurs vers spamd.
Spam tarpit - tarproxy
http://www.martiansoftware.com/articles/spammerpain.html
Utilise un filtre baysien pour analyser le message et ralentir la transaction si le score
augmente.
S
ecurisation du contenu
Chiffrement sym
etrique et asym
etrique
Symetrique : DES / AES
Alice
Doc
Chiffrement
Bob
Dchiffrement
Cle secrete
Doc
Cle secrete
B ob
C hiffrem ent
D oc
D chiffrem ent
Doc
Doc
D oc
cl prive
cl publique
Chiffrement pratique
Fonctions `a cle publique tr`es couteuses utilisation dune cl
e de session
Chiffrement par Alice :
C rypto cl secrte
Texte clair
A ES
Texte chiffr
C rypto cl publique
C l de session
cl publique de B ob
R SA
cl de session
chiffre
D
echiffrement pratique
Texte chiffr
A ES
Texte clair
C rypto cl publique
cl de session
chiffre
R SA
C l de session
cl prive de B ob
Fonctions de hachage
But : obtenir une empreinte de petite taille (128 bits) `a partir dun document
avec les proprietes suivantes :
impossible de predire la modification du document `a partir dune modification de
lempreinte,
risque nul (quasi-nul) de collision entre 2 versions dun meme document.
Algorithmes principalement utilises : MD5, SHA1.
Signature num
erique
Principe dune signature :
A lice
D oc
H achage
em preinte
B ob
D oc
chiffrem ent
signature
D oc
C l publique
Authentification
Techniques :
mot de passe
challenge - reponse (CHAP)
biometrie
certificats
em preinte
C l prive
H achage
Vrification
Certificats
Cle publique dun utilisateur signee par une autorite de certification (de confiance).
Permet de distribuer la confiance dans les cles publiques, donc authentifier les
proprietaires de ces cles.
Infrastructure de Gestion des Cles (IGC).
Format de certificat standard : X.509v3.
Utilises par S/MIME, SSL/TLS, IPSec, etc.
Deux niveaux dautorites de confiance :
Autorit
e denregistrement valide lidentite de la personne, signe la demande de
certificat (Mairie).
Autorit
e de certification recoit les demandes signees, signe la cle publique et
publie le tout (Prefecture).
PGP
Pretty Good Privacy.
Develope par Phil Zimmerman en 1991. OpenPGP RFC 1991, 2015, 2440.
Fonctions : Signature et/ou chiffrement.
Cles publiques signees par des personnes tierces - notion de Web of trust : trouver
lhomme qui a vu lhomme qui a vu la cle.
Syst`eme populaire et bien developpe. Outils pour toutes plateformes.
Evolue
vers la possibilite dutiliser une IGC.
PGP - exemple
From: [email protected]
To: [email protected]
Subject: Test PGP
Date: Sun, 5 Oct 2003 16:50:45 +0200
-----BEGIN PGP SIGNED MESSAGE----Hash: SHA1
Ceci est un message sign
e par PGP.
-----BEGIN PGP SIGNATURE----Version: GnuPG v1.2.1 (OpenBSD)
iD8DBQE/gC+8yHzmqagv7mERAs4KAJ9MkwmyuzIojDLg7rk7TlM+hC0UfwCguAP/
gspsnaXr3zlbR/sBQRIWsnM=
=tv14
-----END PGP SIGNATURE-----
S/MIME
RFC 2311-2312 / 2632-2633
Developpe par RSA
http://www.imc.org/ietf-smime/index.html
Utilise les certificats X.509v3 pour signer/chiffrer.
Necessite une infrastructure de gestion des cles.
Supporte par Netscape / Mozilla / Outlook express (RIP).
S/MIME - exemple
MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature";
micalg=sha1; boundary="----F2F414CB86C93232A3F2D82F6E113F1E"
From: Matthieu Herrb <[email protected]>
To: [email protected]
Subject: test S/MIME
Date: Sun, 5 Oct 2003 16:57:05 +0200
This is an S/MIME signed message
------F2F414CB86C93232A3F2D82F6E113F1E
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Voici un message sign
e par S/MIME.
------F2F414CB86C93232A3F2D82F6E113F1E
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
S/MIME vs OpenPGP
Mandatory Features
Message format
S/MIME v3
Binary, based on CMS
Certificate format
3-DES
Diffie-Hellman with DSS
multipart/signed or
CMS format
application/
pkcs7-mime
OpenPGP
Binary,
based
on previous PGP
Binary,
based
on previous PGP
3-DES
ElGamal with DSS
multipart/signed
with ASCII armor
multipart/encrypted
Source : Internet Mail Consortium
Aspects l
egaux
La r`eglementation francaise en mati`ere de cryptologie sapplique.
Recommendations de la DCSSI :
cles separees pour signature et chiffrement
sequestre des cles de chiffrement
La messagerie chiffree pour des usages reels `a grande echelle est loin detre prete.
S
ecurit
e du transport
Protocoles g
en
eraux de s
ecurit
e
SSL - protocole au dessus de TCP (Entre TCP et lapplication).
Pourquoi SSL ?
Avantages :
Compatible avec TCP/IP Classique
Protocole standardise
Ne necessite pas de securiser tout dun coup
Gestion de la confiance par IGC,
Disponible...
Inconvenients :
Retard de limplementation de certains services (telnet, ftp,. . .)
Cout du chiffrement
Necessite des certificats
Quelques failles dans limplementation. . .
lauthentification du serveur
lauthentification optionnelle du client
la confidentialite
lintegrite
la compression (optionnelle)
SSLv1
SSLv2
SSLv3
TLSv1
obsolete
Netscape
Netscape
RFC 2246
SSL Authentification
Utilise des certificats X.509v3
1. Le serveur presente son certificat au client
2. Le client verifie la signature du certificat
3. Le serveur demande un certificat au client
4. Le client transmet un certificat
5. Le serveur verifie la signature du certificat du client.
Necessite de connatre les certificats des autorites de certification de chaque cote
(+ listes de revocation).
Confidentialit
e - int
egrit
e
Assurees par chiffrement de la session par un protocole symetrique
negotiation du protocole et de la longueur des cles
negotiation/echange dune cle de session
possibilite de re-negocier (renouveler) la cle en cours de session
Algorithmes :
SSLv2 : RC4(128), RC2(123), 3DES(168), DES(56), RC4(40), RC2(40)
SSLv3 : RC4(128), 3DES(168), DES(56), RC4(56), DES-CBC(56), RC4(40),
RC2(40 ),
MAC (SSLv3 uniquement) : MD5, SHA1
port
443
465
563
636
993
995
889/990
992
protocole non
securise
HTTP
SMTP
NNTP
LDAP
IMAP4
POP3
FTP
Telnet
Application
Web securise
Transport du courrier
Transport des news Usenet
Annuaires
Acc`es aux botes aux lettres
Acc`es aux botes aux lettres
Transfert de fichiers
Connexion interactive
SMTP et STARTTLS
La commande STARTTLS dans SMTP permet de passer en mode TLS :
dauthentifier le serveur
dauthentifier le client (machine nomade...)
dautoriser selectivement le relayage `a partir de machines authentifiees
de chiffrer les connexions SMTP.
Inconvenients :
Necessite une IGC
Charge CPU
Mauvaises implementations/configurations pertes de connectivite
IPsec
Seulement avec sites bien definis `a lavance (ou avec PKI)
Plus difficile `a mettre en oeuvre que SSL
Gratuit si IPsec existant.
Autres tunnels
Permet des securisations point `a point si les solutions ci-dessus ne marchent pas.
Exemple : tunnel SSH pour acc`es nomade.
S
ecurit
e des botes `
a lettres - acc`
es distants
Protocoles dacc`
es aux botes `
a lettres
protocoles dacc`es `a la bote aux lettres :
POP3 ou IMAP : identification de lutilisateur par mot de passe simple.
probl`eme de circulation en clair du mot de passe...
(et confidentialite /integrite, mais ce nest pas `a ce niveau quil faut
agir)
IMAPS - SPOP3
Chiffrement SSL de la connexion POP3 ou IMAP confidentialite du mot de passe.
Avantage supplementaire : authentification du serveur.
Autres solutions :
authentification CHAP ou MS-CHAP. Pas beaucoup de clients qui supportent cette
option.
tunnel SSH (ou autre). Besoin du logiciel pour le tunnnel, mais compatible avec
tous les clients POP3 ou IMAP.
Probl`eme de charge du serveur (crypto).
Acc`
es distant `
a la messagerie : Netscape
Menu EditPreferencesMail & NewsgroupsMail ServersEdit
Acc`
es distant `
a la messagerie : Outlook
Menu OutilsOptions Onglet Avanc
e
Acc`
es distant `
a la messagerie : Eudora 1/2
(Pas de SMTP+STARTTLS).
Acc`
es distant `
a la messagerie : Eudora 2/2
Selectionner certificat
cliquer Add to trusted
Envoi du mail....
POP et IMAP (et les versions SSL-isees) ne g`erent que la recuperation (lecture) du
courrier. Pour un agent itinerant, il faut aussi un moyen denvoyer du courier : un
serveur SMTP.
Mais, pas de relayage SMTP sur les sites modernes.
sendmail AUTH - STARTTLS
Autoriser le relayage depuis une machine distante apr`es authentification. Soit par mot
de passe (AUTH) soit par certificat (STARTTLS).
Tunnel SSH
Firew all
serveurPO P
clientPO P
1
3
TunnelSSH
clientSSH
OK
serveurSSH
2
C lient
Serveur
Webmail
Solution souvent la plus simple pour les utilisateurs
ne necessite pas de logiciel particulier cote client. La plupart des navigateurs Web
suffisent (avec cookies ou javascript souvent quand meme).
cote serveur : un serveur IMAP + un serveur SMTP + un serveur https +
fonctions specifiques.
exemple : squirrelmail : utilise PHP.
Cote client : Cookies (obligatoires) + Javascript (optionnel - facilite la navigation si
actif).
Webmail - architecture
H TTP(S)
N avigateur
U tilisateur
W eb
Serveur W W W
M SA
M SP
IM A P
queue
M TA
SM TP
Serveur IM A P
M DA
BAL
queue
Webmail - Limitations
Interface lente
Documents attaches limites aux applis du poste client
En general pas de S/MIME ni de PGP (pb de la gestion de la cle privee)
https utilise surtout pour la confidentialite du mot de passe - charge CPU serveur
https
Risques si le poste client est compromis/malveillant.
Chapitre 4
Architecture
un serveur SMTP
filtrage anti-virus/anti-spam
un serveur IMAP(s)
un webmail
Architecture (2)
O penSSL
SM TP
AU TH
STAR TTLS
m ilter
sendm ail
m im edefang
Spam A ssassin
File::Scan
Boites
aux lettres
M UA
O penSSL
H TTPS
N avigateur
WWW
O penSSL
IM APS
im apd
httpd/
squirrelm ail
Outils
OpenSSL
Cyrus-SASL
Sendmail
mimedefang
file :scan
imapd-uw
apache
mod ssl
php
squirrelmail
0.9.7c
1.5.28
8.12.10
2.37
0.68
2002d
1.3.28
2.8.15
4.3.3
1.4.2
http://www.openssl.org/
ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/
http://www.sendmail.org/
http://www.mimedefang.org/
http://www.cpan.org/authors/id/H/HD/HDIAS/
ftp://ftp.cac.washington.edu/imap/
http://httpd.apache.org/
http://www.modssl.org/
http://www.php.net/
http://www.squirrelmail.org/
OpenSSL g
en
eration de certificats auto-sign
es
Pour ceux qui nont pas dIGC sous la main.
Possible dacheter des certificats chez un fournisseur commercial.
Generer une paire de cles :
openssl genrsa -out server.key 1024
Generer une demande de certificat et lauto-signer :
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr \
-signkey server.key -out server.crt
Remplir (laisser les autres champs vides) :
Country name
fr
Organization Name example
Common Name
server.example.com
Email Address
[email protected]
Garder server.key et server.crt.
Sendmail - compilation
Sendmail 8.12.10 http://www.sendmail.org/
Verifier la signature PGP de la distribution !
Activer : MILTER, SASL et STARTTLS
configuration des options de compilation locales dans
devtools/Site/site.config.m4
APPENDDEF(conf_sendmail_ENVDEF, -DSTARTTLS -DSASL -DMILTER)
APPENDDEF(conf_libmilter_ENVDEF, -D_FFR_MILTER_ROOT_UNSAFE)
APPENDDEF(conf_sendmail_LIBS, -lsasl -lssl -lcrypto)
APPENDDEF(confINCDIRS, -I/usr/local/include -I/usr/local/include/sasl)
APPENDDEF(confLIBDIRS, -L/usr/local/lib)
et
APPENDDEF(confLDOPTS, -R/usr/local/lib)
ou
APPENDDEF(confLDOPTS, -Wl,-rpath /usr/local/lib)
si necessaire.
SpamAssassin : installation
http://www.spamassassin.org Derni`ere version : 2.60.
Modules perl prerequis :
ExtUtils::MakeMaker 6.16
File::Spec 0.8
Pod::Usage 1.10
HTML::Parser 3.29
Sys::Syslog
DB_File
Net::DNS
perl Makefile.PL
make
make install
SpamAssassin : configuration
Dans /etc/mail/spamassassin/sa-mimedefang.cf
required_hits
ok_locales
skip_rbl_checks 1
5
en fr
TLS : Contr
ole du relayage par certificats
Autoriser le relayage pour les utilisateurs avec un certificat :
Editer
/etc/mail/access (Ex. certificats CNRS) :
CERTIssuer:/C=FR/O=CNRS/CN=CNRS-Standard RELAY
CERTSubject:/C=FR/O=CNRS/OU=UPR8001 RELAY
Executer :
cd /etc/mail
makemap dbm access < access
Relancer sendmail :
sh /etc/init.d/sendmail stop
sh /etc/init.d/sendmail start
SASL - configuration
Utiliser saslpasswd pour creer des utilisateurs. Exemple :
saslpasswd -u mail.example.net alice
Compilation / installation
Lire docs/SSLBUILD
Editer
src/osdep/unix/Makefile :
SSLDIR=/usr/local
SSLCERTS=/etc/ssl
Voir Makefile pour cibles. lnp Linux PAM.
make SSLTYPE=unix lnp
Installation :
cp imapd/imapd /usr/local/sbin/imapd
Configuration imapd
Editer
inetd.conf :
imaps stream tcp nowait root /usr/local/sbin/imapd imapd
Creer /etc/ssl/imapd.pem :
Utiliser un nom generique (imap.example.net par ex.)
definir un CNAME dans le DNS.
Demander un certificat serveur de lautorite de certification CNRS-Standard pour ce
nom generique :
http://igc.services.cnrs.fr/CNRS-Standard/certificats.html
(Ou creer un certificat auto-signe).
Recuperer les 2 fichiers .key et .crt
Supprimer les commentaires du fichier .crt
Concatener les 2 fichiers :
cat imap.example.net.key imap.example.net.crt > /etc/ssl/imapd.pem
chmod 400 /etc/ssl/imapd.pem
Extensions possibles
MX secondaire
Autres filtres
Botes `a lettres separees
Gestionnaire de liste de diffusions - Sympa
Annuaire LDAP
...
Conclusion
Messagerie - Geant aux pieds dargile
Solutions pour la securisation :
Filtrage
Outils cryptographiques : signature/chiffrement
Solutions legales ?
Nouvelles technologies : messagerie instantanee / telephonie mobile vers la fin de
la messagerie SMTP ?
Bibliographie
R. Costales & E. Allman Sendmail, 3rd edition, OReilly.
R. Blum, Postfix, SAMS.
E. Rescorla, SSL and TLS, designing and building secure systems, Addison
Wesley.
M. Bauer, Building secure servers with Linux, OReilly.
P. Graham - A plan for spam
http://www.paulgraham.com/spam.html
La page sur les virus du Foncionnaire de defense du CNRS :
http://www.cnrs.fr/Infosecu/Virus.html
Fiches du groupe de travail Acc`es Distants Securises du CNRS :
https://www.services.cnrs.fr/corres-secu/
R. Dirlewanger, Tutorial SSL, JRES 1999 Montpellier :
http://www.dr15.cnrs.fr/Cours/JRES99/rd-ssl.pdf