Securisation de La Messagerie Electronique

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 65

S

ecurisation de la messagerie
electronique
Matthieu Herrb
CNRS-LAAS
[email protected]
Octobre 2003

Introduction

La messagerie : le Service Universel


 Service normalise il y a 21 ans (RFC 821/822).
 Devenu un outil indispensable de communication.
Mais aussi vecteur pour les utilisateurs abusifs ou malveillants :
SPAM / vers / virus / etc.

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

Bonne pratiques dadministration


Filtrage : anti-spam et anti-virus
Securisation du contenu S/MIME et PGP
Securisation du transport : TLS
Solutions pour utilisateurs nomades

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

mail to: [email protected]


SMTP connect to mail.example.com
220 mail.example.com ESMTP Sendmail 8.12.12/8.12.12; Fri, 15 Aug 2003 16:22:42 +0200 (CEST)

EHLO mail.acme.com
250 mail.example.com Hello mail.acme.com [192.200.9.1], pleased to meat you

MAIL FROM: [email protected]


250 2.1.0 [email protected]... Sender ok
RCPT TO: [email protected]
.
250 2.1.5 [email protected]... Recipient ok
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

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.

Zoom sur larchitecture locale


R eception
Envoi

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

Composants dun serveur de messagerie

MUA Mail User Agent logiciel de messagerie de lutilisateur : Outlook, Evolution,


Netscape Messenger, mutt, pine, etc.
MTA Mail Transport Agent serveur SMTP pour le transport des messages :
sendmail, postfix, qmail, exim, etc.
MSA Mail Submission Agent (optionnel) interface utilisee par le MUA pour
soumettre les messages sortants au MUA. (sendmail -Ac). Fonctionnalite parfois
integree au MTA.
MDA Mail Delivery Agent outil utilise pour deposer les messages dans la bote `a
lettres locale (/bin/mail, procmail, etc.)
Serveur IMAP/POP (optionnel) serveur proposant lacc`es aux botes aux lettre
selon le protocole choisi POP ou IMAP.

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.

Format des botes `


a lettres
format Unix traditionnel
Un fichier messages separes par ^From Prot`ege les lignes commencant par From
dans le corps du message : >From.
format Unix avec Content-Length
Le meme mais lentete Content-Length est utilise en plus pour donner la
longueur de chaque message.
Plus besoin de proteger les lignes qui commencent par From
Mais risque de confusion avec le format traditionnel.
format MMDF - un fichier par BAL, separation par ^A^A^A^A.
format MH
Un repertoire par bote `a lettres, un fichier par message, avec un nom numerique.
format maildir (qmail)
Un repertoire par bote `a lettres, 3 sous-repertoires tmp, new et cur. Dans chaque
repertoire un message a un identificateur unique
formats proprietaires : Outlook Express, Eudora, etc.

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 :

MIME - types de messages


Content-Type : definit comment afficher le message `a la reception.
Exemples : text/plain, text/html, text/enriched, image/gif, video/mpeg,
application/pdf
Messages composites : multipart definit un separateur. Entre chaque separateur
structure MIME avec Content-Type : et Content-Encoding
multipart/mixed : plusieurs elements `a la suite
multipart/alternative : plusieurs versions du meme element
multipart/parallel : plusieurs elements `a montrer en meme temps
(video/audio)
multipart/signed : Un element et sa signature numerique
Possibilite demboter les multipart

MIME - Transfert Encoding


Codage du message pour le transport compatible avec le protocole SMTP.
Cinq methodes standard :
methode
7bit
8bit
quoted-printable
base64
binary

exemple (cet ete)


cet iti
cet ete
cet =E9t=E9
Y2V0IOl06Qo=
cet ete

commentaires
pas bon...

reserve pour HTML

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. . .

Absence dauthentification, dint


egrit
e et de confidentialit
e
Le protocole SMTP ne fournit aucun de ces trois services de base.
les messages (y compris les entetes) sont transportes sans aucune verification.
les controles sur lenveloppe sont limites aux r`egles anti-relayage. Lenveloppe peut
contenir nimporte quoi pourvu que ca passe lanti-relais
un relais SMTP peut modifier un message sans violer le protocole
les echanges se font en clair
Ne jamais faire confiance `
a un e-mail !

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 .

Protection de la vie priv


ee
Probl`emes lie `a labsence de confidentialite mais en plus :
commandes SMTP expn et vrfy donnent acc`es `a la liste des comptes connus,
informations contenues dans les entetes permettent de tracer geographiquement (et
temporellement ) lemetteur dun message
syst`emes de repondeurs automatiques qui donnent souvent trop dinformation. Bien
si linterlocuteur est amical, problematique sil est malfaisant.

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

