Configuration de SSL

Cette rubrique explique comment configurer votre serveur Web IIS pour diffuser des pages Web et d'autres ressources via le protocole HTTPS (Hypertext Transfer Protocol Secure). Le protocole HTTPS correspond à l'approche standard pour les communications sécurisées entre le client et le serveur via Internet. Le protocole HTTPS permet le chiffrement de la communication, si bien qu'en cas d'interception, les informations ne puissent pas être visualisées et utilisées aisément. Vous devez vous assurer que toutes les informations sensibles transférées vers votre serveur sont sécurisées par le biais du protocole HTTPS. Le protocole HTTPS doit être utilisé pour tout identifiant de connexion, ainsi que pour les pages qui transfèrent des données que vous voulez divulguer uniquement à l'utilisateur final.

Pour diffuser des pages et d'autres ressources via le protocole HTTPS, vous devez obtenir et installer un certificat SSL (Secure Sockets Layer) sur le serveur IIS. Normalement, vous obtenez le certificat SSL auprès d'une autorité de certification (CA) reconnue généralement par les navigateurs et les autres logiciels clients accédant à Internet. Si le certificat est émis par une autorité de certification reconnue par le navigateur, la communication avec le serveur se produit sans qu'aucune action spéciale de l'utilisateur ne soit requise. Par conséquent, pour les serveurs de production, il est hautement recommandé d'obtenir un certificat émis par une autorité de certification. Reportez-vous à la section Obtenir et installer un certificat SSL à partir d'une autorité de certification pour plus d'informations.

Une fois qu'un certificat SSL a été installé, vous pouvez accéder aux pages Web et aux autres ressources sur le serveur en utilisant le protocole HTTPS. Si la ressource contient des informations sensibles, il est recommandé d'exiger des clients qu'ils utilisent HTTPS pour utiliser la ressource. Reportez-vous à la section Exiger l'utilisation du protocole HTTPS pour plus de détails.

A des fins de développement et de test, il peut être approprié d'utiliser un certificat SSL auto-signé. Les navigateurs et les autres clients n'accepteront pas automatiquement de tels certificats et afficheront un message d'avertissement concernant le certificat. Reportez-vous à la section Utilisation d'un certificat SSL auto-signé pour plus de détails.

RemarqueRemarque :

Cette rubrique contient des procédures pour IIS 6 (Windows Server 2003) et IIS 7 (Windows Vista, Windows 7 et Windows Server 2008). Si vous utilisez IIS 5.1 (Windows XP), vous pouvez suivre la procédure pour IIS 6.

Déterminer si un certificat SSL est installé

Si vous n'êtes pas certain qu'un certificat SSL est installé sur votre serveur Web IIS, procédez comme suit :

Procédure pour IIS 6

Étapes :
  1. Ouvrez Panneau de configuration > Outils d'administration > Gestionnaire des services Internet (IIS).
  2. Dans le volet gauche du Gestionnaire des services Internet (IIS), développez l'arborescence pour rechercher votre serveur, puis Sites Web dans votre serveur, puis Site Web par défaut. (Si des sites Web supplémentaires ont été créés, vous devrez peut-être appliquer cette procédure au serveur sur lequel le site Web de votre instance de serveur ArcGIS est installé.)
  3. Cliquez avec le bouton droit sur Site Web par défaut et sélectionnez Propriétés dans le menu contextuel.
  4. Dans la boîte de dialogue Propriétés pour le site Web, cliquez sur l'onglet Sécurité de répertoire. Sous la section Communications sécurisées de ce volet d'onglet, si un bouton Afficher le certificat apparaît, un certificat SSL a été installé. Si un bouton Demande de certificat apparaît, aucun certificat SSL n'a été installé.

Procédure pour IIS 7

Étapes :
  1. Ouvrez Panneau de configuration > Outils d'administration > Gestionnaire des services Internet (IIS).
  2. Sélectionnez votre machine dans le volet Connexions.
  3. Assurez-vous que l'onglet Affichage des fonctionnalités d'IIS est sélectionné et cliquez sur Certificats de serveur. Tous les certificats installés sont répertoriés ici.

Obtenir et installer un certificat SSL à partir d'une autorité de certification

