Social Icons

samedi 17 août 2013

Serveur web Internet Information Services IIS

Introduction



Microsoft propose dans toutes les versions de Windows 2003 Server une nouvelle version des services Internet Information Services (IIS), la version 6.0.




Pour rappel, il existe 4 éditions de Windows 2003 Server :
L'architecture IIS 6.0 a subit de nombreuses modifications par rapport à ses prédécesseurs. Ces modifications ont apporté des améliorations sensibles au niveau de :

  • La sécurité
  • La fiabilité
  • Les performances
  • La gestion

Il n'est donc pas étonnant que certaines applications Web fonctionnant sous Windows 2000 avec IIS 5.0 ne fonctionnent pas sous IIS 6.0. C'est pour cela qu'il existe un Mode isolation IIS 5.0 (mode par défaut lors d'une mise à jour de IIS 5.0 vers IIS 6.0) permettant à ces applications de fonctionner.

La première version d’IIS a vu le jour en 1996 avec Windows NT 4.0. Plusieurs années plus tard (en l'an 2000), Microsoft intégra une version revue au sein de son nouveau système : Windows 2000 Server. Cette édition d’IIS était installée par défaut en même temps que l'OS.  Cela participa à sa diffusion sur le marché mondial mais posa de nombreux problèmes de sécurité (notamment mis en évidence par le ver NIMDA).

Contrairement, donc, aux versions antérieures, IIS 6.0 n’est pas installé par défaut avec Windows server 2003. En outre, Windows Server 2003 a une nouvelle « stratégie de groupe »  sur les serveurs dans une forêt d’AD (Active Directory) qui ne sont pas destinés à être des serveurs Web.

Architecture 


L'architecture de IIS 5.0 est organisée autour d'un seul processus : Inetinfo.exe. Comme tout processus, Intetinfo utilise nécessairement un espace mémoire qui se trouve partagé avec toutes les applications Web. Comme tout le monde a pu rapidement s'en apercevoir, ce mode de fonctionnement pose un problème de fiabilité. Lorsque ce processus implémente une application Web mal écrite qui s'alloue trop de ressources ou qui ne répond plus, cela remet en cause tout le fonctionnement du serveur Web et peut nécessiter le redémarrage du serveur Web et donc l'arrêt de toutes les applications du serveur Web.

Niveau sécurité, le processus Inetinfo fonctionne avec des privilèges systèmes, ce qui présente une faille de sécurité si un code malicieux est lancé. Par la suite Microsoft a adapté une autre fonctionnalité au service IIS 5.0 qui permet de faire fonctionner les applications en mode out-of-process (dllhost.exe).  Ce mode permet de tout faire fonctionner dans des processus et des espaces de mémoires séparés. En théorie, l'idée est intéressante mais en pratique, elle a démontré une lenteur de fonctionnement et n'a pas résolue le problème lié à la sécurité.


Caractéristique 

Le service pack 1 de Windows Server 2003 confirme cette tendance sécuritaire pour réduire encore la surface d’attaque et augmenter la sécurité de l’application (désactivation de l'accès anonyme par défaut, restriction des droits du compte SERVICE RESEAU....). Aucun service annexe tel ASP, extension Frontpage, ISAPI ou CGI ne sont installés par défaut de même que FTP, NNTP et SMTP, Webdav ou toutes les extensions dynamique possibles. Le serveur Web ne rend que du contenu statique
1) IIS 6.0 est conforme à la norme HTTP 1.1. il gère les protocoles TCP/IP, HTTP, FTP, SMTP, NNTP et les contrôles d'accès PICS. Il est administrable en ligne de commande et en mode graphique via une console MMC - Microsoft Management Console - qui héberge des programmes tels que le Gestionnaire des services Internet et supporte les accès Webdav pour la gestion des sites.
2) IIS peut être administré à distance par interfaces WMI et ADSI dans le cas de gestion,
par scripts, de plusieurs serveurs en même temps, ce qui n’est pas une garantie de sécurité.

3) Les configurations stockées dans les deux fichiers XML de métabase sont modifiables et éditables à chaud par un quelconque éditeur de texte. Vous pouvez modifier le fichier de métabase directement pendant l'exécution d'IIS. Les modifications sont alors immédiatement appliquées à la métabase en mémoire ce qui permet de ne pas redémarrer le service mais peut présenter, à première vu, une faille pour toutes personnes pouvant s’en emparer. Vous pouvez rapidement revenir à une version précédente de la métabase et éviter ainsi des interruptions de service prolongées. Le suivi automatique des modifications apportées à la métabase enregistre sur disque une copie de chaque version du fichier de métabase dans un dossier « historique ».