Redondance, sauvegardes, bonne administration

Int
egrit
e

Authentification

Signature

Non-r
epudiation

Confidentialit
e

Chiffrement

Bonnes pratiques dadministration

Recommandations de base

Espace disque suffisant


Sauvegardes /var/mail / RAID
Ne pas autoriser le relayage
Surveillance des journaux / provoquer des alertes
Gerer les erreurs
Utiliser un MX secondaire
Annuaire des utilisateurs
Respect de la vie privee des utilisateurs
Respecter les RFCs et la netetiquette :
partie droite des adresses solubles dans le DNS
serveur qui respecte le protocole SMTP
alias standard pour contact exterieur : postmaster, abuse, etc.
gen`ere des entetes MIME corrects (codage ISO,...)
utilisateurs conscients des formats MIME et de leur bon usage
signatures raisonnables

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

Redondance materielle : syst`eme RAID pour BAL / Queue :


pas darret en cas de panne,
pas de perte de donnees en cas de panne,
mais ne peut rien contre les erreurs humaines.

Gestion des utilisateurs


R`egles de bonne organisation vis `a vis des utilisateurs :

avoir une charte dutilisation de la messagerie,


annuaire : correspondance compte messagerie / personnes physiques,
fermer les comptes non utilises,
reflechir `a la mise en place de quotas sur les botes aux lettres,
avoir des moyens pour informer les utilisateurs,
informer le CE / Conseil de Laboratoire des mesures de securite.

Architecture r
eseau

Internet

R1

R2

Serveur
BAL
Relais
SMTP

Zone 1/2 ouverte


Reseau(x)
Interne(s)

R1 :

R2 :

laisse passer le port 25 de linternet vers le relais SMTP


bloque SMTP vers le reseau interne
bloque SMTP du reseau interne vers linternet
Routeur ou commutateur/routeur interne
Peut faire du filtrage entre reseaux internes

Analyse de logs MTA


Points `a surveiller :
erreurs de connexion SMTP
erreurs de resolution DNS
connexions trop frequentes
taille de la file dattente
tentatives de connexions sur des machines autre que le serveur
tout ce qui peut paratre etrange
Exemples doutils danalyse de log :
Logcheck : http://www.astro.uiuc.edu/~r-dass/logcheck/
isoqlog : http://www.enderunix.org/isoqlog/

Filtres anti-virus / anti-spam

` quel niveau (MUA / MTA) ?


A
Niveau MUA indispensable mais :
garantir la mise `a jour (automatique ?)
etre exhaustif (un seul poste non protege peut bloquer/contaminer tout un reseau).
Au niveau MTA :
protection globale
plus facile de garantir la mise `a jour et lutilisation systematique.
probl`emes de charge serveurs.
probl`emes de politique de securite globale.

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 ?

Anti-virus au niveau MTA


Plusieurs solutions existent :
Relais SMTP integre
amavisd-new http://www.ijs.si/software/amavisd/,
mail-scanner http://www.sng.ecs.soton.ac.uk/mailscanner/
Produits commerciaux : Sophos PureMessage, Symantec AntiVirus Gateway,
MacAfee WebShield SMTP,
Avantages : independant du serveur SMTP utilise, peu de modifications de
configuration
Inconvenients : manque de souplesse de configuration, necessite une machine
supplementaire
API Milter pour sendmail :
MIMEDefang
Colburn Anti-virus
Avantages : grande richesse de configurations, sint`egre dans une configuration
existante sur la meme machine
Inconvenients : configuration un peu lourde (pas incluse en standard en general),
specifique sendmail

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.

Pourquoi tant de SPAM ?


Envoyer un message ne coute presque rien.
Un taux de retour tr`es faible permet de faire des benefices.
Aucune chance de voir les spammeurs arreter : activite lucrative et sans risques.
(Source : Wall Street Journal http:
//online.wsj.com/article_email/0,,SB1037138679220447148,00.html)
Exemple recent : spam vendant des outils anti-spam.
Seul point positif : les spammeurs continueront `a utiliser les solutions les moins ch`eres
possible pour conserver leurs marges beneficiaires outils imparfaits et detectables.

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]

Lutte contre le SPAM - Recommandations de la CNIL


http://www.cnil.fr/thematic/internet/spam/lacnil_aide1.htm
Faites toujours preuve de vigilance quand vous communiquez votre adresse
electronique.
Ne rendez pas visible les adresses mels de vos correspondants lorsque vous creez un
groupe ou une liste de diffusion.
Sensibilisez vos enfants sur lutilisation quils peuvent etre amenes `a faire de leur
adresse electronique
Ne repondez jamais `a un spam .
Ne communiquez pas `a des tiers des adresses mel autres que la votre sans le
consentement des interesses.
Utilisez un filtre de spam .
Ne cliquez pas sur les liens hypertexte inseres dans le corps du spam .
Ne jamais ouvrir un fichier joint figurant dans un spam .

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