Cette section décrit la procédure permettant d'obtenir et d'installer un certificat SSL à partir d'une autorité de certification. Pour des informations complètes, consultez votre administrateur système, un consultant extérieur ou d'autres ressources sur la sécurité. Pour plus d'informations, reportez-vous à la rubrique Using SSL to Encrypt Confidential Data.

Étapes :
  1. Créez une demande de certificat à l'aide du Gestionnaire des services Internet (IIS). Pour obtenir des instructions, reportez-vous à la page Request a server certificate (IIS 6.0) ou Request an Internet Server Certificate (IIS 7).
  2. Envoyez la demande à une autorité de certification reconnue. Pour obtenir la liste des autorités de certification utilisables pour les logiciels Microsoft, reportez-vous à la page Microsoft Root Certificate Program Members.
  3. Une fois que vous avez obtenu le certificat, installez-le sur le serveur IIS. Pour obtenir des instructions, reportez-vous à la page Install a server certificate (IIS 6.0) ou Install an Internet Server Certificate (IIS 7).
  4. Si vous utilisez IIS 7, ajoutez la liaison HTTPS au site. Pour obtenir des instructions, reportez-vous à la page Add a Binding to a Site (IIS 7).

Une fois le certificat installé, les clients peuvent accéder aux pages et aux autres ressources en utilisant le protocole HTTPS. Vous pouvez également exiger l'utilisation du protocole HTTPS lors de l'accès à une ressource. Si vous avez besoin ultérieurement de supprimer un certificat SSL, reportez-vous à la documentation IIS sur des outils tels que HTTPCfg (IIS 6.0) ou reportez-vous à la page Remove a Server Certificate (IIS 7).

Port SSL sur le serveur Web

Les demandes SSL au serveur Web sont envoyées vers un port spécifique sur le serveur. Un port (ou port TCP) indique à la machine de destination quel programme gérera la demande. Par défaut, les serveurs Web gèrent les demandes SSL sur le port 443. Si le port par défaut est utilisé, les clients n'ont pas besoin de spécifier le port dans la demande. Si un port autre que le port par défaut est défini sur le serveur Web, les URL doivent l'inclure, comme par exemple dans https://gis.example.com:8443/mywebapp.

Vous pouvez utiliser un port SSL autre que le port par défaut pour votre site Web IIS, mais vous devez le définir avant d'installer ArcGIS Server (spécifiquement, les applications Web ArcGIS Server ou l'instance d'ArcGIS). Si vous installez votre instance d'ArcGIS Server, puis configurez SSL sur un port autre que le port par défaut, vous devrez peut-être mettre à jour la valeur du port SSL dans ArcGIS Server. De même, si vous modifiez le port SSL après avoir configuré la sécurité pour ArcGIS Server, vous devrez mettre à jour ArcGIS Server avec le nouveau numéro de port.

Vous devez seulement mettre à jour le port SSL dans ArcGIS Server si vous avez activé ou envisagez d'activer la sécurité pour des services Web SIG et que la sécurité utilisera des jetons. La sécurité des services utilisera des jetons si vous stockez les utilisateurs dans SQL Server ou dans un fournisseur personnalisé.

Pour mettre à jour l'instance ArcGIS Server avec un nouveau numéro de port SSL ou un numéro de port SSL non défini par défaut, procédez comme suit :

Étapes :
  1. A l'aide d'un éditeur de texte ou d'un éditeur XML, ouvrez le fichier <instance d'ArcGIS>\Security\web.config. Le dossier <instance d'ArcGIS> est en général le dossier C:\Inetpub\wwwroot\ArcGIS, mais si vous utilisez un emplacement différent pour votre site Web IIS ou si vous avez installé les applications Web ArcGIS sous un autre nom, localisez le dossier et utilisez son dossier Security.
  2. Dans le fichier web.config, recherchez le paramètre suivant (la valeur de votre port SSL peut différer) : <add key="SSLPort" value="443" /> et modifiez la valeur en spécifiant le nouveau numéro de port SSL. Enregistrez et fermez le fichier.
  3. Si vous n'avez pas encore configuré la sécurité, vous pouvez ignorer les étapes suivantes pour le moment. Dans le cas contraire, ouvrez le Gestionnaire ArcGIS Server, connectez-vous et accédez à Sécurité > Paramètres > Configurer.
  4. Suivez l'assistant pour configurer la sécurité avec l'emplacement des utilisateurs et des rôles souhaité. Même si vous avez configuré la sécurité auparavant, vous devez répéter le processus pour sélectionner le nouveau port SSL.
  5. Après avoir complété l'assistant de sécurité, testez l'accès à vos services sécurisés pour confirmer que les paramètres ont été appliqués correctement.