4) IIS 6.0 supporte IPV6 mais la limitation de bande passante n'est pas prise en charge pour les sites Web IPv6

5) Le chemin d’accès relatif aux répertoires parents est désactivé par défaut.

6) IIS permet d’attribuer une valeur de bande passante réservée sur le réseau. En tant qu'administrateur, vous pouvez aussi contrôler le niveau et la qualité du service offert à vos utilisateurs en utilisant l'implémentation des délais et des limites de connexion, des limites de longueur de file d'attente des pools d'applications et la comptabilisation des processus.

7) En mode isolation, IIS 6.0 permet d’isoler les applications de manière à ce qu'elles s'exécutent dans un processus (espace mémoire) séparé du serveur Web et des autres applications. Vous pouvez configurer IIS 6.0 de manière à ce qu'il s'exécute soit en mode d'isolation du processus de travail (par défaut à l’installation), où tous les processus sont exécutés dans un environnement isolé, soit en mode d'isolation IIS 5.0 où vous pouvez exécuter des applications Web non compatibles. En mode d'isolation du processus de travail, vous pouvez isoler n'importe quel élément (application Web isolée ou sites multiples) dans son propre processus de travail du service de publication WWW, empêchant ainsi un site ou une application d'en arrêter un autre. Pour contrecarrer les utilisateurs mal intentionnés et déjouer les attaques contre le système, vous pouvez configurer des pools d'applications et donc le processus de travail qu'ils contiennent, de manière à ce qu'ils s'exécutent sous un compte dont le niveau d'autorisation est inférieur à celui de Local System, le compte Service Réseau.


8) IIS 5.0 utilisait un compte local système, IIS 6 se connecte via le compte Service réseau qui possède des droits de beaucoup inférieurs. En effet, le compte anonyme crée uniquement un jeton utilisant ce compte Service réseau.

9) Dans des cas bien précis, il est possible d’autoriser uniquement certains répertoires ou certaines url à des comptes d’utilisateurs préétablis. Il faut pour cela désactiver le compte anonyme et utiliser l’option d’autorisation d’URL.
10) IIS permet l’installation d’un serveur FTP en mode isolation. L'isolation d'utilisateur FTP empêche les utilisateurs d'afficher ou d'écraser les contenus d'autres utilisateurs en limitant l'accès à leurs propres répertoires. Un utilisateur ne peut pas remonter dans l'arborescence, car le répertoire de premier niveau de l'utilisateur apparaît en tant que racine du service FTP.

11) IIS permet d'envoyer des messages d’erreur standards ou personnalisés. En termes de sécurité, les messages d'erreur personnalisés fournissent des commentaires moins informatifs que les messages d'erreur standard.

12) IIS permet d’utiliser la compression HTTP pour obtenir des transmissions plus rapides entre les navigateurs prenant en charge cette compression et le serveur. Vous pouvez compresser séparément les fichiers statiques ou les fichiers dynamiques .

13) IIS teste continuellement ses process W3WP.exe par des commandes ping régulières afin de vérifier leurs présences et les redémarrer automatiquement le cas échéant. Dans IIS 5.0 toutes les applications s’exécutaient dans une seule instance de processus. Dans IIS 6.0 les applications et sites web sont regroupés dans des pools d’applications. Chaque pool dispose d’un ou plusieurs processus exécutants (W3WP.exe) qui s’exécutent indépendamment les uns des autres. Si un des processus ou pools d’applications tombe, cela n’affectera pas les autres exécutants.

14) Http.sys est maintenant exécuté en mode noyau permettant entre autres :

  • Le filtrage des requêtes entrantes ; Http.sys analyse toutes les requêtes entrantes pour identifier tout ensemble de requêtes anormalement important qui pourrait signaler une tentative d’exploitation de mémoires tampon ou saturation de mémoires.
  • Une réaction en cas d’échec de processus exécutant ; si un processus échoue en raison d’une attaque de type saturation de mémoires, Http.sys peut être configuré soit pour arrêter ou redémarrer le processus.
  • L’amélioration de l’enregistrement ; Http.sys écrit dans le fichier journal avant qu’une requête ne soit traitée par un process, ce qui permet d’identifier la requête à l’origine de la panne du processus.
 

Installation

Pour installer IIS sur votre serveur à partir de Windows 2003 Server, vous avez deux possibilités :

