Precedent Haut Suivant


6.3.3 -  Les serveurs Web :

6.3.3.A -  Les aspects protocolaires :

Le protocole HTTP est utilisé principalement pour le trafic Internet, c’est à dire le trafic du World Wide Web. HTTP est le protocole de base du Web. Pour spécifier les connexions (parfois même d’un autre type que HTTP), on utilise une notation uniforme et cohérente, appelé URL (Uniform Resource Locator). HTTP est un service TCP. La plupart des serveurs écoute sur le port 80, mais ce n’est pas une obligation.

6.3.3.A.1 -  Risques du protocole :

Les risques qui peuvent être engendrés via HTTP se posent à deux niveaux :

-                     d’un client malveillant vers un serveur HTTP,

-                     d’un serveur HTTP malveillant à un client HTTP.

Un attaquant est susceptible de faire subir à un serveur HTTP ce qu’il ferait subir à n’importe quel serveur, qu’il s’agisse d’accéder à des données privées, ou d’obtenir des droits particulier. Une restriction des données présentes sur le serveur et une bonne configuration vont permettre de limiter les risques de ce type.

 

Il existe cependant une caractéristique spéciale des serveurs HTTP: ceux-ci utilisent souvent des programmes externes notamment des scripts CGI (Common Gateway Interface). Pour ces programmes, un agresseur va vouloir les tromper pour les utiliser à ses fins. Il peut également vouloir installer ses propres programmes et les faire exécuter sur le serveur.

Les problèmes de sécurité des clients HTTP sont plus complexes que pour les serveurs, essentiellement parce que ces clients ont été conçus pour être extensibles et pour lancer des programmes externes, dont le rôle sera de traiter certains types de données (comme faire du streaming vidéo). Un agresseur va tenter de tirer avantage de ces fonctionnalités, ou bien de faire en sorte que l’utilisateur du programme client modifie sa configuration ou ajoute des programmes spécifiques (fournis par l’agresseur sous une fausse raison), tout cela dans le but d’utiliser le client HTTP comme l’agresseur le souhaite.

6.3.3.B -  Le serveur Apache :

Il existe un grand nombre de logiciels, gratuits ou non permettant de remplir les fonctionnalités attendues d’un serveur Web. Néanmoins, les deux logiciels phares sont :

-                     Le serveur Web Apache [1]avec plus de 62,5% du marché des serveurs installés,

-                     Le serveur Internet Information Server de Microsoft avec environ 27,5% du marché.

La présente étude est donc focalisée sur ces deux logiciels.

6.3.3.B.1 -  La vulnérabilité par validation d’entrée :

Une attaque par validation d’entrée se produit lorsque :

-                     un programme ne parvient pas à reconnaître une entrée incorrecte du point de vue de la syntaxe ;

-                     un module ne parvient pas à traiter des champs d’entrée manquants ;

-                     une erreur de corrélation de valeur de champ se produit.

Il existe un certain nombre de possibilités permettant l’exploitation d’une vulnérabilité par validation d’entrée. Un cas typique permettant de décrire cette vulnérabilité est le cas de l’interface PHF. PHF est un script CGI qui est devenu un standard avec les premières versions du serveur Web Apache. La version originale de PHF acceptait le caractère de retour à la ligne (%0A) et exécutait toute commande subséquente avec les droits de l’utilisateur exécutant le serveur Web.

6.3.3.C -  Le serveur Internet Information Server (IIS) version 5 :

La version 5 d’Internet Information Server intégré au système d’exploitation Windows 2000 bénéficie des progrès de sécurité de ce système d’exploitation tout en offrant un certain nombre de fonctionnalités spécifiques.

6.3.3.C.1 -   Mécanismes et protocoles de sécurité supportés par IIS 5 :

Les protocoles de sécurité d’IIS 5.0 sont les suivants :

-                     Fortezza :

ð        prend en charge les normes de sécurité du gouvernement américain et repose sur l’architecture DMS (Defense Message System). Celui-ci permet de protéger la confidentialité, l’intégrité, l’authentification ainsi que la non-répudiation et de contrôler l’accès aux messages et aux composants et aux systèmes. Ces fonctions sont installées avec les logiciels du serveur et du navigateur.

-                     SSL/TLS

-                     PKCS #7 :

ð        ce protocole décrit le format des données chiffrées, notamment les signatures ou les enveloppes numériques, contenant des informations sécurisées. Les deux sont des fonctions de certificat d’IIS.

-                     PKCS #10 :

ð        ce protocole décrit le format des requêtes de certificats soumises aux autorités de certification.

-                     Authentification de base :

ð        l’authentification de base fait partie de la spécification HTTP 1.0. Elle envoie des mots de passe au format encodé Base64 via les réseaux. L’authentification de base est une méthode standard très utilisée pour collecter des informations sur les noms d’utilisateur et sur les mots de passe. L’avantage de l’authentification de base est qu’elle fait partie de la spécification HTTP et qu’elle est prise en charge par la plupart des navigateurs. L’inconvénient est que les navigateurs Web utilisant l’authentification de base transmettent des mots de passe non chiffrés.

-                     Authentification Digest :