Exiger l'utilisation du protocole HTTPS

Vous devez exiger de vos clients qu'ils utilisent HTTPS pour accéder aux pages Web et aux ressources contenant des données sensibles. Cela inclut les pages de connexion, mais également certaines applications Web entières.

L'utilisation du protocole HTTPS impose un supplément de communication entre le client et le serveur. Utilisez ou exigez le protocole HTTPS seulement pour des ressources qui ne doivent pas être divulguées à des tiers.

Pour exiger l'utilisation du protocole HTTPS pour un dossier ou un service ArcGIS Server, vous pouvez utiliser ArcGIS Server pour exiger HTTPS. Pour plus de détails, reportez-vous à la section Exiger l'utilisation du protocole HTTPS pour les dossiers et les services dans la rubrique "Sécurisation des connexions Internet aux services".

Vous pouvez également utiliser le serveur Web IIS pour exiger l'utilisation du protocole HTTPS (SSL) pour une application Web, une page Web ou une autre ressource :

Procédure pour IIS 6

Étapes :
  1. Démarrez le Gestionnaire des services Internet (IIS) en ouvrant Panneau de configuration > Outils d'administration > Gestionnaire des services Internet (IIS).
  2. Développez le nœud Sites Web, puis le site Web qui contient la ressource pour laquelle vous souhaitez imposer le protocole HTTPS. Par défaut, IIS diffuse les sites figurant dans Site Web par défaut. Dans le site Web, parcourez l'arborescence afin de trouver l'application Web, le dossier, la page Web ou l'autre ressource pour lequel/laquelle vous souhaitez imposer le protocole HTTPS.
  3. Cliquez avec le bouton droit sur la ressource et sélectionnez Propriétés.
  4. Cliquez sur l'onglet Sécurité de répertoire (ou de fichier). Dans cet onglet, dans la zone Communications sécurisées, cliquez sur le bouton Modifier. Si ce bouton n'est pas disponible, le serveur IIS n'a pas de certificat SSL installé. Reportez-vous à la section précédente, "Obtenir et installer un certificat SSL à partir d'une autorité de certification" pour obtenir et installer un certificat.
  5. Dans la boîte de dialogue Communications sécurisées qui s'ouvre, cochez la case Requérir un canal sécurisé (SSL).
  6. Cliquez sur OK pour fermer cette boîte de dialogue, ainsi que la boîte de dialogue Propriétés, pour la ressource. Fermez le Gestionnaire des services Internet (IIS).
  7. Testez le résultat en essayant de récupérer la ressource en utilisant http://. Un message apparaît indiquant que le protocole HTTPS est requis. Récupérez la ressource en utilisant https://.

Procédure pour IIS 7

Étapes :
  1. Démarrez le Gestionnaire des services Internet (IIS) en ouvrant Panneau de configuration > Outils d'administration > Gestionnaire des services Internet (IIS).
  2. Développez le nœud Sites Web, puis le site Web qui contient la ressource pour laquelle vous souhaitez imposer le protocole HTTPS. Par défaut, IIS diffuse les sites figurant dans Site Web par défaut. Dans le site Web, parcourez l'arborescence afin de trouver l'application Web, le dossier, la page Web ou l'autre ressource pour lequel/laquelle vous souhaitez imposer le protocole HTTPS.
  3. Parcourez l'arborescence de votre serveur et sélectionnez l'élément pour lequel vous souhaitez exiger SSL.
  4. Assurez-vous que l'affichage des fonctionnalités IIS est activé, puis double-cliquez sur Paramètres SSL.
  5. Activez l'option Exiger SSL, puis, dans le volet Actions, cliquez sur Appliquer.
  6. Cliquez sur le bouton Précédent dans le Gestionnaire des services Internet (IIS) pour retourner à la page Affichage des fonctionnalités.
  7. Testez le résultat en cliquant sur Parcourir *:80 (http) dans le volet Actions. Vous devez voir un message indiquant que SSL est requis. Cliquez à présent sur Parcourir *:443 (https) dans le volet Actions pour récupérer la page à l'aide du protocole HTTPS.

