Precedent Haut Suivant


6.3.4 -  Les serveurs de messagerie :

Le courrier électronique est le service le plus répandu sur un réseau, du fait de son utilisation courante par la quasi-totalité des utilisateurs d’un réseau. C’est également l’un des services les plus vulnérables.

Le serveur de courrier se compose de trois parties :

-                     un serveur, qui reçoit le courrier ou l’envoie ;

-                     un agent de livraison, qui met le courrier dans la boîte de son destinataire ;

-                     un agent utilisateur, qui permet à l’utilisateur de lire son courrier et d’en écrire.

Trois types d’attaques sont susceptibles d’agir contre un serveur de courrier :

-                     l’attaque par canal de commandes : le serveur est vulnérable aux attaques par les commandes qu’il reçoit de l’extérieur ;

-                     l’attaque par biais de données : l’agent utilisateur et l’agent de livraison sont sensibles aux messages eux-mêmes ;

-                     le bogue de lignes de commandes : un programme peut faire l’objet d’une manipulation frauduleuse par quelqu’un qui arriverait à le contrôler.


6.3.4.A -  Les aspects protocolaires :

6.3.4.A.1 -  SMTP :

Les échanges de courrier entre serveurs sont en général gérés par le protocole Simple Mail Transfert Protocol. Le serveur SMTP examine l’adresse de destination du courrier et va le relayer vers un autre serveur ou va le délivrer en local, dans les deux cas après avoir modifié les entêtes.

6.3.4.A.2 -  POP :

POP ( Post Office Protocol) est un protocole client-serveur, qui permet à un utilisateur d’accéder à son courrier électronique à partir d’une machine cliente, alors que le courrier est sur un serveur distant.

Les problèmes de sécurité du protocole POP se posent sur le manque de confidentialité lors des échanges de données, telles que le mot de passe utilisé pour se connecter, ou bien le texte du courrier qui est consulté.

On tolère les connexions POP sortantes, mais pas celles entrantes. C’est le cas lorsqu’un utilisateur consulte sa messagerie (sur le serveur) depuis l’extérieur. Ici aussi se pose le problème de la confidentialité des échanges. S’il est nécessaire d’utiliser des connexions POP entrantes, on va chercher à limiter ces connexions sur un seul serveur tournant sur un seul hôte, afin de limiter la quantité d’informations qui passe, mais également le nombre de comptes clients vulnérables.

6.3.4.A.3 -  MIME :

Le mécanisme MIME (Multimédia Internet Mail Extensions) permet de supporter des données contenues dans des messages qui ne soient pas du texte ASCII (comme des images, du son, l’utilisation de fontes diverses, etc.).

Bien qu’utilisé, à l’origine, pour les systèmes de messagerie, la principale utilisation de MIME se fait au niveau des navigateurs Internet et des serveurs Web, pour décrire le format de chaque page. En conséquence de quoi les faiblesses de MIME sont celles qui se posent pour un serveur Web.

6.3.4.B -  Le serveur SENDMAIL :

Le serveur SENDMAIL est un agent de transfert de messages utilisé sur de nombreux systèmes UNIX. SENDMAIL est un serveur extensible hautement configurable et de paramétrage relativement complexe. SENDMAIL et ses protections de sécurité ont beaucoup progressé ces dernières années mais cela reste un programme énorme comptant plus de 80 000 lignes de code. Dès lors, les probabilités de trouver de nouvelles vulnérabilités de sécurité du logiciel SENDMAIL restent élevées (la dernière vulnérabilité découverte date du mois de février 2003 avec un accès root possible via un débordement de tampon !!!).

6.3.4.C -  Le serveur POSTFIX :

Le programme Postfix est un système complexe. La version initiale est composée de 30,000 lignes de code (après suppression des commentaires). Avec un système aussi complexe, la sécurité ne peut dépendre d'un seul mécanisme. Dans le cas contraire, une seule erreur peut suffire à compromettre tout le système. Par conséquent, Postfix utilise plusieurs lignes de défense pour maîtriser les dommages issus des logiciels et autres erreurs. Cet ensemble de programmes est un exemple de développement prenant en compte la sécurité dès la conception et très peu de vulnérabilités ont été découvertes.

6.3.4.C.1 -  Principe du moindre privilège :