Premier methode  A partir  Gérer votre serveur  


A partir de la console nommée « Gérer votre serveur » qui s'ouvre lors de votre premier démarrage ou que vous trouverez en suivant les menus : Démarrer, Programmes, Outils d'administration, Gérer votre serveur.


Ajouter ou supprimer un rôle. La fenêtre suivante, il vous faudra sélectionner Serveur d'applications (IIS,ASP.NET)



L'extension serveur FrontPage vous permet de manager votre serveur IIS à
partir des applications Microsoft FrontPage 2002 et SharePoint Team Services ou
Portal.





L'installation est terminée et votre serveur est prêt à tourner!

La deuxième méthode  a Partir Ajout/Suppression de programme

La deuxième méthode beaucoup plus complète et professionnelle, consiste à passer par Ajout/Suppression de programme à Ajouter ou Supprimer des Composants Windows
 





Vous constaterez que par défaut, pour des raisons de sécurité, aucun composant n'a été installé avec Windows 2003 Server à la différence de Windows 2000 Server où dans ce cas IIS était installé par défaut.   

Sélectionner « Serveur d'application » et double cliquer dessus pour voir apparaître les différentes options disponible
 




Le serveur d'application offre une panoplie de composants tel que vous le voyez ci-dessus. Nous nous intéresserons au Service IIS.
Double Cliquer sur IIS pour voir apparaître les différentes options


Extension serveur du transfert d'arrière plan (BITS)
Cette option est utile lorsque l'on a besoin d'implémenter un système de transfert de
données. En effet, en sélectionnant cette option, vous installez une extension qui permettra
aux clients Web d'utiliser la bande passante disponible pour les transferts de données. Il faut
noter que cette extension permettra aux personnes qui téléchargent des fichiers,
d'interrompre leur téléchargement et de le reprendre là où ils se seront arrêtées.
Fichiers communs
Les fichiers communs sont dépendants des services :
  • Service World Wide Web
  • Console du serveur d'applications
  • Gestion des services IIS
Il est plus que déconseillé de ne pas inclure ces Fichier communs si vous souhaitez installer
un de ces services.
Gestionnaire des Services IIS
Cette option vous permettra d'installer les composants logiques de IIS
enfichables dans une console MMC.
Impression par Internet
Les extensions permettent le partage d'impression via le Web mais également la
gestion d'imprimantes à partir d'applications Web.
Service FTP
Grand classique de IIS, installe le serveur FTP (Files Transfer Protocol)
Service NNTP
Service de News
Service SMTP
Service permettant l'envoi d'e-mail. Vous devez déjà avoir vu ce type de serveur
lorsque vous avez configuré votre boite e-mail.
Service Word Wide Web
L'installation de ce service vous permet de publier et de gérer vos sites Web.
Double cliquer sur l'option Service Word Wide Web pour afficher les différentes
options.
Le serveur Web ne peut pas publier des documents qui ne se trouvent pas dans les répertoires spécifiés.
 Chaque site Web ou FTP doit avoir un répertoire de base. Le répertoire de base est l'emplacement central où sont stockées les pages publiées. Il contient un fichier de page d'accueil ou d'index qui donne la bienvenue aux utilisateurs et contient des liens vers d'autres pages du site.
 Pour effectuer une publication à partir d'un répertoire non contenu dans le répertoire de base, il faut créer un répertoire virtuel. Un répertoire virtuel est un répertoire qui n'est pas contenu dans le répertoir de base, mais qui apparaît comme tel dans les navigateurs Clients
Un répertoire virtuel comporte un alias, qui est un nom utilisé par les navigateurs Web pour accéder à ce répertoire.
Un alias est :
généralement plus court que le nom du chemin d'accès du répertoire
          il est plus pratique à saisir pour les utilisateurs.
Un alias est plus sûr.
          En effet, les utilisateurs ne savent pas où vos fichiers sont stockés physiquement sur le serveur et ne peuvent donc pas utiliser cette information pour les modifier.
 Les alias vous permettent de déplacer plus facilement des répertoires dans votre site. Plutôt que de modifier l'URL du répertoire, vous modifiez la correspondance entre l'alias et l'emplacement physique du répertoire.
Un répertoire virtuel comporte un alias, qui est un nom utilisé par les navigateurs Web pour accéder à ce répertoire
Illustration :

Aucun commentaire :

Enregistrer un commentaire

Abonnez-vous par e-mail

Pour recevoire les nouvelles article