Notez que si les clients demandent une page ou une ressource via HTTP alors qu'elle requiert HTTPS, ils ne sont pas redirigés automatiquement vers l'URL HTTPS de la ressource. Il est possible de rediriger par programme de telles demandes (recherchez des ressources de développement dans les ressources Internet), mais aucun outil standard n'est disponible. Assurez-vous que vos utilisateurs savent qu'ils doivent utiliser https:// pour accéder à la ressource.

Utilisation d'un certificat SSL auto-signé

A des fins de développement et de test, il peut être approprié d'utiliser un certificat SSL auto-signé. L'utilisation d'un certificat auto-signé n'est pas recommandée pour les sites de production. Les utilisateurs d'un navigateur verront un avertissement de sécurité lors du chargement d'une ressource à partir d'un site qui utilise un certificat auto-signé. Vous ne devez pas approuver de certificat auto-signé à moins d'être certain de l'identité du serveur et de l'organisation auxquels vous vous connectez. Outre les problèmes de navigateur, certaines applications serveur peuvent poser problème lors de l'utilisation de certificats auto-signés. Certains conseils sont inclus dans la procédure ci-dessous pour certaines applications serveur, mais pour d'autres types d'applications, vous devrez peut-être installer le certificat pour le serveur de manière à ce que le serveur et l'application le reconnaissent.

Les certificats auto-signés peuvent être générés de plusieurs façons possibles. Consultez des textes sur la sécurité, des experts de sécurité ou des sites Web pour connaître les options disponibles.

Avec IIS 7, le Gestionnaire des services Internet (IIS) permet de créer un certificat auto-signé. Pour obtenir des instructions, reportez-vous à la page Create a Self-Signed Server Certificate in IIS 7. Une fois que vous avez créé un certificat de serveur auto-signé, vous devez ajouter la liaison HTTPS au site. Pour obtenir des instructions, reportez-vous à la page : Add a Binding to a Site (IIS 7).

Avec IIS 6, vous devez utiliser SelfSSL à partir du Kit de ressources IIS 6.0 pour créer un certificat auto-signé. Les instructions ci-dessous vous indiquent comment procéder.

Étapes :
  1. Téléchargez et installez le Kit de ressources IIS 6.0 fourni par Microsoft. Installez l'outil SelfSSL au moins. Les autres outils sont facultatifs.
    RemarqueRemarque :

    Cet outil est pris en charge sur Windows Server 2003 et Windows XP. D'autres plates-formes peuvent nécessiter un outil différent.

  2. Exécutez SelfSSL et installez le certificat sur la machine IIS :
    1. Sur la machine IIS, cliquez sur Démarrer > Programmes > Ressources IIS > SelfSSL > SelfSSL. Cela ouvre une invite de commandes à l'emplacement SelfSSL.
    2. Saisissez la commande pour créer et installer un certificat. Cet exemple crée un certificat valide pendant 365 jours, pour le serveur www.example.com, et qui sera approuvé par le navigateur local : SelfSSL /V:365 /N:CN=www.example.com /T
    3. L'argument de nom (N) doit être défini sur le nom que les utilisateurs entreront pour le serveur. Reportez-vous à l'aide de SelfSSL pour plus d'informations sur les options disponibles, telles que l'installation sur un site Web IIS autre que le site Web par défaut.
    4. Fermez la fenêtre SelfSSL en saisissant exit et en appuyant sur la touche Entrée.
  3. Testez le certificat en ouvrant un navigateur et en chargeant une page sur le serveur en utilisant https://. Un message apparaît indiquant que le certificat ne provient pas d'une autorité de certification connue. Cliquez pour continuer et la page se charge normalement.
  4. Si vous envisagez d'utiliser des services ArcGIS sécurisés dans une application Web ADF qui s'exécute sur un serveur différent, importez le certificat dans le magasin de certificats de l'ordinateur local. Reportez-vous aux instructions ci-dessous.