La plupart des démons de Postfix peuvent être lancés avec de faibles privilèges dans un environnement encagé (chroot). C'est particulièrement vrai pour les programmes visibles du réseau : le serveur et le client SMTP. Bien que le mécanisme chroot même combiné avec des privilèges restreints, ne soit pas une garantie contre la compromission, il ajoute un obstacle considérable.


6.3.4.C.2 -  Cloisonnement des processus :

Le programme Postfix utilise des processus séparés pour isoler l'activité de chacun. En particulier, il n'y a aucun chemin direct entre le réseau et le programme sensible du point de vue de la sécurité : l'agent local de livraison. Un intrus doit passer au travers de plusieurs programmes. Certaines parties du système Postfix utilisent de multiples threads. La séparation des processus fournit un meilleur cloisonnement que de multiples threads avec un espace mémoire partagé.

6.3.4.C.3 -  Environnement contrôlé :

Aucun programme de livraison du programme Postfix ne fonctionne sous le contrôle d'un processus d'utilisateur. Au lieu de cela, la plupart des programmes sont sous le contrôle d'un programme résident principal qui lui-même fonctionne dans un environnement contrôlé, sans aucune relation parent-enfant avec les processus utilisateurs. Cette approche élimine les vulnérabilités sur les signaux, les fichiers ouverts, les variables d'environnement et autres attributs de processus que le système UNIX passe depuis un parent potentiellement malveillant à un processus fils.

6.3.4.C.3.a -  Mécanisme Set-uid :

Aucun programme de Postfix n'utilise le dispositif set-uid. L'introduction de ce concept fut une énorme erreur commise dans l'histoire d'Unix. Le mécanisme du Set-uid cause plus d'ennui qu’il n’apporte d’avantages.

6.3.4.C.4 -  Gestion de la confiance dans le contenu des fichiers :

Les programmes de Postfix n'accordent aucune confiance aux données reçues depuis le réseau. En particulier, Postfix filtre les données issues de l'expéditeur avant de les exporter via des variables d'environnement.

6.3.4.C.5 -  Gestion de grands volumes de données :

De manière à prévenir les vulnérabilités de débordement de tampon, les programmes Postfix allouent dynamiquement la mémoire et les buffers nécessaires à son fonctionnement.

 

Les longues lignes d'un message entrant sont coupées en séquences de taille raisonnable et sont reconstruites à la livraison.

 

Les diagnostics sont tronqués (en un seul endroit!) avant d'être passés à l'interface syslog, afin de prévenir les débordement de tampon sur les anciennes plateformes. Cependant, aucune donnée n'est tronquée avant d'être passée à un appel système ou une routine. Sur certaines plateformes, le logiciel peut malgré tout avoir des problèmes de débordement de tampon, suite à des vulnérabilités dans le logiciel sous-jacent.

 

Il est à noter qu’aucune tentative n'est faite pour se protéger contre les trop longs arguments en ligne de commande.

6.3.4.C.6 -  Autres défenses mises en place par Postfix :

Le nombre d'instances en mémoire de chaque type d'objets est limité, pour éviter au système de mail de ployer sous la charge. En cas de problème, le logiciel fait une pause avant d'envoyer une réponse d'erreur au client, avant de se terminer avec une erreur fatale ou avant de tenter de redémarrer un programme ayant échoué. Le but est de prévenir les états d'emballement.


6.3.4.D -  Le serveur Exchange 2000 :

Le logiciel Exchange 2000 Server de Microsoft offre plusieurs fonctionnalités de sécurité et tire profit des fonctionnalités de sécurité Windows pour le contrôle d'accès et l'audit.

6.3.4.D.1 -  Utilisation de la sécurité Windows :

Exchange 2000 Server est pleinement intégré au modèle de sécurité de Windows 2000. À l'aide de Microsoft Active Directory, un administrateur qui dispose de tous les droits au sein de l'organisation Exchange peut assigner des tâches d'administration particulières à des subordonnés au sein de toute l'organisation ; par exemple, un administrateur de boîte aux lettres peut être en mesure de créer de nouveaux comptes et de changer les autorisations pour les boîtes aux lettres, mais ne pas être autorisé à modifier les propriétés d'un connecteur.

Windows 2000 fournit une authentification Kerberos unique à la connexion, ce qui évite d'avoir à maintenir un schéma d'authentification séparé et des informations d'identification utilisateur pour le système de messagerie. Kerberos garantit que les mots de passe ne sont jamais transmis via un réseau en texte clair.

