Вы находитесь на странице: 1из 106

Windows Server 2008

IIS 7

INTRODUCTION
IIS7 est la dernire version du serveur web de Microsoft, ce dernier est rattach, dans une version allge, Windows Vista et dans sa version intgrale Windows Server 2008. Une version de Windows Server 2008 lui est entirement ddie avec Windows Web Server 2008. Cette version de IIS7 est galement utilisable sur ldition Core de Windows Server 2008 seulement ce server Web ne prendra pas en charge le Framework .NET. Cette dernire version dIIS dispose dune toute nouvelle architecture qui change totalement dIIS6, cette nouvelle architecture permettra une administration plus facile et plus performante. Dans cet article, nous prsenterons les amliorations d'IIS 7.0 et aborderons ensuite dans les dtails les diffrentes tapes du dploiement et ladministration du serveur web puis nous arborerons les diffrents modules qui composent notre serveur web prfr. Cet article est ralis avec Windows server 2008.

I .Les nouvelles fonctionnalits de IIS7


La nouvelle version dIIS prsente des atouts majeurs par rapport aux anciennes versions. Il est beaucoup plus modulable, plus scuris et plus facilement administrable. En effet, IIS7 est totalement modulaire et possde plus de 40 fonctionnalits. Ces modules peuvent tre installs en fonction des besoins et permettent donc de rduire la surface d'attaque de notre serveur IIS qui sont actuellement trs touchs. Cela permet aussi d'augmenter les performances du serveur en faisant tourner seulement l'essentiel et de rduire le trafic inutile. On peut par exemple rajouter le module WindowsAuthModule qui va permettre de prendre en charge l'authentification NTLM. On peut dsinstaller tout module quand nous le dcidons via le composant Windows feature .

De plus, la nouvelle version d'IIS repose sur une hirarchie de fichiers XML. Cette hirarchie regroupe un fichier qui contient la configuration globale ct serveur ( applicationHost.config ) et un fichier web.config au niveau structure de rpertoire d'application. Ces fichiers sont facilement modifiables et le langage XML n'est pas dur apprendre. Ceci permet galement d'exporter des configurations IIS facilement. L'administration est galement amliore. On peut administrer notre serveur IIS via les lignes de commande en utilisant l'outil appcmd.exe ou via l'interface graphique.

Cette interface graphique permet de grer entirement le serveur et est trs complte. On peut galement utiliser cet outil distance via une connexion HTTPS/SSL. On peut aussi rajouter nos interfaces personnalises. Le serveur IIS7 est bas sur les codes dIIS6. Il renforce l'architecture du code et apporte des fonctionnalits de gnrations des applications web scurises. Le fait que l'on peut choisir en dtail d'installer ou de ne pas installer permet de rduire sa surface d'attaque ce qui le rend plus scuris. Le mode intgr ASP.NET permet une meilleure gestion de l'authentification du fait qu'il est possible de synchroniser notre serveur IIS7 avec les groupes de l'AD, l'authentification par formulaire... Il est galement possible d'autoriser ou de restreindre l'accs certaines URL (filtrage web) dont nous verrons plus en dtail ultrieurement. Il est aussi possible de l'installer sur un Windows Server 2008 version Core. Dans ce cas, certains modules comme l'ASP ne sont pas disponibles. La version IIS7 a aussi peaufin sa gestion des diagnostics. En effet, l'outil "IIS Manager" va permettre de dtecter les problmes systmes, superviser toute activit et contrler lors de dpannage ou maintenance. Le serveur IIS7 spcifie galement des solutions pour l'utilisateur lorsqu'il gnre une erreur sur une page lui permettant ainsi de rsoudre le problme plus rapidement.

1er cadre : Nom de lerreur. 2me cadre : Indications sur lerreur. 3me cadre : Causes de lerreur. 4me cadre : Rsolution de lerreur. Dans cet exemple, nous essayons daccder la page http://localhost/Supinfo qui nexiste pas. Nous pouvons voir que IIS7 nous dit pourquoi il croit quil y a eut cette erreur et quoi faire pour la rsoudre.

II Linstallation dIIS7
II.1 Les modules
-Dveloppement applicatif Fournit l'infrastructure de dveloppement et d'hbergement des applications web. Utilisez ces fonctionnalits pour crer des contenus Web ou tendre la fonctionnalit des services Internet (IIS). Ces technologies permettent gnralement d'effectuer des oprations dynamiques qui entrainent la cration de document HTML, qui sont ensuite envoys par les services Internet (IIS) pour traiter les demandes des clients. -Intgrit et Diagnostics Fournit une infrastructure pour analyser, grer et dpanner l'intgrit des serveurs, des sites et des applications Web.