Listes noires - Principe


Rejeter les connexions SMTP en provenance de relais ouverts connus.
Fonctionnement : Un serveur DNS g`ere un domaine special contenant une base de
donnee de relais ouverts.
Exemple : Est-ce que 192.9.200.1 (mail.example.net) est un relais ouvert ?
recherche 1.200.9.192.relays.ordb.org.
Si reponse, alors cest un relais ouvert. . .
Configuration : (sendmail/m4) Dans le fichier .mc ajouter :
FEATURE(dnsbl,relays.ordb.org,"550 rejected - see http://ordb.org/")

Possibilite dexceptions dans accessdb : 192.9.200.1

Quelques listes noires :


rbl.net
SpamCop.net
relays.ordb.org

payant
payant
http://ordb.org/

OK

Probl`
emes des listes noires

Contenu non matrise


Plus facile dy rentrer que den sortir
Souvent trop agressives (bloque toute une classe C pour un relais ouvert)
probl`eme recent Osirusoft : sest mis `a bloquer tout linternet.
etc.

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.

Filtrage sur le contenu : principe


Classifier les messages en fonction du texte complet du message
Par mots cles / patterns : SpamAssassin
Par analyse statistique : Classification Bayesienne (bogofilter, bmf, etc. )
Base de donnee de spams : Vipuls Razor.

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) =

Ici deux classes :

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

Classification par score ou probabiliste ?


Quy a-t-il derri`ere un score ? Comment les attribuer ?
Scores difficiles `a personnaliser
Probabilites valeurs absolues
Apprentissage personnalise automatique (2 boutons : SPAM/HAM)
Permet de suivre levolution des contenus du SPAM.

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.

Mimedefang + Spam Assassin


mimedefang-filter est un script Perl.
Utiliser SpamAssassin :
Dans filter end :
# verifier si SpamAssassin est installe
if ($Features{"SpamAssassin"}) {
if (-s "./INPUTMSG" < 100*1024) {
# ne scanner que les messages de taille inferieure a 100ko
my($hits, $req, $names, $report) = spam_assassin_check();
if ($hits >= $req) {
# Marquer les messages
action_change_header("X-Spam-Score", "$hits $names");
action_change_header("X-Spam-Status", "Yes");
}
}
}

Mimedefang + SpamAssassin pour les utilisateurs


Chaque message soupconne par par SpamAssassin detre un SPAM est marque par
des entetes :
X-Spam-Score: 7.9 (*******) ALL_CAP_PORN,CLICK_BELOW,CLICK_BELOW_CAPS,
CTYPE_JUST_HTML,DATE_MISSING,FROM_ENDS_IN_NUMS,LINES_OF_YELLING,
LINES_OF_YELLING_2,LINES_OF_YELLING_3,PORN_4,SPAM_PHRASE_05_08,
SUPERLONG_LINE,UPPERCASE_50_75
X-Spam-Status: Yes
X-Scanned-By: MIMEDefang 2.28 (www . roaringpenguin . com / mimedefang)

Filtrage par chaque utilisateur avec :


procmail (cf plus haut)
logiciel de messagerie : Eudora, Netscape messenger, . . .

Mimedefang - Autres exemples (1)


Alias interne seul
sub filter_recipient {
my ($recipient, $sender, $ip, $hostname, $first, $helo) = @_;
if ($recipient =~ /^<?all\@example\.net>?$/i) {
if ($sender !~ /\@example\.net>?$/i) {
return (REJECT, User unknown);
}
return (CONTINUE, ok);
}
}

Rejette les messages `a ladresse [email protected] si lexpediteur nest pas dans le


domaine example.net.

Mimedefang - Autres exemples (2)


Anti-spoofing sur HELO/EHLO
sub filter_relay {
my($ip, $name, $helo) = @_;
if ($helo =~ /example\.net/i) {
if ($ip ne "127.0.0.1" and
$ip !~ "^192\.200\.7\.") {
return(REJECT, "Go away... $ip is not in example.net");
}
}
return (CONTINUE, "ok");
}

Rejette les connexions qui essayent de passer example.net en param`etre de la