6.3.4.D.2 -  Mécanisme de protection contre les attaques de dénis de service :

Au sein du logiciel Exchange 2000, il est possible de spécifier un nombre maximal de connexions simultanées ainsi qu'une taille maximale et un nombre maximal de messages pouvant être envoyés pour chaque connexion. Il est également possible  d’établir des stratégies coût-routage, définir des limites de taille pour les messages électroniques et les boîtes aux lettres et limiter le nombre maximal de destinataires pour chaque message. Ces fonctionnalités peuvent permettre de limiter les risques contre les attaques de déni de service.

6.3.4.D.3 -  Sécurisation des accès clients :

L'accès aux systèmes de messagerie Exchange Server se fait la plupart du temps via les stations de travail clientes. Fournir une sécurité aux clients est tout aussi important que fournir une sécurité aux serveurs, messages électroniques et réseaux.

Étant donné que Exchange 2000 Server utilise le modèle de sécurité Windows, y compris l'authentification Kerberos, il est possible de limiter l'accès aux stations de travail à l'aide des mêmes comptes et groupes de sécurité que ceux utilisés pour spécifier l'accès aux ressources Exchange. Il est également possible de limiter les emplacements et les horaires d'accès.

Contrairement aux ordinateurs qui exécutent Exchange, les ordinateurs clients ne sont probablement pas dans un emplacement physiquement sécurisé. De manière à empêcher l'accès non autorisé aux messages électroniques stockés sur les ordinateurs clients, il est possible de stocker les fichiers de données clients sur des volumes qui utilisent le système de fichiers de fichiers encryptés de Windows 2000.

6.3.4.D.3.a -  Sécurisation des liaisons clients/serveur :

Exchange 2000 bénéficie des possibilités d’utilisation de VPN et/ou IPSec offertes par Windows 2000.

6.3.4.D.3.b -  Sécurité des liaisons applicatives clients/serveur :

Exchange 2000 prend en charge SSL/TLS pour l'authentification et le chiffrement entre client et le serveur au niveau des applications. Les applications clientes Exchange qui peuvent communiquer au moyen de TLS ou SSL peuvent être configurées pour utiliser ces protocoles pour les connexions en mode WebMail, POP version 3, IMAP version 4rev1, NNTP et LDAP.

6.3.4.D.4 -  Sécurisation des messages échangés :

Exchange 2000 Server offre la possibilité de signer et/ou de chiffrer les messages à l'aide du protocole standard S/MIME (cf. paragraphe 7.2.7 - ). De plus, Outlook prend en charge les plug-ins clients tiers pour la méthode PGP (cf paragraphe 7.2.2 - ) et autres méthodes de chiffrement.


6.3.4.E -  Le serveur Lotus Notes :

La sécurité a toujours été le secteur préférentiel de positionnement des logiciels Lotus. La version 6 du logiciel Lotus Notes ne déroge pas à la règle en mettant en place un certain nombre de dispositifs de sécurité dont les principaux sont listés ci-dessous :

-                     Lotus Notes implémente une infrastructure de gestion de clés sur l’ensemble des dispositifs de messagerie : tous les messages envoyés entre serveurs sont ainsi automatiquement chiffrés ;

-                     Lotus Notes permet la mise en place de listes de contrôle d’exécution (ECL pour Exécution Control Lists) permettant de définir le domaine d’exécution (serveur, application, ressources réseau) dans lequel un programme exécutable ou un script peut s’exécuter ;

-                     Lotus Notes permet la mise en place de politiques de sécurité permettant de définir l’ensemble des paramètres de sécurité (emplacement des certificats utilisables dans l’IGC, méthodes d’authentification des utilisateurs, …).

-                     Lotus Notes implémente un certain nombre de dispositifs permettant de lutter contre les messages indésirables (SPAM).

 

Ce logiciel de messagerie présente un grand nombre d’avantages d’un point de vue sécurité. Toutefois le choix de construire un logiciel présentant plusieurs dizaine de milliers de lignes de code se retourne quelquefois contre la société : un certain nombre de vulnérabilités sont régulièrement découvertes sur Lotus Notes obligeant les sociétés à effectuer des mises à jour de sécurité fréquentes (sans parler des mises à jour logicielles elles mêmes particulièrement nombreuses).


Precedent Haut Suivant