Le certificat est reconnu uniquement lorsqu'il est demandé avec le nom spécifié avec l'argument N ci-dessus (ou avec le nom de la machine, si N n'est pas spécifié). Par exemple, si le nom de machine par défaut myserver est utilisé et que le client demande la page avec le nom de domaine complet myserver.example.com, le client vous prévient que le nom figurant sur le certificat ne correspond pas à la demande.

Installation du certificat auto-signé sur les ordinateurs clients

Avec un certificat auto-signé, le client affichera un avertissement au démarrage de chaque session avec le serveur. Si vous créez une application Web ADF qui utilise un service sécurisé sur un serveur avec un certificat auto-signé, le service peut ne pas fonctionner dans l'application. Pour éviter des avertissements et des problèmes de sécurité de ce type, vous pouvez exporter le certificat à partir du serveur et l'importer sur les ordinateurs clients. Cela doit être fait uniquement à des fins de test et de développement internes, et non pas pour les sites de production.

Exportation du certificat dans IIS 6

Étapes :
  1. Ouvrez le Gestionnaire des services Internet (IIS) et accédez à votre site Web par défaut.
  2. Cliquez avec le bouton droit sur Site Web par défaut, puis sélectionnez Propriétés.
  3. Dans l'onglet Sécurité de répertoire, sous Communications sécurisées, cliquez sur Afficher le certificat.
  4. Dans la fenêtre Certificat, cliquez sur l'onglet Détails, puis sur Copier dans un fichier.
  5. Dans l'Assistant Exportation de certificat, acceptez tous les paramètres par défaut (n'exportez pas la clé privée ; utilisez le format DER), nommez le fichier (par exemple, mymachine-ssl-cert-export.cer), puis cliquez sur Terminer. Par défaut, le fichier du certificat est placé dans \Windows\System32\inetsrv\, mais vous pouvez l'enregistrer à tout emplacement.
  6. Partagez le certificat avec les ordinateurs clients via le courrier électronique, un partage de fichiers ou sur le serveur Web.

Exportation du certificat dans IIS 7

Étapes :
  1. Ouvrez le Gestionnaire des services Internet (IIS) et sélectionnez votre machine.
  2. Dans l'affichage des fonctionnalités IIS, double-cliquez sur Certificats de serveur.
  3. Cliquez sur le certificat que vous souhaitez exporter.
  4. Dans le volet Actions, cliquez sur Affichage.
  5. Dans la fenêtre Certificat, cliquez sur l'onglet Détails, puis sur Copier dans un fichier.
  6. Dans l'Assistant Exportation de certificat, acceptez tous les paramètres par défaut (n'exportez pas la clé privée ; utilisez le format DER), nommez le fichier (par exemple, mymachine-ssl-cert-export.cer), puis cliquez sur Terminer. Par défaut, le fichier du certificat est placé dans \Windows\System32\inetsrv\, mais vous pouvez l'enregistrer à tout emplacement.
  7. Partagez le certificat avec les ordinateurs clients via le courrier électronique, un partage de fichiers ou sur le serveur Web.

Une fois que le certificat est disponible, continuez avec les étapes appropriées ci-dessous pour l'importer sur un ordinateur client.

Importation d'un certificat dans IIS 6

Étapes :
  1. Obtenez une copie du fichier de certificat généré auparavant et enregistrez-la localement.
  2. Double-cliquez sur le fichier .cer pour afficher les informations du certificat.
  3. Cliquez sur Installer le certificat.
  4. Lorsque l'Assistant Importation de certificat s'ouvre, cliquez sur Suivant.
  5. Dans le volet Magasin de certificats de l'Assistant, choisissez où installer le certificat.
    • Si l'ordinateur exécutera uniquement des applications clientes (ArcGIS Desktop ou des navigateurs), maintenez l'option Sélectionner automatiquement le magasin de certificats selon le type de certificat.
    • Si l'ordinateur est un serveur Web qui hébergera des applications Web ADF .NET, cliquez sur l'option Placer tous les certificats dans le magasin suivant. Cliquez ensuite sur le bouton Parcourir et, dans la boîte de dialogue Sélectionner un magasin de certificats qui s'ouvre, activez l'option Afficher les magasins physiques. Développez Autorités de certification racines de confiance et sélectionnez le dossier Ordinateur local. Cliquez sur OK pour retourner dans l'Assistant Importation de certificat.
      RemarqueRemarque :

      Si l'ordinateur doit exécuter des applications clientes comme indiqué ci-dessus, exécutez de nouveau l'Assistant Importation de certificat après avoir fini l'étape 6 et choisissez d'installer le certificat en utilisant l'option Sélectionner automatiquement le magasin de certificats.

  6. Cliquez sur Suivant, puis sur Terminer. Un message apparaît indiquant que l'importation de certificat a réussi. Fermez la boîte de dialogue Certificat.

