106
Windows Server 2008 IIS 7

Windows Server 2008 IIS 7

Embed Size (px)

DESCRIPTION

Plus des Cours :https://www.facebook.com/ClubTutorialInformatique

Citation preview

Page 1: Windows Server 2008 IIS 7

Windows Server 2008

IIS 7

Page 2: Windows Server 2008 IIS 7

INTRODUCTION

IIS7 est la dernière version du serveur web de Microsoft, ce dernier est rattaché, dans une

version allégée, à Windows Vista et dans sa version intégrale à Windows Server 2008. Une

version de Windows Server 2008 lui est entièrement dédiée avec Windows Web Server 2008.

Cette version de IIS7 est également utilisable sur l’édition Core de Windows Server 2008

seulement ce server Web ne prendra pas en charge le Framework .NET.

Cette dernière version d’IIS dispose d’une toute nouvelle architecture qui change totalement

d’IIS6, cette nouvelle architecture permettra une administration plus facile et plus

performante.

Dans cet article, nous présenterons les améliorations d'IIS 7.0 et aborderons ensuite dans les

détails les différentes étapes du déploiement et l’administration du serveur web puis nous

arborerons les différents modules qui composent notre serveur web préféré.

Cet article est réalisé avec Windows server 2008.

I .Les nouvelles fonctionnalités de IIS7

La nouvelle version d’IIS présente des atouts majeurs par rapport aux anciennes versions. Il

est beaucoup plus modulable, plus sécurisé et plus facilement administrable.

En effet, IIS7 est totalement modulaire et possède plus de 40 fonctionnalités. Ces modules

peuvent être installés en fonction des besoins et permettent donc de réduire la surface

d'attaque de notre serveur IIS qui sont actuellement très touchés. Cela permet aussi

d'augmenter les performances du serveur en faisant tourner seulement l'essentiel et de réduire

le trafic inutile. On peut par exemple rajouter le module « WindowsAuthModule » qui va

permettre de prendre en charge l'authentification NTLM. On peut désinstaller tout module

quand nous le décidons via le composant « Windows feature ».

Page 3: Windows Server 2008 IIS 7

De plus, la nouvelle version d'IIS repose sur une hiérarchie de fichiers XML. Cette hiérarchie

regroupe un fichier qui contient la configuration globale côté serveur («

applicationHost.config ») et un fichier « web.config » au niveau structure de répertoire

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 améliorée. On peut administrer notre serveur IIS via les lignes

de commande en utilisant l'outil « appcmd.exe » ou via l'interface graphique.

Page 4: Windows Server 2008 IIS 7

Cette interface graphique permet de gérer entièrement le serveur et est très complète. On peut

également utiliser cet outil à distance via une connexion HTTPS/SSL. On peut aussi rajouter

nos interfaces personnalisées.

Le serveur IIS7 est basé sur les codes d’IIS6. Il renforce l'architecture du code et apporte des

fonctionnalités de générations des applications web sécurisées. Le fait que l'on peut choisir en

détail d'installer ou de ne pas installer permet de réduire sa surface d'attaque ce qui le rend

plus sécurisé. Le mode intégré 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'accès à certaines URL (filtrage web)

dont nous verrons plus en détail ultérieurement.

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 détecter les problèmes systèmes, superviser toute activité et contrôler lors de

dépannage ou maintenance.

Le serveur IIS7 spécifie également des solutions pour l'utilisateur lorsqu'il génère une erreur

sur une page lui permettant ainsi de résoudre le problème plus rapidement.

Page 5: Windows Server 2008 IIS 7

1er cadre : Nom de l’erreur.

2ème cadre : Indications sur l’erreur.

3ème cadre : Causes de l’erreur.

4ème cadre : Résolution de l’erreur.

Dans cet exemple, nous essayons d’accéder à la page http://localhost/Supinfo qui n’existe pas.

Nous pouvons voir que IIS7 nous dit pourquoi il croit qu’il y a eut cette erreur et quoi faire

pour la résoudre.

II L’installation d’IIS7

II.1 Les modules -Développement applicatif

Fournit l'infrastructure de développement et d'hébergement des applications web. Utilisez ces

fonctionnalités pour créer des contenus Web ou étendre la fonctionnalité des services Internet (IIS).

Ces technologies permettent généralement d'effectuer des opérations dynamiques qui entrainent la

création de document HTML, qui sont ensuite envoyés par les services Internet (IIS) pour traiter les

demandes des clients.

-Intégrité et Diagnostics

Fournit une infrastructure pour analyser, gérer et dépanner l'intégrité des serveurs, des sites et des

applications Web.

Page 6: Windows Server 2008 IIS 7

-Sécurité

Fournit une infrastructure pour sécuriser le serveur Web face aux utilisateurs et aux demandes. IIS

prend en charge plusieurs méthodes d'authentification. Choisissez un modèle d'authentification

