Internet Information Services version 5.0, Livre blanc (2)
Les fonctions de sécurité constituent une amélioration essentielle d'IIS 5.0,
qui bénéficie déjà des fonctions de sécurité Internet standard entièrement
intégrées dans Windows 2000. Cette présentation de la sécurité d'IIS 5.0 est
divisée en trois grandes sections. La première concerne les protocoles de
sécurité Internet pris en charge par IIS 5.0.
Pour vous aider à comprendre comment les nouveaux protocoles s'intègrent dans
l'infrastructure de la sécurité, cette section décrit aussi brièvement les
protocoles déjà pris en charge par les versions précédentes d'IIS. La prise en
charge de nouvelles normes, telles que Fortezza, TLS (Transport Layer Security),
l'authentification Digest et le protocole d'authentification Kerberos v5,
constitue un aspect particulièrement intéressant d'IIS 5.
Les normes de sécurité sont utilisées conjointement avec une procédure à
plusieurs étapes destinée à sécuriser les sites Web. Pour mieux expliquer la
façon dont les nouvelles fonctions optimisent la sécurité d'IIS 5.0, la deuxième
section décrit chaque nouvelle fonction dans le cadre de ces procédures de
sécurité.
La dernière section de cette partie sur la sécurité présente les nouveaux
assistants de tâches d'IIS 5.0 qui permettent aux administrateurs de configurer
plus facilement la sécurité.
Microsoft s'engage à travailler avec les communautés d'utilisateurs
d'ordinateurs et de l'Internet pour faciliter la structuration et la mise en
place de normes de sécurité fiables. Les protocoles de sécurité d'IIS 5.0 sont
les suivants :
- Fortezza. Récemment intégré dans IIS 5.0, Fortezza prend en charge
les normes de sécurité du gouvernement américain. Fortezza repose sur
l'architecture DMS (Defense Message System) et utilise un mécanisme de cryptage
(chiffrement). 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 et les cartes PCMCIA (Personal
Computer Memory Card International Association).
- Secure Sockets Layer (SSL 3.0). Les protocoles de sécurité SSL sont
largement utilisés par les navigateurs et les serveurs Internet pour
l'authentification, l'intégrité de messages et la confidentialité. Vous pouvez
configurer les fonctions de sécurité SSL de votre site Web pour vérifier
l'intégrité de vos contenus ainsi que l'identité des utilisateurs et crypter les
transmissions réseau. Le protocole SSL repose sur l'utilisation de certificats,
lesquels sont décrits ci-dessous.
- Transport Layer Security (TLS). TLS est basé sur SSL. Il permet une
authentification cryptographique de l'utilisateur et permet à des programmeurs
indépendants d'écrire un code TLS. Ce dernier sera ensuite capable d'échanger
des informations cryptées avec une autre procédure sans qu'un programmeur ait
besoin de connaître le code des autres programmeurs. En outre, TLS est destiné à
fournir un cadre pour les nouvelles méthodes de cryptage en bloc et de clé
publique, au fur et à mesure qu'elles émergent. TLS se concentre également sur
l'amélioration des performances en réduisant le trafic réseau et en offrant un
nouveau système optionnel de mise en antémémoire des sessions, qui permet de
diminuer le nombre de connexions établies.
- PKCS #7. Ce protocole décrit le format des données crypté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 cryptés. Une
personne surveillant les communications sur votre réseau pourrait facilement
intercepter et déchiffrer ces mots de passe à l'aide d'outils disponibles dans
le commerce. C'est pourquoi l'authentification de base n'est conseillée que si
vous êtes certain que la connexion entre l'utilisateur et votre serveur Web est
sûre, comme c'est le cas pour une connexion directe par câble ou via une ligne
spécialisée.
- Authentification Digest. Une nouvelle fonction d'IIS 5.0,
l'authentification Digest, offre les mêmes fonctions que celles de
l'authentification de base mais utilise une méthode différente pour transmettre
les autorisations d'authentification. Les autorisations d'authentification
subissent une procédure unilatérale, souvent appelée hachage. Le résultat de
cette procédure est une hachure, ou digestion de message ; le texte original ne
peut pas être déchiffré à partir de la hachure.
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.
L'authentification Digest est conçue pour être utilisée par les serveurs
proxy et d'autres applications de pare-feu et fait partie du protocole WebDAV
(Web Distributed Authoring and Versioning). Dans la mesure où l'authentification
Digest est une nouvelle fonction HTTP1.1, tous les navigateurs ne la prennent
pas en charge. Si un navigateur non compatible fait une requête sur un serveur
nécessitant l'authentification Digest, le serveur rejettera la requête et
enverra un message d'erreur au client. L'authentification Digest n'est prise en
charge que pour les domaines dotés d'un contrôleur de domaine Windows 2000. En
outre, elle ne fonctionne qu'avec Internet Explorer version 5 ou ultérieure.
Pour plus d'informations sur la sécurisation d'un contrôleur de domaine,
consultez le
kit de ressources de Microsoft Windows 2000 Server.
Les cinq principaux mécanismes de sécurité utilisés dans IIS 5.0 sont les
suivants :
- Authentification, pour vérifier l'identité des utilisateurs ;
- Certificats, pour envoyer et recevoir en toute sécurité des informations sur
l'identité d'un site ;
- Contrôle d'accès, pour protéger l'accès au contenu ;
- Cryptage (chiffrement), pour empêcher une falsification du contenu ;
- Audits, pour surveiller l'activité liée à la sécurité sur votre site.
Authentification
L'authentification vous permet de confirmer l'identité de toute personne
demandant l'accès à vos sites Web. 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 de votre site Web ou FTP sans leur demander de nom
d'utilisateur ou de 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 à votre site Web ou FTP, votre serveur Web lui affecte un compte
d'utilisateur Windows nommé IUSR_nom_ordinateur, dans lequel nom_ordinateur est
le nom du serveur IIS.
Si vous disposez de plusieurs sites sur votre serveur ou que certains domaines
de votre site nécessitent des privilèges d'accès différents, vous pouvez créer
plusieurs comptes anonymes, un pour chaque site Web ou FTP, répertoire ou
fichier. En accordant diverses autorisations d'accès à ces comptes ou en les
affectant à des groupes d'utilisateurs Windows distincts, vous pouvez donner aux
utilisateurs l'accès anonyme aux différents domaines de votre site Web ou FTP.
- Authentification FTP de base. Pour établir une connexion FTP avec votre
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. Si le serveur FTP ne
peut pas vérifier l'identité d'un utilisateur, le serveur envoie un message
d'erreur. L'authentification FTP n'est pas très sûre dans la mesure où
l'utilisateur transmet le mot de passe et le nom d'utilisateur sur le réseau
sous forme non cryptée.
- Authentification FTP anonyme. Vous pouvez configurer votre serveur FTP 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 vous sélectionnez
l'authentification anonyme 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. Les administrateurs peuvent accorder
des autorisations d'authentification à différents ordinateurs Windows. Grâce aux
services d'authentification intégrés dans Windows, les utilisateurs peuvent
s'authentifier en toute sécurité auprès d'un site Web Windows 2000 Server. Ils
n'ont pas besoin de subir une seconde authentification (connexion) pour utiliser
les autres ressources.
Connue sous l'appellation d'authentification par question/réponse Windows NT ou
NTLM dans les versions précédentes, 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 votre serveur Web. Pour échanger des informations, vous pouvez utiliser le
protocole d'authentification Kerberos v5.
Kerberos v5 est une fonction de l'architecture de services distribués de
Windows 2000. Les services Web de Windows 2000 Server sont intégrés dans
l'infrastructure de sécurité Kerberos. Kerberos v5 permet une connexion rapide
et unique à Windows 2000 Server et remplace NTLM comme premier protocole de
sécurité, pour accéder aux ressources à l'intérieur ou entre des domaines
Windows 2000. Pour améliorer l'authentification Kerberos v5, le client et le
serveur doivent établir une connexion sécurisée avec le centre KDC (Key
Distribution Center) et être compatibles avec Active Directory.
L'authentification intégrée Windows peut utiliser le protocole
d'authentification Kerberos v5 comme son propre protocole d'authentification par
question/réponse. Si le service d'annuaire Active Directory est installé sur le
serveur et que le navigateur est compatible avec Kerberos v5, les deux
protocoles (Kerberos v5 et protocole par question/réponse) sont utilisés. Sinon,
seul le protocole par question/réponse est utilisé.
Bien que l'authentification intégrée Windows soit sûre, elle 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. C'est pourquoi l'authentification intégrée Windows convient mieux à un
contexte intranet dans lequel les ordinateurs de l'utilisateur et du serveur Web
font partie du même domaine, et dans lequel les administrateurs peuvent vérifier
que chaque utilisateur possède Microsoft Internet Explorer version 2.0 ou une
version plus récente.
Certificats
Dans la procédure d'authentification, un mécanisme doit permettre de vérifier
l'identité des utilisateurs. Les certificats sont des documents d'identification
numériques permettant au serveur et au client de s'authentifier mutuellement.
Les navigateurs du serveur et du client en ont besoin pour établir une connexion
SSL par laquelle des informations cryptées seront envoyées. Les certificats de
serveur contiennent généralement des informations sur votre entreprise et sur
l'autorité qui a délivré le certificat. Les certificats de client, quant à eux,
contiennent en général des informations sur l'utilisateur et sur l'autorité de
certification.
Les fonctions SSL basées sur les certificats et intégrées dans IIS comprennent
un certificat de serveur, un certificat de client facultatif et diverses clés
numériques. Vous pouvez créer ces certificats avec les services de certificats
Microsoft ou les obtenir auprès d'une autorité tierce sécurisée, appelée
"autorité de certification" (AC).
Authentification par certificat. Vous pouvez utiliser les fonctions de sécurité
SSL (Secure Sockets Layer) de votre serveur Web pour deux types
d'authentification. Vous pouvez recourir à un certificat d'utilisateur pour
permettre aux utilisateurs d'authentifier votre site Web avant de transmettre
des informations personnelles, notamment un numéro de carte de crédit. Vous
pouvez également utiliser des certificats de client pour authentifier les
utilisateurs demandant des informations sur votre site Web. Pour procéder à
l'authentification, SSL vérifie le contenu d'une identification numérique
cryptée, soumise par le serveur Web de l'utilisateur lors de la connexion.
Mappage de certificats client. Vous pouvez associer ou mapper des certificats
client avec des comptes d'utilisateur Windows sur votre serveur Web. Après avoir
créé et activé un mappage de certificats, chaque fois qu'un utilisateur se
connecte avec un certificat client, votre serveur Web associe automatiquement
cet utilisateur au compte d'utilisateur Windows correspondant. De cette façon,
vous pouvez authentifier automatiquement les utilisateurs qui se connectent avec
des certificats de client, sans recourir à l'authentification de base, Digest ou
l'authentification intégrée Windows. Vous pouvez mapper un ou plusieurs
certificats de client avec un même compte d'utilisateur Windows. Par exemple, si
vous avez plusieurs entreprises ou des services différents sur votre serveur,
chacun ayant son propre site Web, vous pouvez mapper tous les certificats de
client de chaque service ou entreprise à son propre site Web. Ainsi, chaque site
réserve l'accès à ses propres clients uniquement.
Stockage des certificats. Le stockage des certificats IIS est désormais intégré
au stockage CryptoAPI de Windows. Le Gestionnaire de certificats de Windows
offre un point d'entrée unique permettant aux administrateurs de stocker, de
sauvegarder et de configurer les certificats de serveur.
Contrôle d'accès
Après avoir vérifié l'identité d'un utilisateur, vous voudrez contrôler l'accès
aux ressources sur votre serveur. IIS 5.0 utilise deux niveaux de contrôle
d'accès : les autorisations Web et 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.
Par exemple, si une entreprise décide de publier son catalogue sur votre serveur
Web, vous devez créer un compte d'utilisateur Windows pour cette entreprise,
puis configurer des autorisations pour ce site Web, un répertoire ou un fichier
spécifique. Avec ces autorisations, seuls l'administrateur du serveur et le
propriétaire de l'entreprise peuvent mettre à jour le contenu du site Web. En
outre, ces autorisations permettent aux utilisateurs publics d'afficher le site
Web sans en modifier le contenu.
Pour permettre aux utilisateurs d'accéder à un site Web et d'en modifier le
contenu, IIS 5.0 applique la norme WebDAV (décrite plus haut), une extension du
protocole HTTP 1.1 qui facilite la manipulation des fichiers et des répertoires
via une connexion HTTP. Par le biais des verbes ou des commandes WebDAV, vous
pouvez ajouter et lire des propriétés dans des fichiers et des répertoires.
Ceux-ci peuvent également être créés, supprimés, déplacés ou copiés à distance.
Un contrôle d'accès supplémentaire peut être configuré à l'aide des
autorisations de serveur Web et de NTFS.
Cryptage
Après avoir contrôlé l'accès aux informations, vous devez les protéger dans la
mesure où elle circulent sur Internet. Vous pouvez permettre aux utilisateurs
d'échanger des informations privées (des numéros de carte de crédit ou de
téléphone) avec votre serveur en toute sécurité, en utilisant le cryptage. Le
cryptage brouille les informations avant qu'elles soient envoyées et le
décryptage les déchiffre après réception. Le protocole SSL 3.0 constitue la base
de ce cryptage dans IIS, dans la mesure où il permet d'établir en toute sécurité
une communication cryptée avec les utilisateurs. SSL confirme l'authenticité de
votre site Web et, éventuellement, l'identité des utilisateurs accédant aux
sites Web protégés.
Les certificats (voir plus haut) contiennent des clés cryptées destinées à
établir une connexion SSL sécurisée. Une clé est une valeur unique utilisée pour
authentifier le serveur et le client au cours de l'établissement d'une connexion
SSL. La clé publique et la clé privée forment une paire de clés SSL. Votre
serveur Web utilise cette paire pour négocier une connexion sécurisée avec le
navigateur Web de l'utilisateur et ainsi déterminer le niveau de cryptage requis
pour sécuriser les communications.
Pour ce type de connexion, votre serveur Web et le navigateur de l'utilisateur
doivent intégrer des fonctions de cryptage et de décryptage compatibles. Lors de
l'échange, une clé de cryptage (ou clé de session) est créée. Votre serveur et
le navigateur Web utilisent une clé de session pour crypter et décrypter les
informations transmises. Le degré (ou puissance) de cryptage d'une clé de
session est mesuré en bits. Plus le nombre de bits de la clé de session est
important, plus le niveau de cryptage et la sécurité sont grands. Bien qu'un
plus haut degré de cryptage des clés offre une meilleure sécurité, il nécessite
également plus de ressources du serveur. En général, la clé de session de votre
serveur Web contient 40 bits, mais elle peut contenir 128 bits selon le niveau
de sécurité que vous désirez (reportez-vous à la section "SGC" (Server Gated
Cryptography) ci-après).
SGC (Server-Gated Cryptography) est une extension de SSL permettant d'utiliser
un chiffrement élevé utilisant des clés de 128 bits. Bien que les fonctions SGC
soient intégrées dans IIS 5.0, un certificat SGC spécial est demandé pour
pouvoir les utiliser. Ce certificat est intégré au High Encryption Pack pour
Windows 2000 qui permet d'activer le chiffrement à 128 bits. Celui-ci peut être
téléchargé à
cette adresse.
Vous pouvez configurer votre serveur Web pour demander un chiffrement sur
128 bits minimum, plutôt que la puissance par défaut de 40 bits, pour toutes les
sessions de communication SSL sécurisées. Les utilisateurs tentant d'établir un
canal de communications sécurisées avec votre serveur devront alors utiliser un
navigateur capable de communiquer avec une clé de session de 128 bits.
Important :
- Pour télécharger le High Encryption Pack de Windows 2000, utilisez le
lien suivant
- Lorsque vous définissez les propriétés de sécurité d'un site Web spécifique,
vous définissez automatiquement les mêmes propriétés de sécurité pour les
répertoires et les fichiers appartenant à ce site, à moins qu'elles aient été
définies préalablement.
- Lorsque vous tentez de redéfinir les propriétés de sécurité de votre site Web,
celui-ci vous demande de prouver votre autorisation pour redéfinir les
propriétés de chaque répertoire et de chaque fichier. Si vous décidez de
redéfinir ces propriétés, vos paramètres de sécurité précédents seront remplacés
par les nouveaux. La même condition s'applique lorsque vous définissez les
propriétés de sécurité d'un répertoire contenant des sous-répertoires ou des
fichiers dont les propriétés ont été définies au préalable.
- Si vous sélectionnez Cryptage 128 bits pour un site Web dont le certificat de
serveur utilise des clés inférieures à 128 bits, l'accès à ce site sera
désactivé.
Audits
La dernière étape pour garantir la sécurité consiste à surveiller régulièrement
l'utilisation de votre site. 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.
Vous pouvez configurer les journaux de sécurité pour enregistrer les
informations soit sur l'accès aux répertoires et aux fichiers, soit sur les
événements du serveur, soit sur les deux. Il est préférable de vérifier
périodiquement la configuration de votre serveur afin de détecter les zones où
les ressources peuvent faire l'objet d'un accès non autorisé ou d'une
falsification. Vous pouvez recourir aux utilitaires intégrés dans Windows, aux
fonctions de journalisation d'IIS 5.0 ou aux applications ASP pour créer vos
propres journaux d'audit.
Vous pouvez surveiller les tentatives d'accès aux répertoires ou aux fichiers,
qu'elles réussissent ou non. Cela comprend les événements tels que lire le
fichier, le mettre à jour et parcourir un répertoire. Vous pouvez choisir les
événements que vous souhaitez surveiller pour tout fichier ou répertoire. Le
système de fichiers de votre serveur doit être au format NTFS afin de pouvoir
utiliser les fonctions d'audit.
Vous pouvez surveiller tous les événements du serveur, tels que les processus de
connexion et de déconnexion du serveur Web, de modification des stratégies de
sécurité du serveur Web et de fermeture du serveur. Les événements sont vérifiés
pour tout l'ordinateur et non uniquement pour certains répertoires ou fichiers.
Pour définir le niveau d'audit, utilisez les Stratégies d'audit de MMC
(Microsoft Management Console). Vous pouvez également surveiller les tentatives
d'accès à votre site Web ou FTP, à vos répertoires virtuels ou à vos fichiers,
qu'elles réussissent ou non.
Cela inclut des événements tels que la lecture ou la mise à jour du fichier.
Vous pouvez choisir les événements que vous souhaitez vérifier pour tout site,
répertoire virtuel ou fichier. Pour définir ce niveau d'audit, utilisez le
composant logiciel enfichable d'IIS.
Pour simplifier la création et la gestion des paramètres de sécurité, IIS 5.0
comporte trois nouveaux assistants pour les tâches de sécurité :
- L'Assistant Certificat simplifie les tâches d'administration de certificat,
notamment les demandes de certificat et la gestion du cycle de vie d'un
certificat. La sécurité SSL (Secure Sockets Layer) est une condition requise de
plus en plus courante pour les sites Web offrant un service de commerce
électronique et l'accès à des données commerciales sensibles. Le nouvel
assistant facilite la création de sites Web SSL avec Windows 2000 Server. De
plus, il simplifie la création et la gestion de procédures de cryptage SSL et
l'authentification des certificats client.
Pour obtenir, configurer et renouveler des certificats serveur, vous pouvez
désormais utiliser une unique interface dans l'Assistant Certificat de serveur
Web. Cet assistant permet de savoir si un certificat de serveur a déjà été
installé et, le cas échéant, s'il va bientôt expirer. De plus, il permet de
remplacer le certificat serveur par un autre certificat délivré par une autorité
de certification standard ou en ligne (tel que les services de certificat de
Microsoft), ou encore, issu d'un fichier obtenu préalablement dans le
Gestionnaire de clés. Vous pouvez également réaffecter un certificat d'un site
Web à un autre.
- Remarque : les requêtes de certificats de serveur en ligne ne peuvent être
adressées qu'aux serveurs de certificats d'entreprise. L'Assistant Certificat de
serveur Web d'IIS ne reconnaîtra pas un serveur de certificats autonome sur le
même ordinateur. Pour enregistrer la requête dans un fichier, puis la traiter
comme une requête hors connexion, utilisez une requête de certificats hors
connexion. L'inscription en ligne par le biais d'un serveur de certificats
d'entreprise local n'est pas concernée par cet aspect.
Si vous n'avez pas recours à une autorité de certification en ligne, vous devrez
enregistrer sur un disque le fichier de requête généré par l'Assistant
Certificat de serveur Web et l'envoyer à une autorité de certification. Après
réception de la réponse, vous pouvez activer l'assistant qui poursuivra la
procédure interrompue précédemment. Si vous remplacez un certificat, IIS
continuera d'utiliser l'ancien certificat jusqu'à ce que la nouvelle requête
soit terminée.
- L'Assistant Autorisations guide les administrateurs dans les tâches de
définition des autorisations et de l'accès authentifié sur un site Web IIS, en
facilitant la création et la gestion d'un site Web dont l'accès au contenu doit
être authentifié.
L'Assistant Autorisations adopte une approche reposant sur des scénarios pour
définir des autorisations Web et FTP, des autorisations d'accès NTFS et des
modèles d'authentification. Au lieu d'utiliser une interface utilisateur
distincte pour définir chaque zone, vous devez sélectionner la configuration qui
reflète le plus les besoins de votre site et l'assistant se charge de définir
toutes les autorisations d'accès et les modèles d'authentification à votre
place. Grâce à l'assistant, vous êtes sûr que les autorisations Web (ou FTP) et
NTFS sont correctement coordonnées et que le bon modèle d'authentification est
utilisé, ce qui constitue un avantage unique. Tous les paramètres peuvent être
changés dans le composant logiciel enfichable d'IIS. Les configurations sont les
suivantes :
- Site Web public. Il s'agit de la configuration la plus courante, dans laquelle
les informations du site sont destinées à une consommation publique sur
Internet. Elle utilise l'authentification anonyme et permet aux utilisateurs
d'afficher tous les fichiers et d'accéder aux applications ASP présentes sur
votre serveur Web. En outre, elle permet aux administrateurs de contrôler
totalement le site.
- Site Web sécurisé. Cette configuration est utilisée pour les extranets
d'entreprise, c'est-à-dire des intranets accessibles via Internet. Les
informations présentes sur le site sont destinées à une consommation limitée.
Elle utilise l'authentification de base, Digest, ou l'authentification intégrée
Windows. Grâce à cette configuration, seuls les utilisateurs autorisés peuvent
afficher tous les fichiers et accéder aux applications ASP de votre serveur Web.
De plus, elle offre aux administrateurs le contrôle total du site.
- L'Assistant Liste de certificats de confiance permet aux administrateurs de
configurer les listes de certificats de confiance. Il s'agit de listes
d'autorités de certification sécurisées, destinée à un répertoire particulier.
La configuration de votre liste de certificats de confiance vous permet
d'autoriser l'utilisation des certificats délivrés par une autorité de
certification déterminée, et d'interdire celle de certificats délivrés par
d'autres autorité de certification. Ces listes sont particulièrement utiles aux
fournisseurs de services Internet hébergeant plusieurs sites Web sur leur
serveur et ayant besoin d'une liste d'autorités de certification approuvées
distincte pour chaque site. Les listes de certificats de confiance ne sont pas
disponibles pour les sites FTP, mais exclusivement pour les sites Web.
IIS 5.0 ajoute des améliorations de performances pour faciliter le
développement des applications Web. Associée aux services de composants et
d'accès aux données de Windows 2000 Server, la technologie ASP (Active Server
Pages) intégrée à IIS constitue un environnement d'application bien conçu.
Avec cette version, l'optimisation du contrôle de débit et de la gestion
d'erreurs, les composants script de Windows et d'autres améliorations permettent
aux créateurs de scripts et aux développeurs d'applications Web d'utiliser plus
facilement l'environnement ASP. En outre, des fonctions telles que les pages ASP
sans script, l'autoréglage ASP et des objets ASP plus performants, ainsi que des
améliorations dans le système d'exploitation Windows 2000, peuvent augmenter la
vitesse des applications ASP.
ASP est un environnement de script global côté serveur que vous pouvez
utiliser pour créer et exécuter des applications Web dynamiques et interactives.
Avec ASP, vous pouvez combiner des pages HTML, des commandes de script et des
objets COM (Component Object Model) pour créer des pages Web interactives ou des
applications Web faciles à déployer et à modifier. Il existe un certain nombre
de nouvelles fonctions ASP dans IIS 5.0, notamment de nouvelles fonctions de
contrôle de débit et de gestion d'erreurs, permettant d'écrire et de contrôler
plus facilement le comportement des applications Web. D'autres nouvelles
fonctions, telles que le traitement des pages ASP sans script, améliorent les
performances des pages ASP.
Fonctions de contrôle de débit
De nouvelles fonctions de contrôle de débit permettent aux développeurs Web
d'écrire des applications basées sur les pages ASP plus performantes, en
réduisant le nombre d'allers-retours entre un client et le serveur.
Aujourd'hui, utiliser la méthode Response.Redirect pour rediriger un navigateur
nécessite un aller-retour vers le serveur. En effet, le serveur envoie une
réponse HTTP au navigateur et lui indique l'emplacement d'une nouvelle adresse
URL. Le navigateur quitte automatiquement la file d'attente de requêtes du
serveur et envoie une nouvelle requête HTTP à cette adresse URL. Puis le serveur
ajoute cette requête à la file d'attente avec celles des autres clients arrivées
entre temps. Pour les sites Web occupés, les allers-retours peuvent gaspiller de
la bande passante et réduire les performances du serveur (surtout lorsque le
navigateur est redirigé vers un fichier situé sur le même serveur.
Désormais, l'objet Server ASP dispose de deux méthodes pour contrôler le débit
des programmes :
Server.Transfer et Server.Execute. Comme le montre l'illustration 6, vous pouvez
appliquer la méthode Server.Transfer (au lieu de la méthode Response.Redirect)
pour transmettre des informations depuis un fichier ASP vers un autre fichier
situé sur le même serveur. Avec la méthode Server.Transfer, vous pouvez
transmettre directement des requêtes de fichiers ASP, sans même quitter la file
d'attente de requêtes du serveur, et ainsi supprimer les allers-retours qui
nécessitent beaucoup de ressources.
Illustration 6. La méthode Server
Transfer permet d'économiser des allers-retours vers le serveur, lorsqu'une
adresse URL est redirigée vers une autre page ASP sur le même serveur.
ASP propose également la méthode Server.Execute pour transmettre un fichier,
exécuter son contenu, puis retourner au fichier ayant initialisé le transfert.
Si vous connaissez VBScript, vous pouvez considérer Server.Execute comme
l'équivalent d'un appel de procédure (la différence étant qu'au lieu d'exécuter
une procédure, vous exécutez un fichier ASP complet).
Composant Browser Capabilities
Pour rendre les applications Web plus réactives à un navigateur particulier, ASP
dispose d'une nouvelle fonction permettant de déterminer les fonctionnalités
précises d'un navigateur. Lorsqu'un navigateur envoie un cookie décrivant ses
fonctionnalités (un tel cookie peut être installé en utilisant un simple script
côté client), les développeurs peuvent créer une instance du composant Browser
Capabilities qui permet de récupérer les propriétés du navigateur telles
qu'elles sont transmises par le cookie. Vous pouvez utiliser cette fonction pour
déterminer les fonctionnalités d'un navigateur et adapter votre application en
conséquence.
Le composant Browser Capabilities crée un objet BrowserType permettant d'offrir
à vos scripts une description des fonctions du navigateur Web du client.
Lorsqu'un navigateur se connecte au serveur Web, il envoie automatiquement un
en-tête d'agent utilisateur HTTP. Cet en-tête est une chaîne ASCII permettant
d'identifier le navigateur et son numéro de version. L'objet BrowserType compare
l'en-tête avec les entrées du fichier Browscap.ini. S'il trouve une
correspondance, l'objet BrowserType prend les propriétés du navigateur
correspondant à l'en-tête d'agent utilisateur. Si l'objet ne trouve pas de
correspondance dans le fichier Browscap.ini, il recherche celle qui se rapproche
le plus en utilisant les caractères génériques * et ?. Si aucune correspondance
n'est trouvée même avec les caractères génériques, l'objet utilisera les
paramètres du navigateur par défaut, s'ils ont été définis dans le fichier
Browscap.ini. Si aucune correspondance n'est trouvée et que les paramètres du
navigateur par défaut n'ont pas été définis dans le fichier Browscap.ini,
l'objet affecte la valeur UNKNOWN (inconnu) à chaque propriété.
Pour ajouter des propriétés ou des définitions de nouveaux navigateurs à ce
composant, il vous suffit de mettre à jour le fichier Browscap.ini.
Gestion d'erreurs Désormais, ASP intègre une nouvelle
fonction de gestion d'erreurs pour vous aider à détecter les erreurs dans vos
applications Web. Cette fonction vous permet de bloquer les erreurs dans un
fichier ASP de messages d'erreur personnalisé. Vous pouvez appliquer le nouvelle
méthode Server.GetLastError pour afficher des informations utiles, telles que la
description d'une erreur ou le numéro de ligne où l'erreur est détectée. Vous
pouvez utiliser l'objet ASPError pour obtenir des informations sur une condition
d'erreur dans le script d'une page ASP. L'objet ASPError est renvoyé par la
méthode Server.GetLastError. L'objet ASPError affiche les propriétés en lecture
seule.
Pages ASP sans script
Dans les versions précédentes, les pages ASP étaient traitées comme si elles
contenaient un script. En effet, même les pages sans script passaient
automatiquement par l'analyseur syntaxique ASP avant d'être envoyées au client,
même si elles n'avaient pas besoin de traitement côté serveur. En général, les
pages HTML statiques étaient traitées plus rapidement, dans la mesure où elles
ne devaient pas aller jusqu'au serveur. Si les développeurs voulaient éviter un
appel inutile à l'analyseur syntaxique ASP, ils devaient coder des pages sans
script en pages HTML et utiliser une extension .asp uniquement pour celles
comprenant un script.
Pour résoudre ce problème, IIS 5.0 ajoute une première étape qui consiste à
examiner une page ASP afin de déterminer si elle comporte un script côté
serveur, avant de l'envoyer à l'analyseur syntaxique. Si une page est sans
script, elle est servie sans passer par l'analyseur syntaxique. Bien que les
pages HTML soient toujours traitées plus rapidement que les pages ASP, IIS 5.0
permet de servir les pages ASP sans script plus rapidement que par le passé. De
plus, il n'est pas nécessaire d'effectuer le suivi de deux types de fichiers
différents.
Objets plus performants
Pour améliorer la rapidité des applications Web, ASP IIS 5.0 intègre des
versions plus performantes de ses composants installables courants, ce qui
augmente la fiabilité de nombreux environnements de publication sur le Web. Ces
composants, dont les performances ont été améliorées, sont utilisés pour
effectuer des tâches courantes indispensables, notamment pour faire tourner des
annonces publicitaires (adrot.dll) et déterminer les capacités d'un navigateur (browscap.dll).
Autoréglage d'ASP Désormais, ASP détecte le moment où
les ressources externes bloquent une requête en cours d'exécution. Si vous
activez la propriété ASPThreadGateEnabled dans la métabase d'IIS 5.0, ASP
offrira automatiquement un plus grand nombre d'unités d'exécution pour exécuter
d'autres requêtes simultanément et pour poursuivre un traitement normal. Si le
processeur est surchargé, ASP réduit le nombre d'unités d'exécution. Cela permet
de limiter le basculement constant occasionné lorsqu'un nombre trop élevé de
requêtes non bloquantes sont exécutées en même temps.
Pour répondre à différentes conditions de charge, IIS fait office de portail
d'unités d'exécution pour contrôler de manière dynamique le nombre d'unités
d'exécution s'exécutant simultanément. Les paramètres par défaut de la propriété
ASPThreadGateEnabled et des autres propriétés de portail d'unités d'exécution
sont conçus pour s'adapter à un grand nombre de configurations de serveur et de
conditions de trafic. Une modification de ces propriétés peut entraîner une
dégradation notable des performances.
Le paramètre du service Web pour la propriété ASPThreadGateEnabled est
applicable aux nœuds de toutes les applications internes et hors processus
regroupées, quel que soit le niveau. Les paramètres de la métabase au niveau du
serveur Web ou à un niveau inférieur seront ignorés pour les applications
regroupées hors processus et internes du processus. Toutefois, les paramètres au
niveau du serveur Web ou à un niveau inférieur seront appliqués si ce nœud est
une application hors processus distincte des autres.
Intégration XML
Tout comme HTML vous permet de décrire le format d'un document Web, le langage
XML (Extensible Markup Language) vous permet de décrire d'un point de vue
sémantique la structure complexe de données ou de documents qui peuvent ensuite
être partagés par des applications, des clients et des serveurs divers. En
utilisant l'analyseur syntaxique Microsoft XML, compris dans Internet Explorer
version 4.0 ou ultérieure, vous pouvez créer des applications côté serveur et
ainsi permettre à votre serveur Web d'échanger des données au format XML avec
Internet Explorer version 4.0 ou ultérieure, ou avec d'autres serveurs intégrant
des fonctions d'analyseur syntaxique XML.
Composants script de Windows
ASP prend en charge la nouvelle technologie de script de Microsoft, les
composants script de Windows. Cette technologie permet aux développeurs de
transformer les procédures script de logique de gestion en composants COM
réutilisables dans le cadre des applications Web et dans des programmes
compatibles COM.
Les composants script de Windows permettent de créer facilement des composants
COM à l'aide de langages de script, tels que VBScript et d'autres langages
compatibles avec la spécification de langage ECMA 262 (notamment Microsoft
JScriptâ 2.0 et JavaScript 1.1). Vous pouvez utiliser les composants script
comme composants COM dans des applications telles que IIS, Microsoft Windows
Scripting Host (WSH) et toute autre application prenant en charge les composants
COM.
Inclusion de composants côté serveur avec attribut SRC
Les inclusions de composants côté serveur vous permettent d'ajouter du texte
dynamique, notamment la date courante, dans des documents Web. Pour inclure des
composants côté serveur dans IIS 5.0, vous pouvez utiliser l'attribut SRC de
l'élément HTML SCRIPT. Lorsque vous utilisez le composant SRC pour définir un
chemin d'accès relatif ou virtuel et l'attribut RUNAT=SERVER pour indiquer
l'exécution côté serveur, vous pouvez obtenir les mêmes fonctionnalités qu'avec
l'instruction #Include.
Scripts de pages ASP encodées
Traditionnellement, les développeurs Web n'ont jamais pu empêcher les tiers de
déchiffrer la logique de leurs propres scripts. Aujourd'hui, ASP prend en charge
un nouvel utilitaire d'encodage de script intégré dans VBScript et dans JScript 5.0.
Les développeurs Web peuvent appliquer un modèle d'encodage aux scripts côté
serveur et côté client, qui transforme la logique de programmation en caractères
ASCII illisibles. Une fois décodée, la logique apparaît en caractères ASCII
standard. Les scripts encodés sont décodés au moment de l'exécution par le
moteur de script : un utilitaire séparé est donc inutile. Bien que cette
fonction ne soit pas une solution de cryptage sûre, elle peut empêcher la
plupart des utilisateurs indésirables de naviguer dans les scripts ou de les
copier.
IIS 5.0 et les services de composants (COM+) intégrés dans Windows 2000
Server s'associent pour former une architecture de base dédiée à la création
d'applications Web. Dans IIS version 4.0, Microsoft Transaction Server (MTS)
prend en charge les transactions. Dans IIS 5.0 et dans Windows 2000, les
services de composants offrent cette prise en charge des transactions de MTS, en
plus d'un certain nombre de fonctions de déploiement et de développement de
composants. IIS utilise cette fonction offerte par les services de composants
pour :
- Isoler les applications dans des processus distincts ;
- Gérer la communication entre les composants COM (comprenant les objets ASP
intégrés) ;
- Coordonner le traitement des transactions pour les applications ASP
transactionnelles.
Intégré dans Windows 2000 Server, Active Directory sert à stocker et à gérer
les informations sur les ressources réseau. Grâce à un stockage centralisé pour
les informations vitales, Active Directory simplifie la gestion du réseau et la
recherche de ressources pour les utilisateurs. En outre, il permet aux
développeurs d'écrire plus facilement des applications nécessitant la dernière
version des informations vitales.
Les interfaces Active Directory Service (ADSI) de Microsoft forment un modèle de
service d'annuaire COM permettant aux applications client compatibles ADSI
d'accéder à divers protocoles d'annuaire, notamment Active Directory, LDAP et
NDS, tout en utilisant un seul ensemble d'interfaces standard. ADSI sépare
l'application client des données d'installation et d'exécution du magasin de
données ou du protocole sous-jacent.
Une application appelée fournisseur ADSI est disponible pour les applications
client ADSI. Les données du fournisseur sont organisées dans un espace de noms
personnalisé, défini par le fournisseur. Outre l'installation des interfaces
définies par ADSI, le fournisseur peut également mettre en œuvre le schéma ADSI.
Le schéma est destiné à fournir les métadonnées sur les objets et la structure
de l'espace de noms offerts par le fournisseur ADSI. Les administrateurs et les
développeurs d'application peuvent intégrer des méthodes, des propriétés et des
objets personnalisés au fournisseur ADSI, ce qui permet aux administrateurs de
configurer des sites d'une manière plus souple.
Actuellement, IIS stocke la plupart des données de configuration de sites
Internet dans la métabase IIS. IIS affiche une interface DCOM de bas niveau
permettant aux applications d'accéder à la métabase et de la manipuler. Pour
faciliter l'accès à la métabase, IIS intègre également un fournisseur ADSI
regroupant la plupart des fonctions offertes par l'interface DCOM et le met à
disposition de toute application client compatible ADSI.
IIS 5.0 intègre des améliorations en termes de performances et de fiabilité
permettant au serveur Web de mieux prendre en charge un certain nombre de
besoins. En cas de panne, il est plus facile de redémarrer le serveur ; les
sites peuvent ainsi être sauvegardés et s'exécuter plus rapidement. Une nouvelle
protection des applications augmente la fiabilité. Par le passé, pour protéger
le serveur d'une application défectueuse, vous deviez exécuter chaque
application dans un processus séparé, ce qui pouvait diminuer les performances.
Aujourd'hui, pour mieux équilibrer le compromis entre les performances et la
protection, vous pouvez regrouper les applications moins importantes dans un
seul processus et n'exécuter que les applications essentielles séparément. Pour
optimiser la fiabilité, vous pouvez même utiliser des services de clusters
disponibles dans Windows 2000 Advanced Server. Pour améliorer l'évolutivité,
vous pouvez utiliser l'hébergement multi-sites, qui permet de gérer plusieurs
sites Web sur le même serveur.
Un certain nombre d'améliorations permettent aux administrateurs d'installer et
de gérer IIS plus facilement. Par le passé, l'installation d'IIS était
relativement complexe. Aujourd'hui, IIS 5.0 s'installe au cours de la procédure
d'installation de Windows 2000. Les tâches de maintenance sont simplifiées de
différentes façons : vous pouvez accéder aux utilitaires d'administration à
partir d'un emplacement centralisé, il existe plusieurs options d'administration
à distance et les administrateurs peuvent déléguer leurs tâches à des
utilisateurs spécifiques. Grâce à la prise en charge de WebDAV, IIS 5.0 permet
aux utilisateurs d'accéder à des documents stockés sur un serveur Web et de les
modifier, optimisant ainsi la capacité d'une entreprise à utiliser Internet ou
un intranet comme moyen de collaboration.
La prise en charge de nouveaux protocoles de sécurité, notamment
l'authentification Digest, Kerberos et Fortezza, permet à des utilisateurs IIS
de bénéficier de conditions de sécurité Internet de plus en plus strictes. La
prise en charge de ces protocoles étend les environnements dans lesquels les
développeurs peuvent déployer des applications basées sur Internet en toute
sécurité.
Les développeurs d'application remarqueront que IIS 5.0 tire parti des versions
précédentes du serveur Web Microsoft, en intégrant des technologies facilitant
la création de sites et d'applications Web plus souples et plus fonctionnels.
Les améliorations comprennent un meilleur contrôle de débit ASP et un traitement
des pages ASP sans script plus rapide.
L'utilisation combinée de Windows 2000 et d'IIS 5.0 permet de créer un large
éventail de sites Internet et intranet bénéficiant des technologies déjà en
place.
Site Web de Windows 2000
Présentation des fonctions d'IIS 5.0 
Bibliothèque MSDN (Microsoft Developer Network) en ligne IIS SDK 
Site TechNet IIS de Microsoft 
Extrait de Microsoft Interactive Developer Journal : Internet Information
Services 5.0 