Importation d'un certificat dans IIS 7

Étapes :
  1. Cliquez sur Démarrer, puis, dans la zone de recherche, saisissez mmc.exe et cliquez sur OK.
  2. Dans Microsoft Management Console (MMC), cliquez sur Fichier, puis sur Ajouter/Supprimer un composant logiciel enfichable.
  3. Cliquez sur Certificats, puis sur le bouton Ajouter.
  4. Cliquez sur Mon compte d'utilisateur, puis sur Terminer.
  5. Cliquez sur OK dans la boîte de dialogue Ajouter ou supprimer des composants logiciels enfichables. Le composant logiciel enfichable Certificats est ajouté dans la fenêtre MMC.
  6. Développez le nœud Certificats > Utilisateur actuel et développez Autorités de certification racines de confiance pour afficher son sous-nœud Certificats.
  7. Cliquez avec le bouton droit sur le nœud Certificats, cliquez sur Toutes les tâches, puis sur Importer.
  8. Lorsque l'Assistant Importation de certificat s'ouvre, cliquez sur Suivant et, dans le volet Fichier à importer, cliquez sur Parcourir et recherchez le fichier de certificat que vous avez enregistré localement. Sélectionnez-le dans la boîte de dialogue Ouvrir et cliquez sur Ouvrir. Le chemin d'accès et le nom sont affichés dans le volet Fichier à importer.
  9. Cliquez sur Suivant. Dans le volet Magasin de certificats, vérifiez que l'option Placer tous les certificats dans le magasin suivant est sélectionnée et que le magasin de certificats affiché est Autorités de certification racines de confiance. Cliquez sur Suivant.
  10. Affichez les informations récapitulatives pour l'importation de certificat, puis cliquez sur Terminer.
  11. Cliquez sur Oui dans la boîte de dialogue Avertissement de sécurité, puis cliquez sur OK.
  12. Si l'ordinateur est un serveur Web qui hébergera des applications Web ADF .NET, répétez les étapes 2 à 11, mais à l'étape 4, sélectionnez Un compte d'ordinateur à la place de Mon compte d'utilisateur.

Une fois que vous avez effectué cette procédure, Internet Explorer et les autres clients basés sur Internet Explorer peuvent utiliser HTTPS avec le serveur sans avertissements. Les navigateurs autres qu'Internet Explorer peuvent nécessiter une acceptation distincte du certificat.

Si des services Web SIG seront accédés à partir d'une application Web ADF Java ArcGIS Server, vous devez installer le certificat dans l'environnement d'exécution Java du Gestionnaire Java à l'aide de l'outil clé. Tout redéploiement de l'application vers un autre serveur Web nécessite que vous ajoutiez le certificat dans l'environnement d'exécution Java du serveur Web.

Requérir SSL pour les pages de connexion et d'administration du répertoire des services

Par défaut, le répertoire des services utilise HTTP pour toutes les pages. Comme la connexion au répertoire de services transmet des informations d'identification au serveur, vous devez requérir HTTPS pour les pages de connexion et d'administration, une fois que vous avez configuré SSL sur votre serveur. Pour requérir SSL sur ces pages, procédez comme suit :

Étapes :
  1. Ouvrez le fichier <Instance d'ArcGIS Server>\rest\rest.config dans un éditeur de texte. Par exemple, si votre nom d'instance est ArcGIS et qu'IIS est installé sur le lecteur c:, le chemin d'accès sera c:\Inetpub\wwwroot\ArcGIS\rest\rest.config.
  2. Recherchez l'élément UseSslForLoginAndAdmin en bas du fichier.
  3. Modifiez le contenu de cet élément en spécifiant true.
  4. Enregistrez et fermez le fichier.

A présent, lorsque des utilisateurs cliquent sur le lien de connexion ou lorsque des administrateurs accèdent à la page d'administration REST, ils sont redirigés vers une URL HTTPS afin de protéger leurs informations d'identification.


3/6/2012