ð        l’authentification Digest, offre les mêmes fonctions que celles de l’authentification de base mais utilise une méthode de hachage pour transmettre les autorisations d’authentification. Le serveur génère des informations supplémentaires qui sont ajoutées au mot de passe avant le hachage, de façon que personne ne puisse capturer le hachage du mot de passe et l’utiliser pour se faire passer pour le vrai client. Cette méthode est plus sûre que l’authentification de base, au cours de laquelle le mot de passe peut être intercepté et utilisé par une personne non autorisée.

Les mécanismes de sécurité implémentés au sein d’IIS 5 sont les suivants :

-                     authentification des utilisateurs ;

-                     utilisation de certificats ;

-                     contrôle d’accès ;

-                     chiffrement des données ;

-                     audits des activités.

6.3.3.C.1.a -  Authentification des utilisateurs :

Les authentifications prises en charge par IIS 5.0 sont les suivantes :

-                     Authentification anonyme :

ð        cette méthode permet aux utilisateurs d’accéder aux domaines publics du site Web ou FTP sans présentation d’un nom d’utilisateur ou d’un mot de passe. Si l’authentification anonyme est activée, IIS essaiera toujours, dans un premier temps, d’authentifier avec cette technique, même si d’autres méthodes sont également activées. Lorsqu’un utilisateur tente de se connecter à un site Web ou FTP, le  serveur Web lui affecte un compte d’utilisateur Windows nommé IUSR_nom_ordinateur, dans lequel nom_ordinateur est le nom du serveur IIS.

-                     Authentification FTP de base :

ð        pour établir une connexion FTP avec le serveur Web par l'intermédiaire de l’authentification FTP de base, les utilisateurs doivent se connecter avec un nom d’utilisateur et un mot de passe correspondant à un compte d’utilisateur Windows valide. La transmission des informations de connexion est faite de manière non chiffrée.

-                     Authentification FTP anonyme :

ð        le serveur FTP peut être configuré pour accorder l’accès anonyme aux ressources FTP. Si l’authentification FTP anonyme est activée, IIS essaiera toujours, dans un premier temps, d’utiliser cette technique, même si l’authentification de base est activée. Si cette méthode d’authentification est retenue pour une ressource, toutes les requêtes visant cette ressource seront acceptées sans que l’utilisateur ait besoin d’un nom d’utilisateur ou d’un mot de passe.

-                     Authentification intégrée dans Windows :

ð        connue sous l’appellation d’authentification par question/réponse Windows NT ou NTLM dans les versions précédentes d’Internet Information Server, l’authentification intégrée de Windows est une méthode sûre, dans la mesure où le nom d’utilisateur et le mot de passe ne sont pas envoyés sur le réseau. Au lieu de cela, le navigateur de l’utilisateur prouve qu’il connaît le mot de passe par le biais d’un échange cryptographique avec le serveur Web (éventuellement à l’aide de connexions Kerberos).

ð        l’authentification intégrée Windows présente deux limites :

§      D’une part, seul Microsoft Internet Explorer version 2.0 ou ultérieure prennent en charge cette méthode d’authentification.

§      D’autre part, l’authentification intégrée Windows ne fonctionne pas avec les connexions Proxy HTTP.


6.3.3.C.1.b -  Utilisation de certificats :

Internet Information Server v5 permet la mise en place de communications SSL v3 (présence d’un certificat coté serveur et coté client).

6.3.3.C.1.b.1° -  Stockage des certificats :

Internet Information Server présente une grave erreur de conception concernant la zone de stockage des certificats. En effet la seule possibilité offerte par Microsoft est la zone de stockage CryptoAPI excluant par la même tout dispositif matériel.

6.3.3.C.1.c -  Contrôle d’accès :

IIS 5.0 utilise deux niveaux de contrôle d’accès : les autorisations Web et les permissions NTFS. Les autorisations Web s’appliquent à tous les clients HTTP et déterminent quels sont les verbes HTTP pouvant être utilisés pour accéder aux ressources du serveur. Les autorisations NTFS définissent le niveau d’accès aux répertoires et aux fichiers du serveur pour chaque compte d’utilisateur.

6.3.3.C.1.d -  Chiffrement des données :

Internet Information Server permet l’établissement de communications SSL chiffrées sur 128 bits.

6.3.3.C.1.e -  Audit des activités :

Les administrateurs peuvent utiliser des techniques d’audit de sécurité pour surveiller différents utilisateurs et l’activité de sécurité du serveur Web. La procédure d’audit consiste à créer des stratégies de surveillance pour l’accès aux fichiers et aux répertoires ou pour les événements du serveur. Elle consiste également à surveiller les journaux de sécurité afin de détecter toute tentative d’accès par des personnes non autorisées.

6.3.3.D -  Comparaison Apache / Internet Information Server :

L’ensemble des fonctionnalités présentes sur Internet Information Server peut être retrouvé sur Apache (à l’exception du support du langage de développement de pages dynamiques ASP propriétaire Microsoft). La conception modulaire du système Unix, système d’exploitation de prédilection d’Apache (la version Windows du logiciel Apache ne peut être réellement considérée comme sérieuse) font du couple Unix/Apache la seule réelle solution sécurisée de serveur Web. Le nombre d’attaques découvertes régulièrement sur Internet Information Server font que ce logiciel ne doit être retenu que pour sa simplicité d’administration (à l’inverse d’Apache) et dans le cas d’un passif important en langage ASP.


Precedent Haut Suivant