Skip to content

Serveur Web - IIS 7

Le livre de référence de ce chapitre est « Windows Server 2008 - Installation, configuration, gestion et dépannage » des éditions ENI, disponible sur eGreta.

Le site de référence pour vos recherches sur les technologies Microsoft se trouve ici :

http://technet.microsoft.com/fr-fr/library/

I- Présentation de IIS :

IIS est un serveur Web. Il permet d\'héberger un ou plusieurs sites Web. Pour visiter ces sites Web, on a besoin d\'un client Web (Internet Explorer ou Mozilla Firefox, par exemple) auquel on indique l\'adresse du serveur.

Par exemple si mon serveur héberge le site www.booktic.local, vous devrez

taper dans votre navigateur ce nom pour pouvoir l\'atteindre.

Nous allons voir comment se configure ce serveur sous Windows 2008. Il faut savoir que IIS est présent sur tous les Windows depuis 2000, y compris les versions clientes de Windows (XP, 7). Ici, on utilise la version 7 sous Windows 2008.

Si vous utilisez une version de Windows ou IIS différente quelques fichiers, répertoires ou directives peuvent changer.

II- Configuration de base :

Installation :

  • Redirection HTTP
  • ASP.NET
  • Extensibilité .NET
  • ASP
  • Authentification de base
  • Authentification Windows
  • Authentification Digest
  • Restrictions IP et de domaine
  • Service de publication FTP
  • Outils de gestion > Console de gestion IIS

Configuration d\'un site :

{width="14.586cm" height="4.955cm"}

  • Créez un répertoire c:\inetpub\www
  • Avec le gestionnaire de services Internet IIS, supprimez le site par défaut
  • Créez un site Web nommé « Site Internet », ayant pour adresse www.booktic.local (ce nom DNS doit exister) pointant vers le répertoire c:\inetpub\www
  • Sans plus de configuration, ce site fonctionne-t-il ? Pourquoi ?

  • Faites une page d\'accueil de la manière suivante :

    • Dans le bloc notes de Windows, créez un fichier contenant ces balises :

      \<h1>Bonjour\</h1>

      \<p>Bienvenue sur mon site\</p>

    • Enregistrez ce fichier en tant que index.htm

  • Votre site fonctionne-t-il ?

  • Peut-on le voir de l\'extérieur ?

Alias ou répertoire virtuel :

On utilise les alias pour deux raisons :

  • que les clients aient des noms plus simples à taper dans leur navigateur
  • pour les diriger vers un répertoire qui n\'est pas en dessous de la racine de votre hôte.

Par exemple, j\'ai une partie de site Web contenue dans le répertoire c:\monrepertoire . Si jeux veux qu\'il soit accessible par le site « Site Internet », normalement, il devrait être en dessous de c:\inetpub\www . Comme ce n\'est pas le cas, il faut utiliser un alias :

  • Faites en sorte que quand le client tape : http://www.booktic.local/test il soit redirigé vers le répertoire c:\monrepertoire . Vous devrez faire une page d\'accueil index.htm qui affiche un message d\'accueil.

III- Protection de répertoires :

Faire un serveur Web c\'est déjà pas mal mais ne pas autoriser tout le monde à accéder à

n\'importe quel répertoire de votre site, c\'est encore mieux.

Il existe plusieurs systèmes d\'authentification pour protéger un répertoire de IIS :

  • Authentification anonyme (par défaut) : Pas de mot de passe demandé pour accéder à une ressource.
  • Méthode basique (http basic) : Demande un login et un mot de passe à l\'utilisateur. Cette authentification passe en clair (codé en hexadécimal) sur le réseau.
  • Méthode Digest (http digest) : Utilise la méthode du mot de passe par challenge/réponse.
  • Méthode Windows : Utilise un mot de passe par challenge/réponse et s\'authentifie avec le serveur Kerberos de Active Directory ou avec NTLM.

Expliquez le fonctionnement d\'un protocole d\'authentification par challenge/réponse :

Pour les exercices suivants, créez un répertoire c:\inetpub\www\secret .

C\'est ce répertoire que vous devrez protéger via les différentes méthodes.

Méthode « Basic » :

  • Dans le gestionnaire de sites, sur le répertoire secret, supprimez l\'authentification déjà présente (sûrement authentification anonyme).
  • Ajouter l\'authentification basique.
  • Vérifiez que les utilisateurs voulant accéder à http://www.booktic.local/secret doivent renseigner un login et un mot de passe.
  • Vérifiez avec Wireshark que les logins et mots de passe sont envoyés en clair.

    Quels sont les problèmes posés par ce type d\'authentification ?

Méthode Digest

  • Faites de même avec l\'authentification Digest.
  • Vérifiez avec Wireshark que les logins et mots de passe ne sont pas envoyés en clair.

Authentification Windows

  • Faites de même avec l\'authentification Windows.
  • Vérifiez avec Wireshark que les logins et mots de passe ne sont pas envoyés en clair.
  • Quel protocole a permi l\'authentification ?

IV- Hôtes virtuels :

Un hôte virtuel est un système de virtualisation logicielle qui permet à un serveur IIS d\'héberger plusieurs sites Internet différents.