requete SMTP HELO ou EHLO.

S
ecurisation du contenu

Chiffrement sym
etrique et asym
etrique
Symetrique : DES / AES
Alice
Doc

Chiffrement

Bob

Dchiffrement

Cle secrete

Doc

Cle secrete

Assymetrique : RSA (DSA - El-Gamal)


A lice

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

Longueur des cles sures (2003) :


cle secr`ete : 128 bits
cle publique/privee : 1024 bits

R SA

cl de session
chiffre

D
echiffrement pratique

Dechiffrement par Bob :


C rypto cl secrte

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

Diffusion des cles publiques :


Infrastructure de Gestion des Cles
Web of trust

Authentification

Techniques :

mot de passe
challenge - reponse (CHAP)
biometrie
certificats

em preinte

D chiffrem ent em preinte


signature

C l prive

Prouver son identit


e

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-----

PGP - Liens utiles


OpenPGP - http://www.openpgp.org/
GNU Privacy Guard - http://www.gnupg.org/
PGP.com (Phil Zimmerman) - http://www.pgp.com
Enigmail (Plugin pour Mozilla/Thunderbird)
http://enigmail.mozdev.org/index.html

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

Content-Disposition: attachment; filename="smime.p7s"


MIIG7wYJKoZIhvcNAQcCoIIG4DCCBtwCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3
DQEHAaCCBKIwggSeMIIDhqADAgECAgIE/DANBgkqhkiG9w0BAQQFADA0MQswCQYD
[....]
jtsD
------F2F414CB86C93232A3F2D82F6E113F1E--

S/MIME - liens utiles


Infos generales :
http://www.dartmouth.edu/~pkilab/pages/Using_SMIME_e-mail.html
Groupe de travail IETF :
http://www.ietf.org/html.charters/smime-charter.html
Exemples avec OpenSSL :
http://www.bacus.pt/Net_SSLeay/smime.html
S/MIME dans Mozilla
http://www.mozilla.org/projects/security/pki/nss/smime/

S/MIME vs OpenPGP
Mandatory Features
Message format

S/MIME v3
Binary, based on CMS

Certificate format

Binary, base on X.509v3

Symmetric encryption algorithm


Signature algorithm
MIME encapsulation
of signed data
MIME encapsulation
of encrypted data

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).

IPsec - protocole au niveau transport. Voir tutorial `a cote.

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. . .

SSL - Concepts de base

Secure Socket Layer


Une couche au dessus de TCP qui assure :

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

Services sur SSL


Ports dedies :
Protocole
securise
HTTPS
SSMTP
SNNTP
SSL-LDAP
IMAPS
SPOP3
FTPS
TELNETS

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

Au dessus dun service existant (STARTTLS - RFC2487) :


SMTP

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

Cocher Use secure connection (SSL)

Acc`
es distant `
a la messagerie : Outlook
Menu OutilsOptions Onglet Avanc
e

Acc`
es distant `
a la messagerie : Eudora 1/2

Necessite la version 5.2


proprietes du compte Dominant ,
onglet incoming mail ,
configuration Secure Socket :
Required, alternate Port

(Pas de SMTP+STARTTLS).

Acc`
es distant `
a la messagerie : Eudora 2/2

Cliquer Certificat Information Manager

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).

sendmail SMTP AUTH


Base sur la biblioth`eque dauthentification SASL. RFC 2554.
Permet dautoriser le relayage apr`es authentification par mot de passe ou bien
challenge/reponse (CRAM-MD5).
Clients supportes : Netscape, Outlook, Apple Mail, Eudora ( ?)
Probl`eme : base dauthentification separee...

Tunnel SSH
Firew all
serveurPO P

clientPO P
1

3
TunnelSSH

clientSSH

OK

serveurSSH

2
C lient

Serveur

Commande pour creer un tunnel SMTP :


ssh -f -N -L 25 :smtpserver.example.net :25 [email protected]

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

Exemple de mise en place dun


serveur

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 configuration en compilation


http://www.openssl.org/
./config no-threads no-shared no-idea --prefix=/usr/local \
--openssldir=/usr/local/share/openssl
make
make install

Supprime IDEA (algo brevete - non libre pour usage commercial)


Pas de biblioth`eque partagee

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.

SASL configuration et compilation


Recuperer SASL v1 : http://asg.web.cmu.edu/sasl/
./configure --enable-login
make
make install
Installation dans /usr/local/lib/sasl. Creer un lien symbolique dans
/usr/bin/sasl.

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.