approprié en fonction du rôle du serveur. Filtrez toutes les demandes entrantes, en rejetant sans

traitement les demandes qui correspondent à des valeurs définies 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 intégrant les possibilités de mise rn

cache dynamiques d’ASP.NET avec les possibilités de mise en cache de sortie statiques qui étaient

présentes dans IIS 6.0. IIS permet également d'utiliser plus efficacement la bande passante et

d'optimiser l'utilisation de mécanismes de compression courants.

-Outils de gestion

Fournissent une infrastructure pour gérer un serveur Web IIS7. Vous pouvez utiliser l'interface

utilisateur, les outils en ligne de commande et les scripts IIS pour gérer le serveur Web. Vous pouvez

également modifier directement les fichiers de configuration.

-Service de publication FTP

Intègre le serveur FTP (File Transfert Protocol) et la console de gestion FTP. Vous pouvez configurer

un service de publication FPT pour autoriser les utilisateurs à télécharger des fichiers.

II.2 L'installation Après la présentation des principaux modules nous allons aborder les différentes étapes pour

effectuer l’installation d’IIS7, pour cela nous allons prendre le cas concret d’installer un serveur de

développement pour ASP.NET.

Afin d’installer IIS7 il faut lancer le gestionnaire de serveur en suivant la ligne suivante :

Démarrer --> Panneau de Configuration --> Programmes et fonctionnalités

Page 7: Windows Server 2008 IIS 7

Vous vous situez la fenêtre programmes et fonctionnalités, pour accéder au gestionnaire de serveur

cliquez sur « Activer ou désactiver des fonctionnalités Windows ».

Page 8: Windows Server 2008 IIS 7

Ceci est donc la fenêtre de Gestionnaire de serveur où sont regroupés l’ensemble des rôles et autres

informations du serveur, nous souhaitons installer IIS7 pour cela cliquez sur « Ajouter des rôles »

Page 9: Windows Server 2008 IIS 7

Cette fenêtre vous présente les pré-requis pour installer IIS7. Lorsque vous avez tout lu, cliquez sur

suivant.

Page 10: Windows Server 2008 IIS 7

Sont représentés ici tout les rôles disponible sur votre serveur, nous sommes plus particulièrement

intéressé par le rôle Serveur Web(IIS), cochez le.

L’assistant vous propose de faire la sélection des rôles nécessaires au fonctionnement d’IIS7, cliquez

sur « Ajouter les fonctionnalités requise ».

Page 11: Windows Server 2008 IIS 7

Nous pouvons voir que l’assistant n’a pas sélectionné d’autre rôle, vous pouvez cliquez sur Suivant.

Page 12: Windows Server 2008 IIS 7

Cette fenêtre vous propose une introduction au serveur Web ( IIS7). Lorsque vous avez tout lu,

cliquez sur suivant.

Page 13: Windows Server 2008 IIS 7

Nous sommes à présent sur la fenêtre de sélection des services de rôles, nous allons donc respecter

notre cas concret et sélectionner ASP.NET dans :

Serveur Web --> Développement d’applications --> ASP.NET

Page 14: Windows Server 2008 IIS 7

Afin de vous simplifier les choses, après avoir coché la case, l’assistant vous propose de sélectionner

tout les services nécessaires au serveur Web pour être un serveur de développement pour ASP.NET.

Cliquez donc sur « Ajouter les services de rôle requis ».

Page 15: Windows Server 2008 IIS 7

L’assistant a donc sélectionné tous les services nécessaires, vous pouvez cliquer sur Suivant.

Page 16: Windows Server 2008 IIS 7

La première fenêtre vous présente un récapitulatif des différents services installer, lorsque vous avez

tout vérifié, cliquez sur Installer. La deuxième fenêtre représente l’état d’avancement de

l’installation. La troisième fenêtre montre l’état final de l’installation, il est important que chaque

rôle soit suivant de la mention « Installation réussie ». Vous pouvez cliquez sur Terminer.

Vous vous trouvez dans le gestionnaire de serveur d’où vous pouvez voir l’ensemble de votre serveur

Web IIS7.

Afin de vérifier que votre installation c’est bien dérouler, ouvrez un navigateur Web, puis dans la

barre d’adresse tapez : http://localhost/

Vous devrez avoir l'image suivante qui apparaît dans votre navigateur.

Page 17: Windows Server 2008 IIS 7

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 » : dédié à la configuration du serveur relative à une application, un site web

On peut ainsi spécifier des configurations différentes pour chaque site. Il faut savoir que le serveur

possède son fichier « web.config » et également les sites web. Les sites Web récupèrent également

les paramètres 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 désirez écrire ou lire des informations dans le fichier « web.config », il faut

rajouter l’argument « /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 ».

Page 18: Windows Server 2008 IIS 7

appcmd set config "Supinfo" /section:defaultDocument /enabled:false

Cet exemple modifie la configuration du répertoire « Supinfo ». On désactive ici la fonctionnalité de

