Le serveur web sous Windows est le service IIS (Internet Information Services).

Le serveur web peut être installé sur un serveur en allant dans Server Manager > Manage > Add Roles and Features > Web server (IIS). Ensuite on peut alors également sélectionner la liste des rôles plus précise du service web (par exemple pour le logging, l’authentification, le service web, le service FTP, etc).

Ensuite pour configurer les sites FTP ou web, on peut aller dans Server Manager > Tools > Internet Information Services (IIS Manager) puis sélectionner le serveur dans le menu de gauche et cliquer aller dans “Sites”.

A partir de là on peut alors faire un clic droit sur “Sites” et cliquer pour ajouter un nouveau site web ou un nouveau site FTP.

Ne pas oublier de configurer le DNS

Si on souhaite configurer des sites avec des adresses spécifiques, il ne faut donc pas oublier de configurer le DNS sur le controlleur du domaine afin d’ajouter les nouvelles entrées vers le serveur.

Configuration d’un site FTP simple

Pour un site FTP, il faut simplement demander la création d’un nouveau site, et le lier à un dossier. Dans la configuration du site il est également possible de définir le chiffrement (nous y renviendront plus tard, les utilisateurs autorisés, et le type d’authentification).

Il faut également s’assurer que le dossier a les bonnes permissions ACL, en effet ces dernières seront les même permissions ACL qui permettront ou non aux utilisateur·ice·s de lire ou d’écrire des fichiers sur le serveur.

Il est également possible d’ajouter des dossiers provenant d’ailleurs sur le système dans le site FTP (un peu comme les liens sous Linux/UNIX), ici cela s’appelle les Virtual Directories.

Pour l’activer il faut aller, depuis le site FTP, dans FTP File Browsing et cocher la case “Virtual Directories”.

Ensuite on peut faire un clic droit dans le menu de gauche sur le site FTP et choisir l’option “Add new virtual directory” et sélectionner le nom de l’alias ainsi que le chemin vers ce dernier.

Une fois cela fait on peut alors tester la configuration en se connectant au serveur via Filezilla ou WinSCP.

Configuration d’un site web simple

Pour installer un site web, cela se fait de manière similaire à un site FTP, il suffit d’aller dans l’option pour créer un nouveau site, et sélectionner le dossier contenant les fichiers, ainsi que l’url du site.

Il est également possible de spécifier le protocole et ainsi de chiffrer les connexions avec TLS, mais nous reviendrons à cela plus tard.

Il est également possible de demander une authentification pour le site, pour cela on peut alors choisir plusieurs types :

  • Anonymous Authencation signifie que n’importe qui peut se connecter au site
  • Basic Authentication signifie que seuls les utilisateur·ice·s peuvent se connecter via une authentification basique (envois du login et mot de passe au serveur)
  • Digest Authentication est similaire à la Basic Authentication à la différence que c’est un hash du mot de passe qui sera envoyé au serveur
  • Windows Authentication va utiliser un protocole particulier de Windows pour se connecter. Cette méthode est la seule réelle méthode d’authentification forte ici.

L'authentification ne fonctionne pas depuis le serveur

Si l’authentification ne fonctionne pas depuis le serveur lui-même, c’est normal. C’est pourquoi il faut utiliser un autre ordinateur afin d’accéder au site, ou alors de mettre à jour le registre Windows.

Gestion de l’authentification d’un site

Pour modifier les paramètres d’authentification on peut aller dans la section Authentication du panel du site, et activer et/ou désactiver celles que l’on souhaite. Notament il est aussi possible de définir le domaine à utiliser par défaut pour l’authentification basique (ce qui est recommandé pour éviter de devoir taper des logins tel que CG03DOM\et0050)

Ensuite pour gérer les permissions plus finement de qui a accès au site, on peut alors aller modifer la partie Authorization Rulesne pas confondre avec les authorization .NET !), ici il est alors possible de supprimer la règle d’autorisation par défaut et en créer de nouvelles.

Gestion du chiffrement (SSL/TLS) des sites

Enfin, pour le moment nos sites ne sont vraiment pas bien sécurisé, en particulier pour l’authentification basique où le mot de passe est envoyé en clair sur le réseau.

Il est donc parfois important de chiffrer la connexion entre le client et le site.

Pour cela il faut d’abord ajouter un certificat sur le serveur, il faut alors se procurer un fichier .pfx ou .p12 valide correspondant au nom de domaine du/des site·s, puis faire un clic droit dessus et choisir Install Certificate > Local machine.

A partir de ce moment il est alors possible d’activer le chiffrement sur les sites et leur demander d’utiliser le certificat.

  • Pour les sites FTP, il faut aller dans la section FTP SSL Settings et y ajouter le certificat et définir que la connexion SSL est requise pour établir une connexion vers le serveur
  • Pour les sites webs, il faut aller modifier les Bindings sur la barre latérale droite du panel de configuration. Dans ces bindings il faut alors changer le protocole depuis “HTTP” vers “HTTPS” et y préciser alors le certificat à utiliser