Serveur Web IIS 7 de Microsoft

Embed Size (px)

Citation preview

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    1/74

    Serveur Web IIS 7 de MicrosoftINTRODUCTION

    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èrementdédiée avec Windows Web Server 2008.

    Cette version de IIS7 est également utilisable sur l’édition Core de WindowsServer 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 quichange to talement d’IIS6, cette nouvelle architecture permettra uneadministration plus facile et plus performante.

    Dans cet article, nous présenterons les améliorations d'IIS 7.0 et aborderonsensuite dans les détails les différentes étapes du déploiement et l’ad ministrationdu serveur web puis nous arborerons les différents modules qui composent notreserveur web préféré.

    Ce cours est réalisé avec windows server 2008.

    I Les nouvelles fonctionnalités de IIS7

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

    beaucoup plus modulable, plus sécurisé et plusfacilement 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 denotre serveur IIS qui sont actuellement trèstouché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

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    2/74

    le module « WindowsAuthModule » qui va permettre de prendre en chargel'authentification NTLM. On peut désinstaller tout module quand nous ledécidons via le composant « Windows feature ».

    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 niveaustructure 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'interfacegraphique.

    Cette interface graphique permet de gérer entièrement le serveur et est trèscomplète. On peut également utiliser cet outil à distance via une connexionHTTPS/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 etapporte des fonctionnalités de générations des applications web sécurisées. Lefait que l'on peut choisir en détail d'installer ou de ne pas installer permet deré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...

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    3/74

    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 "IISManager" va permettre de détecter les problèmes systèmes, superviser touteactivité et contrôler lors de dépannage ou maintenance.

    Le serveur IIS7 spécifie également des solutions pour l'utilisateur lorsqu'ilgénère une erreur sur une page lui permettant ainsi de résoudre le problème plusrapidement.

    1er cadre : Nom de l’erreur.

    2ème cadre : Indications sur l’erreur.

    3ème cadre : Causes d e l’erreur.

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

    Dans cet exemple, nous essayons d’accéder à la page http://localhost/Supinfoqui n’existe pas. Nous pouvons voir que IIS7 nous dit pourquoi il croit qu’il y aeut cette erreur et quoi faire pour la résoudre.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    4/74

    II L’installation d’IIS7

    II.1 Les modules

    - Développement applicatif

    Fournit l'infrastructure de développement et d'hébergement des applicationsweb. Utilisez ces fonctionnalités pour créer des contenus Web ou étendre lafonctionnalité des services Internet (IIS). Ces technologies permettentgénéralement d'effectuer des opérations dynamiques qui entrainent la création dedocument HTML, qui sont ensuite envoyés par les services Internet (IIS) pourtraiter les demandes des clients.

    - Intégrité et Diagnostics

    Fournit une infrastructure pour analyser, gérer et dépanner l'intégrité desserveurs, des sites et des applications Web.

    - Sécurité

    Fournit une infrastructure pour sécuriser le serveur Web face aux utilisateurs etaux 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 lesdemandes qui correspondent à des valeurs définies par l'utilisateur, ourestreignez 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 e n cache dynamiques d’ASP.NET av ec les possibilités demise 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'optimiserl'utilisation de mécanismes de compression courants.

    - Outils de gestion

    Fournissent une infrastructure pour gérer un serveur Web IIS7. Vous pouvezutiliser l'interface utilisateur, les outils en ligne de commande et les scripts IIS

    pour gérer le serveur Web. Vous pouvez également modifier directement lesfichiers de configuration.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    5/74

    - 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 FTP 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 casconcret d’installer un serveur de développement pour ASP.NET.

    Afin d’installer IIS7 il faut lancer le gestionnair e de serveur en suivant la lignesuivante :

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

    Vous vous situez sur la fenêtre programmes et fonctionnalités, pour accéder augestionnaire de serveur cliquez sur « Activer ou désactiver des fonctionnalitésWindows ».

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    6/74

    Ceci est donc la fenêtre de Gestionnaire de serveur où sont regroupés l’ensembledes rôles et autres informations du serveur, nous souhaitons installer IIS7 pourcela cliquez sur « Ajouter des rôles »

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

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    7/74

    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 aufonctionnement d’IIS7, cliquez sur « Ajouter les fonctionnalités requise ».

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    8/74

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

    Cette fenêtre vous propose une introduction au serveur Web ( IIS7). Lorsquevous avez tout lu, cliquez sur suivant.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    9/74

    Nous sommes à présent sur la fenêtre de sélection des services de rôles, nousallons donc respecter notre cas concret et sélectionner ASP.NET dans :

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

    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 êtreun serveur de développement pour ASP.NET. Cliquez donc sur « Ajouter lesservices de rôle requis ».

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    10/74

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

    La première fenêtre vous présente un récapitulatif des différents servicesinstaller, lorsque vous avez tout vérifié, cliquez sur Installer. La deuxièmefenêtre représente l’état d’avancement de l’installation. La troisième fenêtremontre l’état final de l’installation, il est important que chaque rôle soit su ivantde la mention « Installation réussie ». Vous pouvez cliquez sur Terminer.

    Vous vous trouvez dans le gestionnaire de serveur d’où vous pouvez voirl’ensemble de votre serveur Web IIS7.

    Afin de vérifier que votre installation c’est bien dérouler, ouvrez un navigateurWeb, puis dans la barre d’adresse tapez : http://localhost/

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

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    11/74

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    12/74

    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 ou un site web

    On peut ainsi spécifier des configurations différentes pour chaque site. Il fautsavoir que le serveur possède son fichier « web.config » et également les sitesweb. 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 oulire des informations dans le fichier « web.config », il faut rajouter l’a rgument «/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 répertoire « Supinfo ». On désactive icila fonctionnalité de documents par défaut. Cette configuration s’applique à tousles répertoires de « Supinfo ».

    On peut également modifier le fichier « applicationHost.config » en utilisantl’interface graphique du serveur IIS (IIS Manager).

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    13/74

    III.2 Ajouter un site Web

    Cette partie va nous montrer comment héberger un site web et nous allons voirune 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 . Nous allonsutiliser seulement « notepad.exe » et écrire directement notre page web avec les

    balises adéquates.

    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ù dumoment que vous puissiez y accéder. J’ai appelé ma page « index.html ». Sivotre 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 voulezréaliser un site en ASP.NET, il va falloir installer les modules pour pouvoir lirevos pages « *.aspx » et pareil pour PHP.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    14/74

    Voici le site web que je viens de créer. Maintenant, aller dans « Démarrer /Outils d’administration / Internet Information Service (IIS) Manager ».

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    15/74

    Vous arrivez désormais sur l’interface d’administration du serveur IIS. Pourajouter le site que vous venez de créer, développez le nom de votre serveur puisfaites un clic droit sur « Sites » et cliquez sur « Ajouter un site Web … ».

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

    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’adressehttp://winsrv2k8/Localhost. (Winsrv2k8 étant le nom de mon serveur web).

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    16/74

    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 dechoisir l’interface pour accéder au site. Ici, nous pouvons accéder à notre site surle 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 vial’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/ seraredirigé v ers notre site web. Cela peut être le premier niveau d’une sécurité enentreprise.

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

    http://localhost/http://localhost/http://localhost/

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    17/74

    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 desefforts afin d'intégrer le PHP et autres langages dynamiques dans son serveurweb 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 nécessaires au fonctionnement de l'ASP.NET.Ainsi, si vous avez suivi mes démarches pour l'installation du serveur web IIS7au 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 ProgrammingInterface. Le but d'ISAPI est de permettre d'augmenter les fonctionnalités duserveur 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 votredossier : c:\inetpub\wwwroot .

    Ensuite suivez la démarche explicative du III.2 qui permet d'ajouter un site web.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    18/74

    Si vous avez suivi toutes ces explications, alors vous devriez pouvoir fairefonctionner votre site web en entrant « http://localhost/ » dans la barre de lien devotre 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 doublecliquez sur votre fichier.msi correspondant à PHP5 :

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    19/74

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    20/74

    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 pardéfaut alors remplacez la ligne par défaut par celle entourée sur l'image. Puiscliquez sur Next.

    Dans ce cas nous souhaitons donc installer notre module PHP sur un serveurweb IIS, il est conseillé 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 modulePHP au sein de IIS nous ferons une installation de base et alléger. Puis cliquezsur Next.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    21/74

    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émentairesde PHP.

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

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    22/74

    La fenêtre suivante apparaît, cliquez sur Parcourir afin de sélectionner leré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.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    23/74

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    24/74

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

    Configuration de php.ini

    Allez dans le répertoire ou vous venez d'extraire votre archive.zip, dans cerépertoire se trouve un fichier PHP.ini qu'il faut éditer, une fois le fichier trouverdouble cliquez dessus

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

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    25/74

    Une fois cette ligne trouvée, remplacez la par : extension_dir = "ext/"

    Vous pouvez sauvegardez votre fichier puis quittez-le.

    Configuration d'IIS7 pour l'utilisation de PHP5

    Il faut à 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)

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    26/74

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    27/74

    Vérifier dans cette fenêtre s'il y a un script ayant pour chemin d'accès *.php, s'iln'y en a pas, il vous faut le créer, pour cela sur la colonne de droite cliquez surAjouter un mappage de script puis inscrivez s'y les mêmes informations quecelle 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'écransuivantes :

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    28/74

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    29/74

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

    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 devrezrefaire 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 uneliste triée...

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    30/74

    La configuration d'IIS7 est terminée, il ne vous reste plus qu'a placer ce fichierdans votre dossier : c:\inetpub\wwwroot (dossier principale par défaut de votreserveur web)

    Index.php :

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

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    31/74

    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 allonsaussi 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 biencelui 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.

    Ensuite, l'assistant se lance et on clique sur « Suivant ». Il faut choisir « ActiveDirectory Certificate Service ».

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    32/74

    On va alors commencer à configurer notre autorité en fonction de nos besoins etde notre réseau. L'affichage suivant nous décrit le service de certificats :

    Une fois que l'on a cliqué sur suivant, on choisit les rôles associés aux certificatsque l'on souhaite installer. Nous choisissons d'installer l'autorité de certificationet le module permettant de demander un certificat par le web (« CertificateAuthority Web Enrollment »). Les autres modules sont destinés à desinfrastructures complexes.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    33/74

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

    - « Enterprise » qui permet de synchroniser notre autorité de certificationavec Active Directory

    - « Standalone » qui n'utilise pas Active Directory pour gérer ses certificats.

    On choisit si notre autorité de certification est l'autorité racine de notreinfrastructure à clef publique ou si elle dépend d'une autre autorité.

    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.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    34/74

    On renseigne désormais les paramètres de chiffrement de nos clefs. J'ai choisisd'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.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    35/74

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

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

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    36/74

    L'écran suivant nous récapitule tous nos paramètres de configuration de notreautorité de certification et nous indique que l'on ne peut plus modifier le nom ducontrôleur de domaine ainsi que le nom du domaine sous peine dedysfonctionnement de l'autorité.

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

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    37/74

    IV.2.b HTTPS

    Configuration de HTTPS via SSL

    Notre autorité de certification créée, on va générer un certificat auto-signé pourutiliser SSL. Pour cela, il faut aller dans l'assistant d'IIS7 et ouvrir « ServerCertificate ».

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

    On donne un nom à notre certificat puis on valide.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    38/74

    Notre certificat apparaît désormais dans la liste des certificats d'IIS. On vamaintenant pouvoir associer HTTPS à notre site Web. Pour cela, clic droit surnotre site puis « Edit Binding ».

    Une fenêtre apparaît nous spécifiant que ce site est déjà associé au protocoleHTTP. Cliquez sur « Ajouter » pour lui associer HTTPS.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    39/74

    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, choisissez « SSL Settings ».

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    40/74

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    41/74

    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 notresite 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'informationsconfidentielles.

    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 quele site est sécurisé. En cliquant sur le certificat, nous pouvons voir desinformations complémentaires notamment que la connexion est chiffré via SSL(128 bits).

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    42/74

    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 demandede faire confiance au site Web. Si on fait confiance, on arrive sur le site enHTTPS et le cadenas est présent.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    43/74

    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 indiquerque nous allons nous connecter au site via une connexion sécurisé.

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

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    44/74

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    45/74

    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 droitdans la nouvelle page de l'assistant qui vient d'apparaître et choisissez « AddDeny Rule … ». On va interdire l'accès aux utilisateurs anonymes.

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

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    46/74

    On peut choisir d'interdire tous les utilisateurs, les utilisateurs anonymes,certains rôles ou groupes, des utilisateurs en particulier. On va pouvoirrestreindre 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 essaie d'accéder au site, nous aurons le message d'erreur suivant :

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    47/74

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    48/74

    Les utilisateurs pouvant se connecter au site Web sont ceux situés dans l'ActiveDirectory à condition qu'ils ne soient pas refusés dans le menu « AuthorizationRules ».

    Les autres modules d'authentifications permettent de faire une authentificationtransparente avec l'AD, d'utiliser les cookies…

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    49/74

    V Autres Services

    V.1 FTP

    Nous allons nous consacrer désormais à l’élaboration d’un serveur FTP (FileTransfert 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 Microsoftsinon 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é se nomme : « ftp7_x86_rtw.msi ». Une f ois

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

    Cliquez sur suivant et acceptez la licence.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    50/74

    Cliquez sur suivant pour pouvoir choisir les modules que vous souhaitezinstaller. J’ai choisit d’ installer tous pour bénéficier au maximum des capacitésdu FTP.

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

    Une fois que l’installation s’est terminée avec succès, vous pouvez consulter lefichier d’installation et utiliser FTP 7.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    51/74

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

    Ces nouveaux icônes permettent d’administrer les paramètres FTP de notreserveur 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 ».

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    52/74

    Nous allons maintenant créer un espace FTP pour pouvoir déposer des fichiersdessus et en récupérer. Pour cela, aller dans « Démarrer / outilsd’Administrations / Internet Information Services (IIS) Manager ».

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

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    53/74

    L’assistant de création d’espace FTP se lance et il faut remplir le nom del’espace et le chemin de l’espace. J’ai choisi de l’appeler « FTP de Supinfo » etde mettre le chemin du dossier créé précédemment.

    Ensuite, il faut configurer l’accès à notre FTP puis SSL. J’ai choisi de laisser les paramètres par défaut pour l’accès à l’espace FTP (port 21 et par toutes lesinterfaces) et de configurer SSL plus tard.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    54/74

    Une fois cette étape validée, on renseigne les autorisations du site et le moded’authen tification 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 quele 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 choisi d’autoriser les utilisateurs anonymes à consulter notre espace et à leurdonner seulement un accès en lecture.

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

    Maintenant, les utilisateurs anonymes peuvent se connecter et ne peuvent pasmodifier, créer et supprimer des fichiers.

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

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    55/74

    Nous allons maintenant nous connecter avec des utilisateurs appartenant àActive Directory. Pour cela, il faut commencer par changer (ou « rajouter » sil’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 dedroite.

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

    Vous pouvez ajouter des utilisateurs pouvant accéder à notre espace FTP. Faitesun clic droit au milieu de la fenêtre et choisissez « Add Allow Rule … ».

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    56/74

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

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

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

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    57/74

    Nous allons maintenant configurer les messages d’accueil, de bienvenue, desortie … Pour cela, allez dans l’assistant d’IIS et cliquez sur « FTP Messages ».

    Ensuite, on va configurer chaque me ssage dans l’assistant.

    J’ai choisi de mettre un message d’accueil : « Bienvenue sur l'espace FTP du sitede Supinfo réalisé pour la rédaction de l'article sur IIS7 » et un message desortie « Au revoir ».

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    58/74

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

    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 etcliquez sur « FTP SSL Settings ».

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    59/74

    Ensuite, vous pouvez configurer les paramètres de 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 leprotocole SSL (« Require SSL Connections ») ou s’il n’est pas obligé (« Allow SSLConnections »).

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

    Pour pouvoir se connecter en utilisant SSL avec le client, il faut effectuerquelques paramètres sur FileZilla. Pour commencer, créez une nouvelleconnexion et configurez-la comme suit :

    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 faireconfiance à son certificat.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    60/74

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

    On peut également voir les utilisateurs connectés à notre serveur FTP vial’assistant IIS7. Pour cela, cliquez sur « FTP Current Sessions ».

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

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    61/74

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

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

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    62/74

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

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

    V.2.b Configuration de WebDAV 7

    Pour activer WebDAV, cliquez sur « WebDAV Authoring Rules » puis sur lemenu de droite « Enable WebDAV ».

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

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

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    63/74

    La fenêtre suivante vous permet de configurer une règle WebDAV. Le premieronglet permet de définir les fichiers accessibles via WebDAV. Le second onglet

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

    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 « BasicAuthentication » (Authentification via une pop-up) couplé avec SSL.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    64/74

    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 encliquant sur « Enable ».

    Une fois les modules d’authentifications activés, vérifiez dans « AuthorizationRules » si vous autorisez votre utilisateur à accéder au site. Si vous l’activezdans WebDAV et pas dans le site, l’utilisateur ne pourra pas accéder au serveurWebDAV.

    Dans mon cas, j ’autorise seulement les utilisateurs authentifiés et non lesutilisateurs anonymes.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    65/74

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    66/74

    Nous voyons que Windows a monté notre lecteur en fonction du nomd’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 droitsseulement en Lecture.

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

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    67/74

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    68/74

    On peut également configurer les pages par défaut que va charger le serveurIIS 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 notreserveur IIS7 pour démarrer sur la page « mapage.htm ». Pour cela, allez dans lemenu « Default Docum ent » dans l’assistant IIS7.

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

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    69/74

    Pour ajouter la page « mapage.htm », cliquez sur « Ajouter … » dans le menude 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.

    On lance le navigateur pour vérifier.

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

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    70/74

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    71/74

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

    Nous allons mettre 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 unsite et qu’on souhaite rediriger les requêtes vers un autre site. Nous allonsrediriger notre site vers www.supinfo.com.

    Pour cela, allez dans le menu « HTTP Redirect ».

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    72/74

    Maintenant, il faut cocher la case « Redirect Requests to this destination » puisinsérer l’adresse du site dessous. Il est aussi possible de configurer lecomportement des redirections en fonction de si on tape l’adresse exacte, enfonction du code de retour…

    Lorsque nous tapons l’adresse http://localhost/ nous arrivons à l’adressehttp://www.supinfo.com/.

    Pour finir cette partie, nous pouvons limiter l’accès au site en fonction del’adresse IP ( privée ou publique). Allez dans le menu « IPv4 Address et DomainRestrictions ».

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    73/74

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

    Nous allons interdire une machine du réseau à accéder au site. Pour connaîtreson adresse IP, tapez « IPCONFIG » dans une invite de commande sur lamachine que l’on veut interdire.

    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.

  • 8/17/2019 Serveur Web IIS 7 de Microsoft

    74/74

    Conclusion

    Nous avons donc pu voir que Microsoft propose ici une version de leur serveurweb 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 effortseffectuer du côté de Microsoft pour intégrer le PHP et autres langagesdynamiques dans son serveur web.

    On pourra également apprécier la compatibilité descendante avec IIS6 et leportail de la communauté IIS de Microsoft (www.iis.net) qui contient toutes lesinformations dont vous avez besoin.