documents par défaut. Cette configuration s’applique à tous les répertoires de « Supinfo ».

On peut également modifier le fichier « applicationHost.config » en utilisant l’interface graphique du

serveur IIS (IIS Manager).

Modification du fichier applicationHost.config.

Le fichier « web.config » est aussi administrable du même endroit.

Page 19: Windows Server 2008 IIS 7

Modification du fichier web.config.

En utilisant l’interface graphique, configurer votre serveur via les différents icônes sur la page

principale d’administration d’IIS. Maintenant que nous avons vu comment régler les paramètres de

notre serveur IIS7, on va pouvoir créer un site.

III.2 Ajouter un site Web Cette partie va nous montrer comment héberger un site web et nous allons voir une méthode pour

associer notre site au site par défaut (http://localhost).

Tout d’abord, nous allons commencer par créer une page web. Pour cet article, nous allons utiliser

seulement « notepad.exe » et écrire directement notre page web avec les balises adéquates.

Page 20: Windows Server 2008 IIS 7

Nous remarquons que le dossier qui contient le site web par défaut est « C:\inetpub\wwwroot ». J’ai

choisit de mettre mon site dans le répertoire « C:\inetpub\wwwroot\Supinfo » mais vous pouvez le

mettre n’importe où du moment que vous puissiez y accéder. J’ai appelé ma page « index.html ». Si

votre site est déjà réalisé, copiez l’intégralité de votre site dans un dossier. Attention cependant au

respect des langages supportés par IIS7. Si vous voulez réaliser un site en ASP.NET, il va falloir

installer les modules pour pouvoir lire vos pages « *.aspx » et pareil pour PHP.

Page 21: Windows Server 2008 IIS 7

Voici le site web que je viens de créer. Maintenant, aller dans « Démarrer / Outils d’administration /

Internet Information Service (IIS) Manager ».

Page 22: Windows Server 2008 IIS 7

Vous arrivez désormais sur l’interface d’administration du serveur IIS. Pour ajouter le site que vous

venez de créer, développez le nom de votre serveur puis faites un clic droit sur « Sites » et cliquez sur

« Ajouter un site Web … ».

Page 23: Windows Server 2008 IIS 7

Une fenêtre vous permettant de rentrer les paramètres s’ouvre.

Page 24: Windows Server 2008 IIS 7

Le champ « Nom du Site » va permettre de définir un nom de site pour y accède par votre

navigateur. Dans mon cas, ce site va être accessible via l’adresse http://winsrv2k8/Localhost.

(Winsrv2k8 étant le nom de mon serveur web).

Le champ « Chemin physique » renseigne sur l’emplacement réel du site Web. Dans mon cas, le site

se trouve à l’emplacement C:\inetpub\wwwroot\Supinfo.

L’onglet « Binding » permet d’associer notre site à un nom de site web, de spécifier le port pour

accéder à notre site, de choisir entre HTTP et HTTPS et de choisir l’interface pour accéder au site. Ici,

nous pouvons accéder à notre site sur le port 80 (port http par défaut), en tapant http://localhost/.

Le fait de renseigner le champ « Host Name » va permettre d’accéder au site via l’adresse

http://localhost/plutôt qu’en tapant http://winsrv2k8/Localhost. Ainsi, toutes requêtes arrivant sur

le port 80 avec comme adresse http://localhost/ sera redirigé vers notre site web. Cela peut être le

premier niveau d’une sécurité en entreprise.

Nous pouvons voir dans l’affichage de gauche que notre site est bien apparu.

IV Modules Complémentaires & Sécurité

IV.1 Modules Complémentaires Nous avons pu voir précédemment que pour la version IIS7, Microsoft a fait des efforts afin

d'intégrer le PHP et autres langages dynamiques dans son serveur web nous verrons ici l'installation

et la configuration d'ASP.NET et de PHP5.

Page 25: Windows Server 2008 IIS 7

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 nécessaires au

fonctionnement de l'ASP.NET. Ainsi, si vous avez suivi mes démarches pour l'installation du serveur

web IIS7 au point II.2, je vous ai fait sélectionner les options nécessaires 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 fonctionnalités 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 démarche explicative du III.2 qui permet d'ajouter un site web.

Page 26: Windows Server 2008 IIS 7

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 nécessaire de télécharger la version zip qui sert à l'obtention des librairies

complémentaires de PHP et le .msi disponible tous deux à cet adresse :

http://www.php.net/downloads.php

Une fois ces deux fichiers téléchargés nous allons respecter un ordre d'opération, à 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'exécution du .msi, pour ce faire double cliquez sur votre

fichier.msi correspondant à PHP5 :

Page 27: Windows Server 2008 IIS 7

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

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

Page 28: Windows Server 2008 IIS 7

Vous êtes dans la fenêtre de sélection de votre répertoire pour y installer PHP, laissez le par défaut et

si toutefois, « C:\Program Files\PHP\ » n'est pas par défaut alors remplacez la ligne par défaut par

celle entourée 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é

Page 29: Windows Server 2008 IIS 7

pour des raisons de sécurités d'utilise IIS ISAPI module plutôt que CGI.

Ce module servant uniquement à vous montrer comment installer un module PHP au sein de IIS nous

ferons une installation de base et alléger. Puis cliquez sur Next.

Page 30: Windows Server 2008 IIS 7

Pour poursuivre votre installation cliquez sur Install.

Vous avez à présent installé PHP5 sur le serveur Web IIS7.

Extraction du .zip

Nous allons à présent passer à la partie extraction des librairies complémentaires de PHP.

Pour cela faite click droit sur votre fichier.zip puis cliquez sur Extraire Tout :

Page 31: Windows Server 2008 IIS 7

La fenêtre suivante apparaît, cliquez sur Parcourir afin de sélectionner le répertoire contenant votre

installation de PHP5.

Dans cette fenêtre déplier l'arborescence jusqu'à trouver le répertoire PHP. Sélectionnez le puis

cliquez sur OK.

Page 32: Windows Server 2008 IIS 7

Une fois le bon chemin sélectionnez cliquez sur extraire.

Page 33: Windows Server 2008 IIS 7

Si une fenêtre 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 répertoire ou vous venez d'extraire votre archive.zip, dans ce répertoire se trouve un

fichier PHP.ini qu'il faut éditer, une fois le fichier trouver double cliquez dessus

Page 34: Windows Server 2008 IIS 7

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 trouvée, remplacez la par : extension_dir = "ext/"

Page 35: Windows Server 2008 IIS 7

Vous pouvez sauvegardez votre fichier puis quittez-le.

Configuration d'IIS7 pour l'utilisation de PHP5

Il faut a présent configurer notre serveur web afin de pouvoir utiliser PHP5.

Pour cela il faut lancer la console d'administration IIS :

Démarrer --> Outils d'administration --> Gestionnaire des services internet(IIS)

Double cliquez sur Document par défaut :

Page 36: Windows Server 2008 IIS 7

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:

Page 37: Windows Server 2008 IIS 7

Vérifier dans cette fenêtre s'il y a un script ayant pour chemin d'accès *.php, s'il n'y en a pas, il vous

faut le créer, pour cela sur la colonne de droite cliquez sur Ajouter un mappage de script puis

inscrivez s'y les mêmes informations que celle figurant sur les captures d'écran suivantes.

Lorsque les trois champs sont remplis, cliquez sur « Restrictions des demandes » et indiquez la

même configuration que celle sur les trois captures d'écran suivantes :

Page 38: Windows Server 2008 IIS 7

Une fois ceci fait, revenez sur la page d'accueil de votre serveur web puis double cliquez sur

Restrictions CGI et ISAPI :

Page 39: Windows Server 2008 IIS 7

Ajoutez y une restriction, afin de compléter les champs, inscrivez y les même paramètres que ceux de

la capture d'écran suivante :

A présent, 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 triée...

Page 40: Windows Server 2008 IIS 7

La configuration d'IIS7 est terminée, il ne vous reste plus qu'a placer ce fichier dans votre dossier :

c:\inetpub\wwwroot (dossier principale par défaut de votre serveur web)

Index.php :

Inscrivez ensuite ce lien dans votre navigateur pour tester votre page : http://localhost/index.php

IV.2 Sécurité Nous allons maintenant mettre en place la sécurité sur notre site créé précédemment. Pour cela,

nous allons créer un accès à ce site en HTTPS (HyperText Transfer Protocol Secured) en utilisant des

certificats. Nous allons aussi voir comment restreindre l'accès à 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

générer 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 prétend être. Pour installer une autorité de

certification, il faut commencer par aller dans « Server Manager » puis d'ajouter un rôle.

Page 41: Windows Server 2008 IIS 7

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 réseau.

L'affichage suivant nous décrit le service de certificats :

Page 42: Windows Server 2008 IIS 7

.Une fois que l'on a cliqué sur suivant, on choisit les rôles associés 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 destinés

à des infrastructures complexes.

Page 43: Windows Server 2008 IIS 7

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 gérer ses certificats

Page 44: Windows Server 2008 IIS 7

On choisit si notre autorité de certification est l'autorité racine de notre infrastructure à clef publique

ou si elle dépend d'une autre autorité.

Page 45: Windows Server 2008 IIS 7

On génère maintenant une paire de clefs à notre autorité de certification (clef publique / clef privée).

On peut soit en créer une nouvelle soit en choisir.

Page 46: Windows Server 2008 IIS 7

On renseigne désormais les paramètres de chiffrement de nos clefs. J'ai choisis d'utiliser l'algorithme

RSA/SHA avec une clef d'une longueur de 4096 BITS.

Page 47: Windows Server 2008 IIS 7

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

Page 48: Windows Server 2008 IIS 7

On choisit la période de validité des certificats.

Page 49: Windows Server 2008 IIS 7

On valide les chemins par défaut de notre autorité de certification.

Page 50: Windows Server 2008 IIS 7

L'écran suivant nous récapitule tous nos paramètres de configuration de notre autorité de

certification et nous indique que l'on ne peut plus modifier le nom du contrôleur de domaine ainsi

que le nom du domaine sous peine de dysfonctionnement de l'autorité.

Page 51: Windows Server 2008 IIS 7

Une fois le rôle installé, l'assistant prend fin et nous signale que tout s'est effectué sans problèmes.

Page 52: Windows Server 2008 IIS 7

IV.2.b HTTPS

Configuration de HTTPS via SSL

Notre autorité de certification créée, on va générer un certificat auto-signé pour utiliser SSL. Pour

cela, il faut aller dans l'assistant d'IIS7 et ouvrir « Server Certificate ».

Page 53: Windows Server 2008 IIS 7

On sélectionne dans le menu de droite « Créer un certificat auto-signé ».

On donne un nom à notre certificat puis on valide.

Page 54: Windows Server 2008 IIS 7

Notre certificat apparaît désormais 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 ».

Page 55: Windows Server 2008 IIS 7

Une fenêtre apparaît nous spécifiant que ce site est déjà associé au protocole HTTP. Cliquez sur «

Ajouter » pour lui associer HTTPS.

Dans la fenêtre suivante, sélectionnez « HTTPS ».

Il est désormais possible de choisir un certificat pour utiliser le protocole SSL pour crypter le transfert

des données entre l'utilisateur et le serveur.

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

Page 56: Windows Server 2008 IIS 7

choisissez « SSL Settings ».

Vous pouvez modifier les paramètres SSL dans la fenêtre suivante.

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

Page 57: Windows Server 2008 IIS 7

manière à exiger que le client utilise un certificat, à l'autoriser à en avoir un et pareil pour SSL.

Testons notre serveur sur différents navigateurs.

Test sur les clients du protocole HTTPS via SSL

Les paramètres des navigateurs autorisent et utilisent le protocole SSL. Le test suivant a été effectué

sur un Macbook sous Firefox.

Lorsque l'on accède à 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 répertorié comme un site de confiance et

qu'il peut être dangereux. Il nous suggère de quitter ce site ou de ne pas rentrer d'informations

confidentielles.

Page 58: Windows Server 2008 IIS 7

Une fois que l'on a accepté de visualisé le site et de faire confiance au certificat, nous accédons au

site Web en HTTPS et le cadenas apparaît nous signalant que le site est sécurisé. En cliquant sur le

certificat, nous pouvons voir des informations complémentaires notamment que la connexion est

chiffré via SSL (128 bits).

Page 59: Windows Server 2008 IIS 7

Nous allons maintenant effectuer le même test sous Windows XP équipé d'internet explorer v6.

Lorsque nous tentons d'accéder à 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 présent.

Page 60: Windows Server 2008 IIS 7

Nous allons maintenant effectuer le test sous Windows Server 2008 équipé d'internet explorer v7.

Si nous accédons au site via HTTPS, le navigateur commence par nous indiquer que nous allons nous

connecter au site via une connexion sécurisé.

Page 61: Windows Server 2008 IIS 7

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

site.

Page 62: Windows Server 2008 IIS 7

Si nous continuons, nous arrivons sur le site mais l'adresse est surlignée en rouge et IE7 nous indique

toujours que le certificat n'est pas considéré, pour lui, comme une source de confiance.

Nous voyons par cet exemple, qu'IE7 est plus sécurisé et nous indique de faire attention face à des

sites non reconnus comme source de confiance.

Nous allons maintenant voir comment restreindre l'accès aux utilisateurs anonymes ou à n'importe

quel utilisateur.

IV.2.c Restriction d'accès

Tout d'abord nous allons voir comment restreindre l'accès aux utilisateurs anonymes. Lancez

l'assistant d'IIS7 et aller dans le menu « Authorization Rules ».

Page 63: Windows Server 2008 IIS 7

Ce menu permet de définir les utilisateurs qui auront ou non le droit d'accéder à notre site Web. Par

défaut, tous les utilisateurs y ont accès. Faites un clic droit dans la nouvelle page de l'assistant qui

vient d'apparaître et choisissez « Add Deny Rule … ». On va interdire l'accès aux utilisateurs

anonymes.

Page 64: Windows Server 2008 IIS 7

C'est dans ce volet d'affichage que nous allons choisir nos restrictions d'accès.

Page 65: Windows Server 2008 IIS 7

On peut choisir d'interdire tous les utilisateurs, les utilisateurs anonymes, certains rôles ou groupes,

des utilisateurs en particulier. On va pouvoir restreindre notre règle à des types de requêtes (GET,

POST).

Une fois notre règle validée, nous pouvons voir l'ensemble des règles appliquées à notre site.

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

Page 66: Windows Server 2008 IIS 7

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'accéder

au site web à chaque fois via un accès anonyme.

Pour changer cela, aller dans l'assistant d'IIS7 et ouvrez le menu « Authentication ».

Page 67: Windows Server 2008 IIS 7

Ensuite, parmi les modules proposés, sélectionnez le module « Basic Authentication ». Ceci

affichera, à chaque connexion au site Web, une boîte de dialogue vous demandant un login / mot de

passe pour accéder au site.

Les utilisateurs pouvant se connecter au site Web sont ceux situés dans l'Active Directory à condition

qu'ils ne soient pas refusés 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 désormais à l’élaboration d’un 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 télécharger FTP v7 sur le site officiel de Microsoft sinon la version incluse

dans IIS7 est la version 6. Pour cela, rendez-vous sur à l’adresse :

www.microsoft.com/france/telechargements/default.aspx

Le fichier que j’ai téléchargé pour la rédaction de cet article se nomme : « ftp7_x86_rtw.msi ». Une

fois exécuté, l’assistant d’installation se lance.

Page 68: Windows Server 2008 IIS 7

Cliquez sur suivant et acceptez la licence.

Cliquez sur suivant pour pouvoir choisir les modules que vous souhaitez installer. J’ai choisit de tous

les installer pour bénéficier au maximum des capacités du FTP.

Page 69: Windows Server 2008 IIS 7

La configuration de l’installation est terminée. Validez le prochain écran pour installer FTP 7.

Une fois que l’installation s’est terminée avec succès, vous pouvez consulter le fichier d’installation et

utiliser FTP 7.

Vous pouvez constater que de nouveaux icônes sont apparus dans la fenêtre d’administration d’IIS7.

Page 70: Windows Server 2008 IIS 7

Ces nouveaux icônes permettent d’administrer les paramètres FTP de notre serveur IIS7.

V.1.b Création d’un espace FTP

On va commencer par créer un répertoire dans le répertoire « C:\inetpub\ftproot » que l’on appelle

« FTP_Supinfo ».

Page 71: Windows Server 2008 IIS 7

Nous allons maintenant créer un espace FTP pour pouvoir déposer des fichiers dessus et en

récupérer. Pour cela, aller dans « Démarrer / outils d’Administrations / Internet Information

Services (IIS) Manager ».

Page 72: Windows Server 2008 IIS 7

Ensuite, faîtes un clic droit sur le dossier « Sites » et cliquez sur « Ajouter un site FTP ».

Page 73: Windows Server 2008 IIS 7

L’assistant de création d’espace FTP se lance et il faut remplir le nom de l’espace et le chemin de

l’espace. J’ai choisit de l’appeler « FTP de Supinfo » et de mettre le chemin du dossier créé

précédemment.

Page 74: Windows Server 2008 IIS 7

Ensuite, il faut configurer l’accès à notre FTP puis SSL. J’ai choisit de laisser les paramètres par défaut

pour l’accès à l’espace FTP (port 21 et par toutes les interfaces) et de configurer SSL plus tard.

Page 75: Windows Server 2008 IIS 7

Une fois cette étape validée, on renseigne les autorisations du site et le mode d’authentification

c'est-à-dire comment et qui peuvent y accéder.

La partie « Authentification » permet de définir le mode d’authentification. Si l’on choisit «

Anonyme », tout le monde pourra y aller sans problème alors que le mode « Basique » permet

d’utiliser des comptes de l’AD (Active Directory).

La partie « Autorisation » permet de renseigner les utilisateurs pouvant accéder à notre espace FTP.

On précise aussi les permissions (Lecture, Ecriture).

J’ai choisit d’autoriser les utilisateurs anonymes à consulter notre espace et à leur donner seulement

un accès en lecture.

Page 76: Windows Server 2008 IIS 7

Cliquez sur « Terminer » pour terminer la configuration de votre site et pouvoir y accéder.

Maintenant, les utilisateurs anonymes peuvent se connecter et ne peuvent pas modifier, créer et

supprimer des fichiers.

Pour effectuer des tests, j’utilise le client « FileZilla ».

Page 77: Windows Server 2008 IIS 7

Nous allons maintenant nous connecter avec des utilisateurs appartenant à Active Directory. Pour

cela, il faut commencer par changer (ou « rajouter » si l’on souhaite toujours se connecter

anonymement) le mode d’authentification. Cliquez sur « FTP Authentification » dans l’assistant d’IIS.

Ensuite, sélectionnez « Basic Authentication » et activez le dans le menu de droite.

Page 78: Windows Server 2008 IIS 7

Revenez dans l’assistant d’IIS7 et cliquez sur « FTP Authorization ».

Vous pouvez ajouter des utilisateurs pouvant accéder à notre espace FTP. Faites un clic droit au

milieu de la fenêtre et choisissez « Add Allow Rule … ».

Page 79: Windows Server 2008 IIS 7

Choisissez d’ajouter un utilisateur appartenant à l’Active Directory. L’utilisateur me correspondant

est « aroumegous » (Aurélien Roumégous). J’ai choisit de me donner un accès complet (Lecture,

Ecriture)

Je peux désormais accéder à mon espace FTP via mon utilisateur et mettre des fichiers sur le FTP.

Page 80: Windows Server 2008 IIS 7

Nous allons maintenant configurer les messages d’accueil, de bienvenue, de sortie … Pour cela, allez

dans l’assistant d’IIS et cliquez sur « FTP Messages ».

Ensuite, on va configurer chaque message dans l’assistant.

J’ai choisit de mettre un message d’accueil : « Bienvenue sur l'espace FTP du site de Supinfo réalisé

pour la rédaction de l'article sur IIS7 » et un message de sortie « Au revoir ».

Page 81: Windows Server 2008 IIS 7

Désormais, lorsque nous nous connectons à notre FTP, nous avons le message de bienvenue.

Page 82: Windows Server 2008 IIS 7

Il est aussi possible de mettre en place le protocole SSL pour chiffrer les données entre le serveur et

le client. Pour cela, allez dans l’assistant IIS et cliquez sur « FTP SSL Settings ».

Ensuite, vous pouvez configurer les paramètres se SSL. Pour commencer, choisissez le certificat. J’ai

réutilisé le certificat auto-signé généré précédemment. Ensuite, on va choisir si on oblige le client à

utiliser le protocole SSL (« Require SSL Connections ») ou s’il n’est pas obligé (« Allow SSL

Connections »).

Pour finir, on choisit si on chiffre les connexions SSL.

Page 83: Windows Server 2008 IIS 7

Pour pouvoir se connecter en utilisant SSL avec le client, il faut effectuer quelques paramètres sur

FileZilla. Pour commencer, créez une nouvelle connexion et configurez-la comme suit :

Page 84: Windows Server 2008 IIS 7

Il faut que vous renseigniez le type de connexion et l’authentification. Ensuite, lors de la connexion

au serveur FTP, le serveur demandera au client de faire confiance à son certificat.

Après avoir validé le certificat, le client est authentifié et la connexion est chiffrée.

On peut également voir les utilisateurs connectés à notre serveur FTP via l’assistant IIS7. Pour cela,

cliquez sur « FTP Current Sessions ».

Vous voyez alors les utilisateurs connectés à votre serveur FTP.

Page 85: Windows Server 2008 IIS 7

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, récupérer, déposer et synchroniser des fichiers facilement à travers le Web.

V.2.a Installation de WebDAV 7

Pour commencer, il faut télécharger FTP v7 sur le site officiel de Microsoft :

http://www.iis.net/downloads/default.aspx

Le fichier que j’ai téléchargé pour la rédaction de cet article se nomme : « webdav_x86_rtw.msi ».

Une fois exécuté, l’assistant d’installation se lance.

Page 86: Windows Server 2008 IIS 7

Une fois que vous avez validé la licence et cliquez sur suivant, l’installation se lance. Celle-ci est

assez rapide.

Vous devriez voir apparaître un nouvel icône dans l’assistant d’IIS7.

Page 87: Windows Server 2008 IIS 7

Cet icône vous permet de configurer les paramètres et les utilisateurs pouvant accéder à WebDAV.

V.2.b Configuration de WebDAV 7

Pour activer WebDAV, cliquez sur « WebDAV Authoring Rules » puis sur le menu de droite « Enable

WebDAV ».

Page 88: Windows Server 2008 IIS 7

WebDAV est maintenant activée. Il faut configurer les autorisations pour accéder au partage de

fichier.

Pour cela, cliquez dans le menu de droite sur « Add Authoring Rule ».

La fenêtre suivante vous permet de configurer une règle WebDAV. Le premier onglet permet de

définir les fichiers accessibles via WebDAV. Le second onglet permet de définir les utilisateurs

pouvant accéder au WebDAV. Le dernier onglet permet de définir les permissions des utilisateurs.

Page 89: Windows Server 2008 IIS 7

J’ai donné tous les droits à l’utilisateur « aroumegous » et il peut accéder à tous les types de

fichiers présents sur le serveur.

Ensuite, WebDAV utilise le mode d’authentification « 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 d’authentification, aller dans l’assistant d’IIS7 et dans « Authentication ».

Ensuite, il suffit d’activer le module que l’on souhaite en le sélectionnant et en cliquant sur «

Enable ».

Page 90: Windows Server 2008 IIS 7

Une fois les modules d’authentifications activés, vérifiez dans « Authorization Rules » si vous

autorisez votre utilisateur à accéder au site. Si vous l’activez dans WebDAV et pas dans le site,

l’utilisateur ne pourra pas accéder au serveur WebDAV.

Dans mon cas, je n’autorise seulement les utilisateurs authentifiés et non les utilisateurs

anonymes.

Page 91: Windows Server 2008 IIS 7

Notre serveur WebDAV est maintenant opérationnel. Nous allons faire un test sur un client.

Pour cela, j’utilise un Windows XP qui se connecte au domaine via l’utilisateur « aroumegous ».

Je crée un lecteur réseau à la main (via la commande net use) pointant vers un répertoire que j’ai

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 ».

Page 92: Windows Server 2008 IIS 7

Nous voyons que Windows a monté notre lecteur en fonction du nom d’ouverture de session.

Nous allons modifier les autorisations de l’utilisateur « aroumegous » dans la console WebDAV de

l’assistant d’IIS7. Nous allons lui mettre les droits seulement en Lecture.

Page 93: Windows Server 2008 IIS 7

Pour que les droits s’appliquent, il faut redémarrer le serveur IIS.

Page 94: Windows Server 2008 IIS 7

Nous voyons désormais que nous n’avons plus le droit de modifier un fichier.

Page 95: Windows Server 2008 IIS 7

V.3 Les autres fonctionnalités de l'interface d'administration Nous allons maintenant voir les autres fonctionnalités d’IIS 7 que nous avons abordé dans cet

article.

Nous allons voir comment configurer la compression HTTP. L’utilisation de la compression HTTP

permet de réduire le trafic sur le réseau dans le but de transférer les fichiers, du serveur au client.

Le temps de téléchargement et les performances sont donc améliorés au niveau de l’utilisateur

final.

Pour configurer la compression HTTP, allez dans l’assistant d’IIS7 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.

Page 96: Windows Server 2008 IIS 7

On peut également configurer les pages par défaut que va charger le serveur IIS lorsque vous

arrivez sur le site. Par défaut, sur les sites Web, elle se nomme « index.htm » ou sur le serveur IIS7

« iisstart.htm ». On va configurer notre serveur IIS7 pour démarrer sur la page « mapage.htm ».

Pour cela, allez dans le menu « Default Document » dans l’assistant IIS7.

Vous arrivez alors sur toutes les pages reconnus pour être des pages de démarrage.

Page 97: Windows Server 2008 IIS 7

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 vérifier que le site considère bien « mapage.htm » comme page par défaut.

Page 98: Windows Server 2008 IIS 7

On lance le navigateur pour vérifier.

Page 99: Windows Server 2008 IIS 7

Nous avons bien notre site Web qui apparaît et pas d’erreur 404 (page not found).

Commençons par créer une page « 404.htm » que l’on stocke à l’adresse «

http://localhost/Error/404.htm ».

Page 100: Windows Server 2008 IIS 7

Nous allons maintenant personnaliser nos pages d’erreur. Allez dans le menu « Error Pages » dans

l’assistant IIS7.

Nous pouvons voir toutes les pages d’erreur par défaut.

Page 101: Windows Server 2008 IIS 7

Double cliquez sur l’erreur 404 pour pouvoir changer la page et mettre la page que l’on a créée.

Validez puis essayez de rentrer une adresse qui n’existe pas dans le navigateur. Notre page devrait

se charger.

Page 102: Windows Server 2008 IIS 7

Nous allons maintenant en place une redirection. Cela peut être utile lorsqu’on met à jour un site

et que l’on ne peut pas le mettre en ligne ou lorsqu’on ferme un site et qu’on souhaite rediriger les

requêtes 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 insérer l’adresse du

site dessous. Il est aussi possible de configurer le comportement des redirections en fonction de si

on tape l’adresse exacte, en fonction du code de retour…

Page 103: Windows Server 2008 IIS 7

Lorsque nous tapons l’adresse http://localhost/ nous arrivons à l’adresse

http://www.supinfo.com/.

Page 104: Windows Server 2008 IIS 7

Pour finir cette partie, nous pouvons limiter l’accès au site en fonction de l’adresse IP (privée ou

publique). Allez dans le menu « IPv4 Address et Domain Restrictions ».

Ensuite, il suffit d’ajouter des règles d’interdiction.

Nous allons interdire une machine du réseau à accéder au site. Pour connaître son adresse IP,

tapez « IPCONFIG » dans une invite de commande sur la machine que l’on veut interdire.

Page 105: Windows Server 2008 IIS 7

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

Ensuite, essayons d’accéder au site IIS7 via la machine 10.0.0.4.

Page 106: Windows Server 2008 IIS 7

L’accès est refusé.

Conclusion

Nous avons donc pu voir que Microsoft propose ici une version de leur serveur web totalement

remanié qui nous permet d'apprécier le système de module, le déploiement et la maintenance de ce

serveur web, ainsi que les efforts effectuer du côté de Microsoft pour intégrer le PHP et autres

langages dynamiques dans son serveur web.

On pourra également apprécier 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.