-Scurit Fournit une infrastructure pour scuriser le serveur Web face aux utilisateurs et aux demandes. IIS prend en charge plusieurs mthodes d'authentification. Choisissez un modle d'authentification appropri en fonction du rle du serveur. Filtrez toutes les demandes entrantes, en rejetant sans traitement les demandes qui correspondent des valeurs dfinies par l'utilisateur, ou restreignez les demandes en fonction de l'espace d'adressage d'origine. -Performances Fournit une infrastructure pour mettre en cache la sortie en intgrant les possibilits de mise rn cache dynamiques dASP.NET avec les possibilits de mise en cache de sortie statiques qui taient prsentes dans IIS 6.0. IIS permet galement d'utiliser plus efficacement la bande passante et d'optimiser l'utilisation de mcanismes de compression courants. -Outils de gestion Fournissent une infrastructure pour grer un serveur Web IIS7. Vous pouvez utiliser l'interface utilisateur, les outils en ligne de commande et les scripts IIS pour grer le serveur Web. Vous pouvez galement modifier directement les fichiers de configuration. -Service de publication FTP Intgre le serveur FTP (File Transfert Protocol) et la console de gestion FTP. Vous pouvez configurer un service de publication FPT pour autoriser les utilisateurs tlcharger des fichiers.

II.2 L'installation
Aprs la prsentation des principaux modules nous allons aborder les diffrentes tapes pour effectuer linstallation dIIS7, pour cela nous allons prendre le cas concret dinstaller un serveur de dveloppement pour ASP.NET. Afin dinstaller IIS7 il faut lancer le gestionnaire de serveur en suivant la ligne suivante : Dmarrer --> Panneau de Configuration --> Programmes et fonctionnalits

Vous vous situez la fentre programmes et fonctionnalits, pour accder au gestionnaire de serveur cliquez sur Activer ou dsactiver des fonctionnalits Windows .

Ceci est donc la fentre de Gestionnaire de serveur o sont regroups lensemble des rles et autres informations du serveur, nous souhaitons installer IIS7 pour cela cliquez sur Ajouter des rles

Cette fentre vous prsente les pr-requis pour installer IIS7. Lorsque vous avez tout lu, cliquez sur suivant.

Sont reprsents ici tout les rles disponible sur votre serveur, nous sommes plus particulirement intress par le rle Serveur Web(IIS), cochez le.

Lassistant vous propose de faire la slection des rles ncessaires au fonctionnement dIIS7, cliquez sur Ajouter les fonctionnalits requise .

Nous pouvons voir que lassistant na pas slectionn dautre rle, vous pouvez cliquez sur Suivant.

Cette fentre vous propose une introduction au serveur Web ( IIS7). Lorsque vous avez tout lu, cliquez sur suivant.

Nous sommes prsent sur la fentre de slection des services de rles, nous allons donc respecter notre cas concret et slectionner ASP.NET dans : Serveur Web --> Dveloppement dapplications --> ASP.NET

Afin de vous simplifier les choses, aprs avoir coch la case, lassistant vous propose de slectionner tout les services ncessaires au serveur Web pour tre un serveur de dveloppement pour ASP.NET. Cliquez donc sur Ajouter les services de rle requis .

Lassistant a donc slectionn tous les services ncessaires, vous pouvez cliquer sur Suivant.

La premire fentre vous prsente un rcapitulatif des diffrents services installer, lorsque vous avez tout vrifi, cliquez sur Installer. La deuxime fentre reprsente ltat davancement de linstallation. La troisime fentre montre ltat final de linstallation, il est important que chaque rle soit suivant de la mention Installation russie . Vous pouvez cliquez sur Terminer.

Vous vous trouvez dans le gestionnaire de serveur do vous pouvez voir lensemble de votre serveur Web IIS7. Afin de vrifier que votre installation cest bien drouler, ouvrez un navigateur Web, puis dans la barre dadresse tapez : http://localhost/ Vous devrez avoir l'image suivante qui apparat dans votre navigateur.

III Mise en place d'un serveur Web


III.1 La configuration de IIS7
Le serveur Web IIS7 est bas sur des fichiers de configurations. Il existe principalement 2 fichiers :

applicationHost.config : regroupe la configuration du serveur web.config : ddi la configuration du serveur relative une application, un site web

On peut ainsi spcifier des configurations diffrentes pour chaque site. Il faut savoir que le serveur possde son fichier web.config et galement les sites web. Les sites Web rcuprent galement les paramtres du fichier web.config du serveur web. Le fichier applicationHost.config se trouve dans %windir%\system32\inetsrv\config . Ces fichiers ne sont modifiables que par des administrateurs. Il existe aussi une commande pour modifier le fichier applicationHost.config : appcmd.exe . En effet, cet utilitaire lit le fichier de configuration applicationHost.config puis y crit les modifications. Si vous dsirez crire ou lire des informations dans le fichier web.config , il faut rajouter largument /commit:WEBROOT la fin de la commande. Voici un exemple : appcmd list config /section:machineKey /commit:WEBROOT Cette commande va afficher la section MachineKey dans le fichier racine web.config .

