2. Présentation de la version 7.0 de IIS
2.1 Historique
La première version de IIS a vu le jour en 1996 avec Windows
NT 4.0 Server. Plusieurs évolutions rapidement vu le jour sous la forme de
service pack pour Windows NT (le serveur Web en était à sa version 4 en 1997).
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 de 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).

Brett Hill et Olga Londer entament la conférence par un bref historique sur
IIS
Avec Windows Server 2003 et Internet Information Services 6,
l'accent a été mis sur la sécurité et la stabilité (création des pools
d'application pour isoler les sites Web les uns des autres et mieux gérer les
ressources système, le composant n'est plus installé par défaut...). Le service
pack 1 de Windows Server 2003 confirme cette tendance étant donné que de
nombreux paramètres ont été modifiés pour réduire encore la surface d'attaque
et
augmenter au maximum la sécurité de l'application (désactivation de l'accès
anonyme par défaut, restriction des droits du compte SERVICE RESEAU....).
2.2 Les possibilités de IIS sous Windows Server 2003
La version actuelle de IIS propose de nombreuses
fonctionnalités comme la mise en place d'un serveur Web (protocoles HTTP / HTTPs),
d'un serveur FTP, d'un serveur de newsgroups via le protocole NNTP mais aussi
d'un serveur de messagerie (SMTP / POP3). Un serveur exécutant IIS peut aussi
faire office de passerelle SMTP et éventuellement filtrer les emails pour
bloquer les courriers non sollicités encore appelés SPAM (pour cela le composant
filtreur de message inclut dans ISA Server 2004 doit être installé sur le
serveur IIS) !
 |
