Vous êtes sur la page 1sur 74

Serveur Web IIS 7 de Microsoft

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.
Ce cours 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 en 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 FTP 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 sur 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 ou 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).

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. 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 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 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 essaie 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 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 dinstaller tous 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 choisi de lappeler FTP de Supinfo et
de mettre le chemin du dossier cr prcdemment.

Ensuite, il faut configurer laccs notre FTP puis SSL. Jai choisi 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 choisi 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 choisi 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 choisi 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 de 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 pop-up) 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, jautorise 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 utiliser 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 mettre 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.

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.