appcmd set config "Supinfo" /section:defaultDocument /enabled:false Cet exemple modifie la configuration du rpertoire Supinfo . On dsactive ici la fonctionnalit de documents par dfaut. Cette configuration sapplique tous les rpertoires de Supinfo . On peut galement modifier le fichier applicationHost.config en utilisant linterface graphique du serveur IIS (IIS Manager).

Modification du fichier applicationHost.config. Le fichier web.config est aussi administrable du mme endroit.

Modification du fichier web.config. En utilisant linterface graphique, configurer votre serveur via les diffrents icnes sur la page principale dadministration dIIS. Maintenant que nous avons vu comment rgler les paramtres de notre serveur IIS7, on va pouvoir crer un site.

III.2 Ajouter un site Web


Cette partie va nous montrer comment hberger un site web et nous allons voir une mthode pour associer notre site au site par dfaut (http://localhost). Tout dabord, nous allons commencer par crer une page web. Pour cet article, nous allons utiliser seulement notepad.exe et crire directement notre page web avec les balises adquates.

Nous remarquons que le dossier qui contient le site web par dfaut est C:\inetpub\wwwroot . Jai choisit de mettre mon site dans le rpertoire C:\inetpub\wwwroot\Supinfo mais vous pouvez le mettre nimporte o du moment que vous puissiez y accder. Jai appel ma page index.html . Si votre site est dj ralis, copiez lintgralit de votre site dans un dossier. Attention cependant au respect des langages supports par IIS7. Si vous voulez raliser un site en ASP.NET, il va falloir installer les modules pour pouvoir lire vos pages *.aspx et pareil pour PHP.

Voici le site web que je viens de crer. Maintenant, aller dans Dmarrer / Outils dadministration / Internet Information Service (IIS) Manager .

Vous arrivez dsormais sur linterface dadministration du serveur IIS. Pour ajouter le site que vous venez de crer, dveloppez le nom de votre serveur puis faites un clic droit sur Sites et cliquez sur Ajouter un site Web .

Une fentre vous permettant de rentrer les paramtres souvre.

Le champ Nom du Site va permettre de dfinir un nom de site pour y accde par votre navigateur. Dans mon cas, ce site va tre accessible via ladresse http://winsrv2k8/Localhost. (Winsrv2k8 tant le nom de mon serveur web). Le champ Chemin physique renseigne sur lemplacement rel du site Web. Dans mon cas, le site se trouve lemplacement C:\inetpub\wwwroot\Supinfo. Longlet Binding permet dassocier notre site un nom de site web, de spcifier le port pour accder notre site, de choisir entre HTTP et HTTPS et de choisir linterface pour accder au site. Ici, nous pouvons accder notre site sur le port 80 (port http par dfaut), en tapant http://localhost/. Le fait de renseigner le champ Host Name va permettre daccder au site via ladresse http://localhost/plutt quen tapant http://winsrv2k8/Localhost. Ainsi, toutes requtes arrivant sur le port 80 avec comme adresse http://localhost/ sera redirig vers notre site web. Cela peut tre le premier niveau dune scurit en entreprise.

Nous pouvons voir dans laffichage de gauche que notre site est bien apparu.

IV Modules Complmentaires & Scurit


IV.1 Modules Complmentaires
Nous avons pu voir prcdemment que pour la version IIS7, Microsoft a fait des efforts afin d'intgrer le PHP et autres langages dynamiques dans son serveur web nous verrons ici l'installation et la configuration d'ASP.NET et de PHP5.

IV.1.a ASP.NET Lors de l'installation du serveur web IIS7 on peut constater que ce dernier a t totalement optimis pour l'ASP.NET, car il permet lors de l'installation de pouvoir installer tous les modules ncessaires au fonctionnement de l'ASP.NET. Ainsi, si vous avez suivi mes dmarches pour l'installation du serveur web IIS7 au point II.2, je vous ai fait slectionner les options ncessaires pour l'ASP.NET :

Les quatre options cocher sont ASP.NET et Extensibilit.NET puis Extensions et Filtres ISAPI qui est l'acronyme d'Internet Server Application Programming Interface. Le but d'ISAPI est de permettre d'augmenter les fonctionnalits du serveur web au moyen de DLLs d'extension. Il existe deux types de DLL ISAPI : les filtres ISAPI et les extensions ISAPI. Il vous faut placer l'ensemble des fichiers de votre projet ASP.NET dans votre dossier : c:\inetpub\wwwroot . Ensuite suivez la dmarche explicative du III.2 qui permet d'ajouter un site web.

Si vous avez suivi toutes ces explications, alors vous devriez pouvoir faire fonctionner votre site web en entrant http://localhost/ dans la barre de lien de votre navigateur internet. Pour la conception d'un site en ASP.NET et en apprendre les rudiments redirig vous vers www.dotnet-france.com IV.1.b PHP Afin d'installer PHP5, il est ncessaire de tlcharger la version zip qui sert l'obtention des librairies complmentaires de PHP et le .msi disponible tous deux cet adresse : http://www.php.net/downloads.php Une fois ces deux fichiers tlchargs nous allons respecter un ordre d'opration, savoir l'installation du .msi suivi de l'extraction du .zip puis configuration de php.ini et pour finir configuration d'IIS7.

Installation du .msi

Nous allons donc commencer par l'excution du .msi, pour ce faire double cliquez sur votre fichier.msi correspondant PHP5 :

Vous arrivez sur la page d'accueil, cliquez sur Next.

Vous devez accepter les termes de la License puis cliquez sur Next.

Vous tes dans la fentre de slection de votre rpertoire pour y installer PHP, laissez le par dfaut et si toutefois, C:\Program Files\PHP\ n'est pas par dfaut alors remplacez la ligne par dfaut par celle entoure sur l'image. Puis cliquez sur Next.

Dans ce cas nous souhaitons donc installer notre module PHP sur un serveur web IIS, il est conseill

pour des raisons de scurits d'utilise IIS ISAPI module plutt que CGI.

Ce module servant uniquement vous montrer comment installer un module PHP au sein de IIS nous ferons une installation de base et allger. Puis cliquez sur Next.

Pour poursuivre votre installation cliquez sur Install.

Vous avez prsent install PHP5 sur le serveur Web IIS7.

Extraction du .zip

Nous allons prsent passer la partie extraction des librairies complmentaires de PHP. Pour cela faite click droit sur votre fichier.zip puis cliquez sur Extraire Tout :

La fentre suivante apparat, cliquez sur Parcourir afin de slectionner le rpertoire contenant votre installation de PHP5.

Dans cette fentre dplier l'arborescence jusqu' trouver le rpertoire PHP. Slectionnez le puis cliquez sur OK.

Une fois le bon chemin slectionnez cliquez sur extraire.

Si une fentre s'ouvre vous demandant de remplacer un fichier ou un dossier existant, alors remplacez-le.

Vous avez extrait tout le contenu de l'arche .zip dans le dossier C:\Program Files\PHP\

Configuration de php.ini

Allez dans le rpertoire ou vous venez d'extraire votre archive.zip, dans ce rpertoire se trouve un fichier PHP.ini qu'il faut diter, une fois le fichier trouver double cliquez dessus

Une fois dans le fichier, pour rechercher la ligne, allez dans Edition?Rechercher, dans la zone recherche indiquer ceci : extension_dir = "./"

Une fois cette ligne trouve, remplacez la par : extension_dir = "ext/"

Vous pouvez sauvegardez votre fichier puis quittez-le.

Configuration d'IIS7 pour l'utilisation de PHP5

Il faut a prsent configurer notre serveur web afin de pouvoir utiliser PHP5. Pour cela il faut lancer la console d'administration IIS : Dmarrer --> Outils d'administration --> Gestionnaire des services internet(IIS)

Double cliquez sur Document par dfaut :

Inscrivez-y index.php et placez-le en fin de liste. Une fois ceci fait, revenez sur la page d'accueil de votre serveur web puis double cliquez sur Mappage de Gestionnaire:

Vrifier dans cette fentre s'il y a un script ayant pour chemin d'accs *.php, s'il n'y en a pas, il vous faut le crer, pour cela sur la colonne de droite cliquez sur Ajouter un mappage de script puis inscrivez s'y les mmes informations que celle figurant sur les captures d'cran suivantes.

Lorsque les trois champs sont remplis, cliquez sur Restrictions des demandes et indiquez la mme configuration que celle sur les trois captures d'cran suivantes :

Une fois ceci fait, revenez sur la page d'accueil de votre serveur web puis double cliquez sur Restrictions CGI et ISAPI :

Ajoutez y une restriction, afin de complter les champs, inscrivez y les mme paramtres que ceux de la capture d'cran suivante :

A prsent, dans l'onglet connexion placez-vous sur votre site web, vous devrez refaire la configuration de l'tape Mappage de Gestionnaire par ailleurs il ne faut pas oublier de positionner votre nouveau Gestionnaire au-dessus du StaticFile. Pour savoir lequel est au-dessus duquel il faut cliquer droite sur Afficher une liste trie...

La configuration d'IIS7 est termine, il ne vous reste plus qu'a placer ce fichier dans votre dossier : c:\inetpub\wwwroot (dossier principale par dfaut de votre serveur web) Index.php : Inscrivez ensuite ce lien dans votre navigateur pour tester votre page : http://localhost/index.php

IV.2 Scurit
Nous allons maintenant mettre en place la scurit sur notre site cr prcdemment. Pour cela, nous allons crer un accs ce site en HTTPS (HyperText Transfer Protocol Secured) en utilisant des certificats. Nous allons aussi voir comment restreindre l'accs certains utilisateurs. IV.2.a Installation d'une autorit de certification Pour commencer, il faut installer une autorit de certification. Cette autorit va permettre de gnrer des certificats pour utiliser le protocole HTTPS via SSL (Secure Socket Layer). Un certificat permet de garantir que l'metteur est bien celui qu'il prtend tre. Pour installer une autorit de certification, il faut commencer par aller dans Server Manager puis d'ajouter un rle.

Ensuite, l'assistant se lance et on clique sur Suivant . Il faut choisir Active Directory Certificate Service .

On va alors commencer configurer notre autorit en fonction de nos besoins et de notre rseau. L'affichage suivant nous dcrit le service de certificats :

.Une fois que l'on a cliqu sur suivant, on choisit les rles associs aux certificats que l'on souhaite installer. Nous choisissons d'installer l'autorit de certification et le module permettant de demander un certificat par le web ( Certificate Authority Web Enrollment ). Les autres modules sont destins des infrastructures complexes.

On va maintenant choisir le type de notre autorit de certification. Il en existe 2 :


Enterprise qui permet de synchroniser notre autorit de certification avec Active Directory Standalone qui n'utilise pas Active Directory pour grer ses certificats

On choisit si notre autorit de certification est l'autorit racine de notre infrastructure clef publique ou si elle dpend d'une autre autorit.

On gnre maintenant une paire de clefs notre autorit de certification (clef publique / clef prive). On peut soit en crer une nouvelle soit en choisir.

On renseigne dsormais les paramtres de chiffrement de nos clefs. J'ai choisis d'utiliser l'algorithme RSA/SHA avec une clef d'une longueur de 4096 BITS.

A l'tape suivante, on donne un nom notre autorit de certification.

On choisit la priode de validit des certificats.

On valide les chemins par dfaut de notre autorit de certification.

L'cran suivant nous rcapitule tous nos paramtres de configuration de notre autorit de certification et nous indique que l'on ne peut plus modifier le nom du contrleur de domaine ainsi que le nom du domaine sous peine de dysfonctionnement de l'autorit.

Une fois le rle install, l'assistant prend fin et nous signale que tout s'est effectu sans problmes.

IV.2.b HTTPS

Configuration de HTTPS via SSL

Notre autorit de certification cre, on va gnrer un certificat auto-sign pour utiliser SSL. Pour cela, il faut aller dans l'assistant d'IIS7 et ouvrir Server Certificate .

On slectionne dans le menu de droite Crer un certificat auto-sign .

On donne un nom notre certificat puis on valide.

Notre certificat apparat dsormais dans la liste des certificats d'IIS. On va maintenant pouvoir associer HTTPS notre site Web. Pour cela, clic droit sur notre site puis Edit Binding .

Une fentre apparat nous spcifiant que ce site est dj associ au protocole HTTP. Cliquez sur Ajouter pour lui associer HTTPS.

Dans la fentre suivante, slectionnez HTTPS .

Il est dsormais possible de choisir un certificat pour utiliser le protocole SSL pour crypter le transfert des donnes entre l'utilisateur et le serveur.

Il faut maintenant configurer le protocole SSL sur notre site Web. Pour cela, dans l'assistant d'IIS7,

choisissez SSL Settings .

Vous pouvez modifier les paramtres SSL dans la fentre suivante.

Suivant l'importance et la confidentialit de votre site vous pouvez configurer votre server de telle

manire exiger que le client utilise un certificat, l'autoriser en avoir un et pareil pour SSL. Testons notre serveur sur diffrents navigateurs.

Test sur les clients du protocole HTTPS via SSL

Les paramtres des navigateurs autorisent et utilisent le protocole SSL. Le test suivant a t effectu sur un Macbook sous Firefox.

Lorsque l'on accde l'adresse https://Winsrv2k8/ ou https://10.0.0.100/, le navigateur nous demande si nous voulons faire confiance au certificat du site metteur. Il est possible d'examiner le certificat. Firefox nous informe que notre site n'est pas rpertori comme un site de confiance et qu'il peut tre dangereux. Il nous suggre de quitter ce site ou de ne pas rentrer d'informations confidentielles.

Une fois que l'on a accept de visualis le site et de faire confiance au certificat, nous accdons au site Web en HTTPS et le cadenas apparat nous signalant que le site est scuris. En cliquant sur le certificat, nous pouvons voir des informations complmentaires notamment que la connexion est chiffr via SSL (128 bits).

Nous allons maintenant effectuer le mme test sous Windows XP quip d'internet explorer v6.

Lorsque nous tentons d'accder notre site Web, le navigateur nous demande de faire confiance au site Web. Si on fait confiance, on arrive sur le site en HTTPS et le cadenas est prsent.

Nous allons maintenant effectuer le test sous Windows Server 2008 quip d'internet explorer v7. Si nous accdons au site via HTTPS, le navigateur commence par nous indiquer que nous allons nous connecter au site via une connexion scuris.

Ensuite, IE7 nous signale qu'il ne fait pas confiance au certificat du site et nous suggre de fermer le site.

Si nous continuons, nous arrivons sur le site mais l'adresse est surligne en rouge et IE7 nous indique toujours que le certificat n'est pas considr, pour lui, comme une source de confiance.

Nous voyons par cet exemple, qu'IE7 est plus scuris et nous indique de faire attention face des sites non reconnus comme source de confiance. Nous allons maintenant voir comment restreindre l'accs aux utilisateurs anonymes ou n'importe quel utilisateur.

IV.2.c Restriction d'accs Tout d'abord nous allons voir comment restreindre l'accs aux utilisateurs anonymes. Lancez l'assistant d'IIS7 et aller dans le menu Authorization Rules .

Ce menu permet de dfinir les utilisateurs qui auront ou non le droit d'accder notre site Web. Par dfaut, tous les utilisateurs y ont accs. Faites un clic droit dans la nouvelle page de l'assistant qui vient d'apparatre et choisissez Add Deny Rule . On va interdire l'accs aux utilisateurs anonymes.

C'est dans ce volet d'affichage que nous allons choisir nos restrictions d'accs.

On peut choisir d'interdire tous les utilisateurs, les utilisateurs anonymes, certains rles ou groupes, des utilisateurs en particulier. On va pouvoir restreindre notre rgle des types de requtes (GET, POST). Une fois notre rgle valide, nous pouvons voir l'ensemble des rgles appliques notre site.

Ensuite, si on essai d'accder au site, nous aurons le message d'erreur suivant :

L'obtention de ce message est normal, tant donn que lorsqu'on a cr le site, nous lui avons associ le module d'authentification : Anonymous Authentication . Ceci aura pour effet d'accder au site web chaque fois via un accs anonyme. Pour changer cela, aller dans l'assistant d'IIS7 et ouvrez le menu Authentication .

Ensuite, parmi les modules proposs, slectionnez le module Basic Authentication . Ceci affichera, chaque connexion au site Web, une bote de dialogue vous demandant un login / mot de passe pour accder au site.

Les utilisateurs pouvant se connecter au site Web sont ceux situs dans l'Active Directory condition qu'ils ne soient pas refuss dans le menu Authorization Rules . Les autres modules d'authentifications permettent de faire une authentification transparente avec l'AD, d'utiliser les cookies

V Autres Services
V.1 FTP
Nous allons nous consacrer dsormais llaboration dun serveur FTP (File Transfert Protocol) afin de pouvoir partager des fichiers entre des utilisateurs. V.1.a Installation du serveur FTP 7 Pour commencer, il faut tlcharger FTP v7 sur le site officiel de Microsoft sinon la version incluse dans IIS7 est la version 6. Pour cela, rendez-vous sur ladresse : www.microsoft.com/france/telechargements/default.aspx Le fichier que jai tlcharg pour la rdaction de cet article se nomme : ftp7_x86_rtw.msi . Une fois excut, lassistant dinstallation se lance.

Cliquez sur suivant et acceptez la licence.

Cliquez sur suivant pour pouvoir choisir les modules que vous souhaitez installer. Jai choisit de tous les installer pour bnficier au maximum des capacits du FTP.

La configuration de linstallation est termine. Validez le prochain cran pour installer FTP 7.

Une fois que linstallation sest termine avec succs, vous pouvez consulter le fichier dinstallation et utiliser FTP 7. Vous pouvez constater que de nouveaux icnes sont apparus dans la fentre dadministration dIIS7.

Ces nouveaux icnes permettent dadministrer les paramtres FTP de notre serveur IIS7. V.1.b Cration dun espace FTP On va commencer par crer un rpertoire dans le rpertoire C:\inetpub\ftproot que lon appelle FTP_Supinfo .

Nous allons maintenant crer un espace FTP pour pouvoir dposer des fichiers dessus et en rcuprer. Pour cela, aller dans Dmarrer / outils dAdministrations / Internet Information Services (IIS) Manager .

Ensuite, fates un clic droit sur le dossier Sites et cliquez sur Ajouter un site FTP .

Lassistant de cration despace FTP se lance et il faut remplir le nom de lespace et le chemin de lespace. Jai choisit de lappeler FTP de Supinfo et de mettre le chemin du dossier cr prcdemment.

Ensuite, il faut configurer laccs notre FTP puis SSL. Jai choisit de laisser les paramtres par dfaut pour laccs lespace FTP (port 21 et par toutes les interfaces) et de configurer SSL plus tard.

Une fois cette tape valide, on renseigne les autorisations du site et le mode dauthentification c'est--dire comment et qui peuvent y accder. La partie Authentification permet de dfinir le mode dauthentification. Si lon choisit Anonyme , tout le monde pourra y aller sans problme alors que le mode Basique permet dutiliser des comptes de lAD (Active Directory). La partie Autorisation permet de renseigner les utilisateurs pouvant accder notre espace FTP. On prcise aussi les permissions (Lecture, Ecriture). Jai choisit dautoriser les utilisateurs anonymes consulter notre espace et leur donner seulement un accs en lecture.

Cliquez sur Terminer pour terminer la configuration de votre site et pouvoir y accder. Maintenant, les utilisateurs anonymes peuvent se connecter et ne peuvent pas modifier, crer et supprimer des fichiers. Pour effectuer des tests, jutilise le client FileZilla .

Nous allons maintenant nous connecter avec des utilisateurs appartenant Active Directory. Pour cela, il faut commencer par changer (ou rajouter si lon souhaite toujours se connecter anonymement) le mode dauthentification. Cliquez sur FTP Authentification dans lassistant dIIS.

Ensuite, slectionnez Basic Authentication et activez le dans le menu de droite.

Revenez dans lassistant dIIS7 et cliquez sur FTP Authorization .

Vous pouvez ajouter des utilisateurs pouvant accder notre espace FTP. Faites un clic droit au milieu de la fentre et choisissez Add Allow Rule .

Choisissez dajouter un utilisateur appartenant lActive Directory. Lutilisateur me correspondant est aroumegous (Aurlien Roumgous). Jai choisit de me donner un accs complet (Lecture, Ecriture)

Je peux dsormais accder mon espace FTP via mon utilisateur et mettre des fichiers sur le FTP.

Nous allons maintenant configurer les messages daccueil, de bienvenue, de sortie Pour cela, allez dans lassistant dIIS et cliquez sur FTP Messages .

Ensuite, on va configurer chaque message dans lassistant. Jai choisit de mettre un message daccueil : Bienvenue sur l'espace FTP du site de Supinfo ralis pour la rdaction de l'article sur IIS7 et un message de sortie Au revoir .

Dsormais, lorsque nous nous connectons notre FTP, nous avons le message de bienvenue.

Il est aussi possible de mettre en place le protocole SSL pour chiffrer les donnes entre le serveur et le client. Pour cela, allez dans lassistant IIS et cliquez sur FTP SSL Settings .

Ensuite, vous pouvez configurer les paramtres se SSL. Pour commencer, choisissez le certificat. Jai rutilis le certificat auto-sign gnr prcdemment. Ensuite, on va choisir si on oblige le client utiliser le protocole SSL ( Require SSL Connections ) ou sil nest pas oblig ( Allow SSL Connections ). Pour finir, on choisit si on chiffre les connexions SSL.

Pour pouvoir se connecter en utilisant SSL avec le client, il faut effectuer quelques paramtres sur FileZilla. Pour commencer, crez une nouvelle connexion et configurez-la comme suit :

Il faut que vous renseigniez le type de connexion et lauthentification. Ensuite, lors de la connexion au serveur FTP, le serveur demandera au client de faire confiance son certificat.

Aprs avoir valid le certificat, le client est authentifi et la connexion est chiffre. On peut galement voir les utilisateurs connects notre serveur FTP via lassistant IIS7. Pour cela, cliquez sur FTP Current Sessions .

Vous voyez alors les utilisateurs connects votre serveur FTP.

V.2 Webdav
Nous allons maintenant voir comment mettre en place un serveur WebDAV (Web-based Distributed Authoring and Versioning). WebDAV est une extension du protocole http permettant de partager, rcuprer, dposer et synchroniser des fichiers facilement travers le Web. V.2.a Installation de WebDAV 7 Pour commencer, il faut tlcharger FTP v7 sur le site officiel de Microsoft : http://www.iis.net/downloads/default.aspx Le fichier que jai tlcharg pour la rdaction de cet article se nomme : webdav_x86_rtw.msi . Une fois excut, lassistant dinstallation se lance.

Une fois que vous avez valid la licence et cliquez sur suivant, linstallation se lance. Celle-ci est assez rapide.

Vous devriez voir apparatre un nouvel icne dans lassistant dIIS7.

Cet icne vous permet de configurer les paramtres et les utilisateurs pouvant accder WebDAV. V.2.b Configuration de WebDAV 7 Pour activer WebDAV, cliquez sur WebDAV Authoring Rules puis sur le menu de droite Enable WebDAV .

WebDAV est maintenant active. Il faut configurer les autorisations pour accder au partage de fichier. Pour cela, cliquez dans le menu de droite sur Add Authoring Rule .

La fentre suivante vous permet de configurer une rgle WebDAV. Le premier onglet permet de dfinir les fichiers accessibles via WebDAV. Le second onglet permet de dfinir les utilisateurs pouvant accder au WebDAV. Le dernier onglet permet de dfinir les permissions des utilisateurs.

Jai donn tous les droits lutilisateur aroumegous et il peut accder tous les types de fichiers prsents sur le serveur. Ensuite, WebDAV utilise le mode dauthentification Windows Authentication (utilise le login et mot de passe de connexion Windows) ou Basic Authentication (Authentification via une popup) coupl avec SSL. Pour configurer le mode dauthentification, aller dans lassistant dIIS7 et dans Authentication .

Ensuite, il suffit dactiver le module que lon souhaite en le slectionnant et en cliquant sur Enable .

Une fois les modules dauthentifications activs, vrifiez dans Authorization Rules si vous autorisez votre utilisateur accder au site. Si vous lactivez dans WebDAV et pas dans le site, lutilisateur ne pourra pas accder au serveur WebDAV.

Dans mon cas, je nautorise seulement les utilisateurs authentifis et non les utilisateurs anonymes.

Notre serveur WebDAV est maintenant oprationnel. Nous allons faire un test sur un client. Pour cela, jutilise un Windows XP qui se connecte au domaine via lutilisateur aroumegous . Je cre un lecteur rseau la main (via la commande net use) pointant vers un rpertoire que jai cr dans mon serveur configur pour utilis WebDAV. La commande est : Net use O: http://winsrv2k8/Supinfo . Le lecteur a correctement t mont dans Poste de Travail .

Nous voyons que Windows a mont notre lecteur en fonction du nom douverture de session. Nous allons modifier les autorisations de lutilisateur aroumegous dans la console WebDAV de lassistant dIIS7. Nous allons lui mettre les droits seulement en Lecture.

Pour que les droits sappliquent, il faut redmarrer le serveur IIS.

Nous voyons dsormais que nous navons plus le droit de modifier un fichier.

V.3 Les autres fonctionnalits de l'interface d'administration


Nous allons maintenant voir les autres fonctionnalits dIIS 7 que nous avons abord dans cet article. Nous allons voir comment configurer la compression HTTP. Lutilisation de la compression HTTP permet de rduire le trafic sur le rseau dans le but de transfrer les fichiers, du serveur au client. Le temps de tlchargement et les performances sont donc amliors au niveau de lutilisateur final. Pour configurer la compression HTTP, allez dans lassistant dIIS7 et dans le menu Compression .

Ensuite, il suffit de cocher si vous voulez autoriser la compression pour le contenu statique et/ou le contenu dynamique.

On peut galement configurer les pages par dfaut que va charger le serveur IIS lorsque vous arrivez sur le site. Par dfaut, sur les sites Web, elle se nomme index.htm ou sur le serveur IIS7 iisstart.htm . On va configurer notre serveur IIS7 pour dmarrer sur la page mapage.htm . Pour cela, allez dans le menu Default Document dans lassistant IIS7.

Vous arrivez alors sur toutes les pages reconnus pour tre des pages de dmarrage.

Pour ajouter la page mapage.htm , cliquez sur Ajouter dans le menu de droite. Entrez le nom de votre page Web puis validez.

Maintenant, on va remplacer le nom de la page du serveur IIS7 ( iisstart.htm ) par mapage.htm pour vrifier que le site considre bien mapage.htm comme page par dfaut.

On lance le navigateur pour vrifier.

Nous avons bien notre site Web qui apparat et pas derreur 404 (page not found). Commenons par crer une page 404.htm que lon stocke ladresse http://localhost/Error/404.htm .

Nous allons maintenant personnaliser nos pages derreur. Allez dans le menu Error Pages dans lassistant IIS7.

Nous pouvons voir toutes les pages derreur par dfaut.

Double cliquez sur lerreur 404 pour pouvoir changer la page et mettre la page que lon a cre.

Validez puis essayez de rentrer une adresse qui nexiste pas dans le navigateur. Notre page devrait se charger.

Nous allons maintenant en place une redirection. Cela peut tre utile lorsquon met jour un site et que lon ne peut pas le mettre en ligne ou lorsquon ferme un site et quon souhaite rediriger les requtes vers un autre site. Nous allons rediriger notre site vers www.supinfo.com. Pour cela, allez dans le menu HTTP Redirect .

Maintenant, il faut cocher la case Redirect Requests to this destination puis insrer ladresse du site dessous. Il est aussi possible de configurer le comportement des redirections en fonction de si on tape ladresse exacte, en fonction du code de retour

Lorsque nous tapons ladresse http://localhost/ nous arrivons ladresse http://www.supinfo.com/.

Pour finir cette partie, nous pouvons limiter laccs au site en fonction de ladresse IP (prive ou publique). Allez dans le menu IPv4 Address et Domain Restrictions .

Ensuite, il suffit dajouter des rgles dinterdiction.

Nous allons interdire une machine du rseau accder au site. Pour connatre son adresse IP, tapez IPCONFIG dans une invite de commande sur la machine que lon veut interdire.

Son adresse IP est 10.0.0.4. Nous allons donc interdire cette IP.

Ensuite, essayons daccder au site IIS7 via la machine 10.0.0.4.

Laccs est refus.

Conclusion
Nous avons donc pu voir que Microsoft propose ici une version de leur serveur web totalement remani qui nous permet d'apprcier le systme de module, le dploiement et la maintenance de ce serveur web, ainsi que les efforts effectuer du ct de Microsoft pour intgrer le PHP et autres langages dynamiques dans son serveur web. On pourra galement apprcier la compatibilit descendante avec IIS6 et le portail de la communaut IIS de Microsoft (www.iis.net) qui contient toutes les informations dont vous avez besoin.