Pour distinguer ces différents sites, il y a trois possibilités :

  • Par nom de domaine : chaque site possède un nom de domaine (cas le plus courant)
  • Par adresse IP
  • Par port

Ajout d\'un site distingué par nom de domaine :

Sur votre serveur, vous avez déjà un site nommé « Site Internet ».

  • Créer un nouveau site nommé « Intranet » pointant vers le répertoire c:\inetpub\intranet .
  • Ce site doit avoir comme nom de domaine intranet.booktic.local (bien sûr ce nom doit exister sur le serveur DNS).
  • Faites une page d\'accueil de la manière suivante :

    • Dans le bloc notes de Windows, créez un fichier contenant ces balises :

      \<h1>Bonjour\</h1>

      \<p>Bienvenue sur l\'intranet\</p>

    • Enregistrez ce fichier en tant que c:\inetpub\intranet\index.htm

  • Votre Intranet fonctionne-t-il ?

  • Peut-on le voir de l\'extérieur ?
  • Comment fait-on pour voir l\'intranet, comment fait-on pour voir le site Internet ?

Ajout d\'un site distingué par numéro de port :

  • Supprimer le site Intranet.
  • Recréer un nouveau site nommé « Intranet » pointant vers le répertoire c:\inetpub\intranet .
  • Ce site doit avoir comme numéro de port le 8080.
  • Votre Intranet fonctionne-t-il ?
  • Peut-on le voir de l\'extérieur ?
  • Comment fait-on pour voir l\'intranet, comment fait-on pour voir le site Internet ?

Ajout d\'un site distingué par adresse IP :

  • Créez cette adresse IP alternative sur votre serveur : 192.168.200.X/255.255.255.0
  • Supprimer le site Intranet.
  • Recréer un nouveau site nommé « Intranet » pointant vers le répertoire c:\inetpub\intranet .
  • Ce site doit avoir comme adresse IP : 192.168.200.X
  • Votre Intranet fonctionne-t-il ?
  • Peut-on le voir de l\'extérieur ?
  • Comment fait-on pour voir l\'intranet, comment fait-on pour voir le site Internet ?

V- CMS sous IIS :

Pour ne pas développer un site de A à Z, il existe aujourd\'hui de nombreux portails tout faits où il ne reste plus qu\'à ajouter le contenu. Pour ce genre de site, il faut la pile d\'application suivante :

{width="16.999cm" height="5.925cm"}

Deux CMS en PHP sans SQL :

Installez le logiciel Microsoft Web Platform installer téléchargeable depuis le site de Microsoft.

A l\'aide de ce logiciel, installez PHP.

Téléchargez PluXML http://www.pluxml.org/

ou CMSimple : http://www.cmsimple.org/?Downloads

Extrayez le fichier Zip dans c:\inetpub\wwwroot

Donnez des droits d\'écriture au nouveau dossier pour les utilisateurs Invité Internet (IIS_USR) et IIS_WPG.

Testez votre application.

Modifiez-la en choisissant un thème et en faisant une page d\'accueil personnalisée.

Microsoft a mis en place récemment une plateforme qui permet d\'installer un site CMS en un clic, plutôt que d\'installer chaque logiciel un par un :

http://www.microsoft.com/web/downloads/platform.aspx

http://www.microsoft.com/web/gallery/

  • A l\'aide de Web Gallery, installez sur votre serveur IIS le CMS Umbraco (ou un autre site de votre choix).

  • Vérifiez que votre CMS fonctionne.

  • Personnalisez votre CMS pour qu\'on puisse voir que l\'on visite votre site.
  • Installez un thème à votre Umbraco :

    http://www.freeumbracotemplates.co.uk/

VI- Sécurité des sites Web :

Filtrage par adresses IP :

Pour le site Intranet que vous avez créé précédemment, n\'autorisez que les machines du réseau local (192.168.0.0/16).

Interdisez l\'accès à l\'adresse IP de votre client.

Vérifiez que votre client ne peut pas aller visiter le site Intranet mais que votre voisin(e) peut y accéder.

Certificats SSL :

http://support.microsoft.com/kb/299875/fr

Installez le rôle service de certificats AD et les services de rôles :

  • Autorité de certification
  • Inscription de l\'autorité de certification via le Web
  • Choisissez le mode Entreprise si vous êtes dans un domaine Active Directory ou le mode Autonome si vous n\'avez pas de domaine AD.
  • Il s\'agira d\'une autorité de certification racine.
  • La longueur de la clé sera de 2048 bits par l\'algorithme RSA.
  • La fonction de hachage sera fournie par l\'algorithme Sha 256.
  • Le certificat sera valable pour 2 ans.
  • Les autres options seront par défaut.

Retournez sur le Site IIS que vous voulez protéger et activez la fonctionnalité SSL.

Vérifiez le fonctionnement de votre site en SSL.

Qu\'est ce qu\'une autorité de certification ?

Qu\'est ce qu\'un certificat ?

Qu\'est ce qu\'un certificat auto-signé ? Pourquoi le navigateur prévient-il d\'un danger potentiel ?

Qu\'est ce qu\'une clé de chiffrement, quels algorithmes permettent d\'en créer ?

Ce serveur utilise-t-il un chiffrement symétrique ou asymétrique ?