Stratégie de protection étendue
Cet article décrit l’exemple ExtendedProtection.
La protection étendue est une initiative de sécurité visant à se protéger des attaques de l'intercepteur (MITM, Man In The Middle). Une attaque de l’intercepteur est une atteinte à la sécurité dans laquelle un intercepteur prend les informations d’identification d’un client et les envoie à un serveur.
Discussion
Lorsque des applications s'authentifient à l'aide de Kerberos, de Digest ou de NTLM via le protocole HTTPS, un canal TLS (Transport Level Security) est d'abord établi, puis l'authentification s'effectue au moyen du canal sécurisé. Toutefois, il n’existe aucune liaison entre la clé de session générée par SSL (Secure Sockets Layer) et celle qui est générée au cours de l’authentification. Tout intercepteur peut s'établir entre le client et le serveur et commencer à transférer les requêtes émanant du client, même quand le canal de transport lui-même est sécurisé, car le serveur n'a aucun moyen de savoir si le canal sécurisé est établi depuis le client ou un intercepteur. Dans un tel scénario, la solution consiste à lier le canal TLS externe avec le canal d'authentification interne de façon à permettre au serveur de détecter la présence d'un intercepteur.
Notes
Cet exemple fonctionne uniquement dans le cadre d'un hébergement sur IIS.
Notes
Les étapes suivantes sont propres à Windows 7.
Pour configurer, générer et exécuter l'exemple
Installez Internet Information Services à partir du Panneau de configuration, Ajout/Suppression de programmes, Fonctionnalités de Windows.
Installez Authentification Windows dans Fonctionnalités de Windows, Internet Information Services, Services World Wide Web, Sécurité et Authentification Windows.
Installez Activation HTTP de Windows Communication Foundation dans Fonctionnalités de Windows, Microsoft .NET Framework 3.5.1 et Activation HTTP de Windows Communication Foundation.
Cet exemple requiert l'établissement par le client d'un canal sécurisé avec le serveur et nécessite donc la présence d'un certificat de serveur qui peut être installé à partir du Gestionnaire des services Internet (IIS).
Ouvrez le Gestionnaire des services IIS. Ouvrez Certificats de serveur, qui apparaît sous l’onglet Affichage des fonctionnalités quand le nœud racine (nom de la machine) est sélectionné.
À des fins de test de cet exemple, créez un certificat auto-signé. Si vous ne voulez pas que le navigateur vous informe que le certificat n’est pas sécurisé, installez le certificat dans le magasin d’autorités racine approuvées de certificats.
Ouvrez le volet Actions du site web par défaut. Cliquez sur Modifier le site, Liaisons. S'il n'est pas déjà présent, ajoutez le type HTTPS avec le numéro de port 443. Assignez le certificat SSL créé au cours de l’étape précédente.
Générez le service. Un répertoire virtuel est alors créé dans IIS et les fichiers dll, .svc et .config requis pour l'hébergement Web du service sont copiés.
Ouvrez le Gestionnaire des services IIS. Cliquez avec le bouton droit sur le répertoire virtuel (ExtendedProtection), créé au cours de l’étape précédente. Sélectionnez Convertir en application.
Ouvrez le module Authentification dans le gestionnaire des services IIS pour ce répertoire virtuel et activez Authentification Windows.
Ouvrez Paramètres avancés sous Authentification Windows pour ce répertoire virtuel et définissez-le sur Obligatoire.
Vous pouvez tester le service en accédant à l'URL HTTPS à partir d'une fenêtre de navigateur (fournissez un nom de domaine complet). Si vous souhaitez accéder à cette URL à partir d'un ordinateur distant, assurez-vous que le pare-feu est ouvert pour l'ensemble des connexions HTTP et HTTPS entrantes.
Ouvrez le fichier de configuration du client et fournissez un nom de domaine complet pour le client ou l'attribut d'adresse du point de terminaison qui remplace
<<full_machine_name>>
.Exécutez le client. Le client communique avec le service, qui établit un canal sécurisé et utilise la protection étendue.