Sendmail - compilation (2)


Executer :
./Build
./Build install
Installer libmilter dans /usr/local/lib
cd libmilter
./Build
./Build install

Sendmail fichier de configuration


Dans cf/cf/mysite.mc
Mimedefang
INPUT_MAIL_FILTER(mimedefang,
S=unix:/var/spool/MIMEDefang/mimedefang.sock,T=S:1m;R:1m)
STARTTLS
define(CERT_DIR, MAIL_SETTINGS_DIRcerts)
define(confCACERT_PATH, CERT_DIR)
define(confCACERT, CERT_DIR/CNRS.pem)
define(confSERVER_CERT, CERT_DIR/mycert.pem)
define(confSERVER_KEY, CERT_DIR/mykey.pem)
define(confCLIENT_CERT, CERT_DIR/mycert.pem)
define(confCLIENT_KEY, CERT_DIR/mykey.pem)
SASL
dnl Allow relaying based on SMTP AUTH
TRUST_AUTH_MECH(CRAM-MD5)

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

Pour utilisateurs de Eudora en versions francaises :


# QUALCOMM Eudora
header __FR_EUDORA \
X-Mailer =~ /\bEudora\s+(?:(?:Pro|Light)\s+)?F[1345]\.[0-9a-z.]+\b/
# Note: uses X_LOOP and X_MAILING_LIST as subrules
meta FORGED_MUA_EUDORA (__EUDORA_MUA && !__EUDORA_MSGID &&
!__UNUSABLE_MSGID && !X_LOOP && !X_MAILING_LIST && !__MAC_EUDORA_MUA
&& !__OLD_EUDORA1 && !(__OLD_EUDORA2 && !__QUALCOMM) && !__FR_EUDORA)

File Scan : installation


http://www.cpan.org/authors/id/H/HD/HDIAS/
Derni`ere version : 0.68
perl Makefile.PL
make
make install

Mimedefang - installation (1/2)


Pr
e-requis :
Les modules Perl suivants :
MIME::tools 5.410
IO::Stringy 1.212
MIME::Base64 2.11
MailTools 1.1401
Digest::SHA1 2.00
Un utilisateur defang pour executer le demon sans privil`eges
./configure
make
make install
Cr
eer :
/etc/mail/mimedefang-filter - r`egles de filtrage
/var/spool/MIMEDefang (propriete de defang, mode 700).

Mimedefang - installation (2/2)


 Lancer les d
emons mimedefang avant Sendmail
Utiliser le script fournit dans examples/init-script
 Configuration de SpamAssassin pour Mimedefang
fichier /etc/mail/spamassassin/sa-mimedefang.cf
 Relancer sendmail
 Maintenance
Apr`es modification de mimedefang-filter, envoyer SIGHUP au processus
mimedefang-multiplexor

TLS : installation des certificats


Remplir /etc/mail/certs :
Utiliser un CNAME DNS : mail.example.net
Demander un certificat de serveur CNRS-Standard
(ou generer un certificat auto-signe).
Copier mail.example.net.crt /etc/mail/certs/mycert.pem
Copier mail.example.net.key /etc/mail/certs/mykey.pem
Copier CNRS.pem et CNRS-standard.pem dans /etc/mail/certs
Copier le contenu de /usr/local/openssl/certs/ dans /etc/mail/certs
Executer :
cd /etc/mail/certs
make update

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

TLS Test du serveur sendmail


Test :
telnet localhost 25
EHLO localhost
...
250-ETRN
250-STARTTLS
...
quit
Dans les logs :
Oct 17 15:03:16 mail sm-mta[19841]: [ID 702 mail.info]
STARTTLS=server, relay=test.example.net [192.9.200.20],
version=TLSv1/SSLv3, verify=OK, cipher=RC4-MD5, bits=128/128

SASL - configuration
Utiliser saslpasswd pour creer des utilisateurs. Exemple :
saslpasswd -u mail.example.net alice

Configuration du serveur IMAPS


Avec le serveur IMAP de lUniversite de Washington :
http://www.washington.edu/imap/
ftp://ftp.cac.washington.edu/imap/imap-2002e.tar.Z
Utilise les botes `a lettres format Unix sur le serveur,
dans les repertoires des utilisateurs.
Avantages :
pas de modification du serveur SMTP
cohabitation avec tous types de clients de messagerie
cohabitation avec un serveur POP possible
Petits probl`
emes :
pas tr`es rapide (probl`eme avec grosses botes `a lettres)
quelques soucis de verrouillage si utilise avec NFS

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

Vous aimerez peut-être aussi