Grâce au support de nombreux langages Web "dynamiques" comme
le PHP, l'ASP ou bien encore l'ASP .Net, IIS peut facilement héberger de
nombreuses applications Web totalement indépendantes les unes des autres ! Les
services IIS 6.0 sont d'ailleurs parfaitement adaptés à l'implémentation d'un
serveur multi-sites notamment grâces aux pools d'applications qui permettent de
gérer les ressources systèmes (utilisation du processeur, de la mémoire vive...)
et fournissent une grande stabilité au serveur (lorsque l'un des sites Web
hébergé "plante", cela n'affecte aucunement les autres sites à partir du moment
où des pools d'applications différents sont utilisés !).
Autre avantage primordial : la sécurité à été fortement
améliorée de puis IIS 5.0 notamment grâce à l'utilisation par défaut d'une
configuration plus stricte. Ainsi lorsque IIS 6.0 est installé aucun composant
(ASP, ASP .Net, Webdav...) n'est activé par défaut ce qui permet d'une parte de
réduire la surface d'attaque et d'autre part d'éviter de surcharger le serveur
avec des services inutiles. L'accès anonyme est d'ailleurs désactivé par défaut;
c'est pourquoi il faut explicitement activer l'accès anonyme lorsque l'on
souhaite qu'un site Web soit accessible du public ! |
Enfin la gestion des services IIS est facilitée via la
console MMC (qui autorise la configuration à distance) mais aussi grâce à
l'intégration d'une multitude d'assistants qui facilitent la vie de
l'administrateur. On peut notamment citer l'assistant permettant la gestion des
certificats (cet assistant permet de créer et d'envoyer une demande de
certificat, de sauvegarder la clé publique associée à un certificat, d'installer
un certificat existant en parcourant la liste directement sur l'autorité de
certification...).
2.3 Les problèmes rencontrés avec Internet Information Services 6.0
L'un des principaux problème de IIS 6.0 est lié à sont
architecture monolithique (tout est basée sur une seule et même DLL). Pour
rajouter des fonctionnalités au serveur, il faut donc rééditer ce fichier de qui
s'avère fastidieux. De plus il est impossible de supprimer certaines
fonctionnalités lorsqu'elles sont inutiles en désactivant la DLL étant donnée
que cela affecterait toutes les autres fonctions !
Cette architecture empêche aussi les utilisateurs finaux de
modifier et de personnaliser les services IIS (seules les équipes de
développements de Microsoft et certains partenaires privilégiés sont à même de
modifier le code de IIS 6.0). La seule méthode permettant l'ajout de
fonctionnalités est donc le système de filtres ISAPI qui n'est pas exempt de
défaut comme nous le verrons un peu plus tard.
Le principal inconvénient de la version actuelle d'Internet
Information Services est donc son manque d'évolutivité et le faible champ
d'action de l'utilisateur sur le serveur !
2.4 Les nouvelles fonctionnalités de IIS 7.0
L'une des principales nouveautés de IIS 7.0 concerne le cœur de l'application
en elle-même étant donné que la structure monolithique des précédentes versions
est abandonnée au profit d'un système de modules indépendants. Plus de quarante
composants seront ainsi disponibles lors du lancement de la version finale du
produit. Ce système décentralisé offrira de nombreux avantages :
-
mise en place de serveurs plus performants en chargeant
uniquement les composants nécessaire en mémoire
-
configuration de serveurs sécurisé en désactivant tous
les composants inutiles (le but est toujours de réduire la surface
d'attaque)
-
implémentation de serveurs personnalisés en ajoutant des
modules supplémentaires (par exemple un module d'authentification pour un
protocole propriétaire)
Les particuliers et les entreprise auront donc la possibilité
de développer des composants supplémentaires (un SDK supportant les langages
C++, C# et VB .net sera disponible gratuitement) directement intégrable au cœur
de l'application. Ceci permettra de ne pas utiliser les filtres ISAPI pour
ajouter des fonctionnalités supplémentaire au serveur. Bien entendu la
compatibilité avec IIS 6.0 sera assurée (y compris pour les filtre ISAPI comme
le filtre PHP ou bien encore le filtre ASP .net).

La sécurité du produit a été particulièrement soignée; le
développement a été intégralement réalisé avec le framework .net 2.0 et les
versions beta sont régulièrement soumises à des tests visant à repérer et à
corriger d'éventuelles failles. Une grande liberté au niveau de la délégation de
l'administration sera aussi de mise. Ainsi il sera possible de déléguer des
privilèges limités sur le serveur à des utilisateurs non administrateurs grâce à
la création de rôles très précis. C'est donc un énorme avantage par rapport à IIS 6.0 qui ne distingue que deux types d'utilisateurs : ceux ayant un contrôle
total sur la configuration et ceux n'ayant aucun contrôle !
L'interface du produit a elle aussi été entièrement revue
notamment au niveau de l'ergonomie. Le serveur pourra ainsi être administré à
l'aide d'une console basée sur la version 3.0 de MMC ou bien directement via des
fichiers de configuration, tous au format XML ! Un héritage des paramètres de
configuration est toujours de mise. Ainsi un paramètre configuré au niveau du
serveur sera hérité par les sites Web et un paramètre configuré au niveau d'un
site Web sera hérité par les répertoires virtuels. Bien entendu il est toujours
possible de "bloquer" cet héritage en configurant des paramètres différents au
niveau du site ou du répertoire virtuel ! Pour simplifier la gestion de
multiples serveurs, un système permettra d'exporter la configuration d'une
machine, puis de la réimporter dans un autre serveur.
Enfin de nombreux outils de support et de dépannage seront
directement intégrés dans la console MMC permettant de gérer les services IIS.
ces outils permettront de diagnostiquer de manière très précises les problèmes
survenant sur le serveur et permettront d'une part de détecter les problèmes de
configuration et d'autre part d'optimiser et d'améliorer le code des
applications Web. Nous aurons l'occasion d'aborder un peu plus en détail ces
fonctionnalités de dépannages réellement impressionnantes dans la section 3.5 de
cet même article.
1. Introduction
2. Présentation de la version 7.0 de IIS
2.1 Historique
2.2 Les possibilités de IIS sous Windows Server 2003
2.3 Les problèmes rencontrés avec Internet Information Services 6.0
2.4 Les nouvelles fonctionnalités de IIS 7.0
3. Mise en œuvre de IIS 7.0
3.1 Les outils d'administration intégrés
3.2 Gestion des composants des services IIS
3.3 Implémentation de la sécurité et délégation
3.4 Compatibilité avec l'existant
3.5 Les outils de diagnostic et de dépannage
4. Conclusion
|
|
 |
Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft
|
|