Configuration de SSL

Cette rubrique décrit les tâches requises pour configurer SSL pour HCL Digital Experience. Certaines d'entre elles sont exécutées à la fois sur IBM® WebSphere® Application Server et sur le serveur Web. Les étapes relatives à WebSphere® Application Server et au serveur Web sont récapitulées ici ; pour plus de détails, reportez-vous à la documentation relative à WebSphere® Application Server et au serveur Web. Steps that are unique to HCL are described in detail here.

Pourquoi et quand exécuter cette tâche

Remarque : This procedure might be slightly different if a front-end security proxy server such as IBM® Security Access Manager WebSEAL is used. Dans ce cas, le serveur de sécurité frontal gère les connexions du SSL client. Le serveur Web reçoit les connexions du serveur proxy de sécurité frontal. Des protocoles SSL mutuellement authentifiés peuvent être configurés entre le serveur Web et le serveur proxy de sécurité frontal, le cas échéant. Cela dépend dans une large mesure des besoins de sécurité de chaque déploiement.
Si vous envisagez d'utiliser un TAI WebSEAL Security Access Manager avec une jonction SSL, exécutez les étapes 1 à 3 uniquement de cette procédure.
Important : Si le processus de connexion est le seul à être sécurisé sur SSL, exécutez les trois premières étapes et passez ensuite à l'étape Configuration de SSL uniquement pour le processus de connexion.

Procédure

  1. Configurez le serveur Web pour la prise en charge du protocole HTTPS. Cette configuration implique la configuration du serveur Web pour qu'il accepte les connexions entrantes provenant des navigateurs client sur SSL.
  2. En fonction du serveur Web que vous voulez utiliser, vous devez installer d'autres logiciels sur le serveur Web.
    Par exemple: instance Microsoft Internet Information Server et Microsoft® Certificate Service.
  3. Le serveur Web doit avoir un port défini (généralement 443), et des certificats ainsi que des clés doivent être installés.
    • Accédez à la page Sécurisation à l'aide de communications SSL dans la section des liens connexes pour plus d'informations sur l'activation de SSL sur un serveur IBM® HTTP.
    • Reportez-vous au manuel Planification, installation et utilisation du serveur z/OS® HTTP dans la section des liens connexes. Ce manuel fournit des informations sur la configuration d'un serveur sécurisé.
  4. Dans un environnement de production, vous devez obtenir un certificat auprès d'une autorité de certification. A des fins de test, vous pouvez utiliser ikeyman en vue de générer un certificat auto-signé. Pour Internet Information Server, utilisez le kit d'outils de ressources du serveur Web pour créer des clés SSL. Reportez-vous à la section des liens connexes pour obtenir des informations supplémentaires sur iKeyman et la création de certificats numériques SSL (Secure Sockets Layer).
  5. Configurez le plug-in WebSphere® Application Server de sorte que le serveur Web achemine vers WebSphere® Application Server le trafic HCL reçu via SSL (le trafic est ensuite acheminé vers HCL). Reportez-vous à la section des liens connexes pour plus d'informations sur la configuration du plug-in.
  6. Dans les configurations où le serveur Web et HCL résident sur des serveurs séparés, les demandes sont réacheminées vers le serveur d'applications. Dans ces cas de figure vous pouvez également configurer SSL entre le serveur Web et le serveur d'applications pour assurer la sécurité complète. Cette configuration nécessite la création de fichiers de clés supplémentaires pour le plug-in de serveur Web et pour le protocole HTTPS imbriqué de WebSphere® Application Server.
    • Pour plus de détails sur la configuration de SSL entre le serveur Web et le serveur d'applications, recherchez Guide de la sécurité de WebSphere® Application Server version 8.5 sur le service de support logiciel HCL.
    • Pour plus d'informations sur cette étape, utilisez le lien IBM® Redbooks dans la section des liens connexes. Recherchez Security Handbook.
    Remarque : Vous devez toujours créer un nouveau fichier de clés et un nouveau fichier de clés certifiées pour le serveur Web externe et modifier le canal de transport sécurisé du serveur WebSphere_Portal pour utiliser le nouveau référentiel SSL.
    ATTENTION : Ne modifiez pas le fichier de clés certifiées et le fichier de clés SSL par défaut.
  7. Obligatoire : Pour créer ou modifier les deux propriétés suivantes dans les services de configuration, procédez comme suit :
    1. Log on to the WebSphere® Integrated Solutions Console.
    2. Go to Resources > Resource Environment > Resource Environment Providers.
    3. Click WP ConfigService.
    4. Cliquez sur Propriétés personnalisées sous l'en-tête Propriétés supplémentaires.
    5. Localisez la propriété redirect.login.ssl et exécutez l'une des actions suivantes :
      Parameter values : redirect.login.ssl détermine le protocole à utiliser une fois connecté. Indiquez l'une des valeurs suivantes :
      • Définissez la valeur true pour utiliser HTTPS.
      • Définissez la valeur false pour utiliser HTTP.
      • Si la propriété existe, cliquez sur celle pour la modifier et remplacer la valeur par true.
      • Si la propriété n'existe pas, cliquez sur Nouveau pour la créer et entrez les informations suivantes :
        • Nom : redirect.login.ssl
        • Valeur : true
        • Type : java.lang.String
    6. Localisez la propriété host.port.https et exécutez l'une des actions suivantes :
      • Si la propriété existe, cliquez sur celle pour la modifier et remplacer la valeur par alias_port.
        Remarque : La valeur alias_port est le numéro de port utilisé pour l'alias d'hôte virtuel indiqué dans une étape précédente (généralement 443).
      • Si la propriété n'existe pas, cliquez sur Nouveau pour la créer et entrez les informations suivantes :
        • Nom : host.port.https
        • Valeur : 443
        • Type : java.lang.String
    7. Click Save to save the changes to the master configuration.
    8. Log out of the WebSphere® Integrated Solutions Console.
  8. Mettez à jour la contrainte de sécurité de transport dans wps.ear.
    Vous pouvez modifier le transport afin que WebSphere® Application Server applique l'utilisation de SSL pour toutes les pages sous l'adresse URL /myportal/. Cette étape permet de sécuriser intégralement la zone protégée via HTTPS.
    Clustered environments : Procédez comme suit sur le noeud principal, puis effectuez une resynchronisation complète pour propager les modifications sur tous les noeuds.
    1. Exportez wps.ear.
      Voir la section des tâches connexes pour obtenir des instructions.
    2. Accédez au répertoire où vous avez exporté wps.ear : path_to_exported_EAR/installedApps/node_name/wps.ear/wps.war/WEB-INF
      Remarque : Vous devrez peut-être extraire le fichier EAR exporté avant de pouvoir modifier des fichiers.
    3. Locate and open web.xml with any text editor.
      Remarque : Dans certains cas, vous souhaitez mettre à jour les fichiers web.xml et web_merged.xml dans wps.ear. Pour plus de détails, voir Mise à jour des fichiers dans wps.ear.
    4. Définissez la valeur de l'élément <transport-guarantee> sur CONFIDENTIAL sous l'élément <security-constraint> de l'URL /myportal/*. Ne changez pas les valeurs des autres éléments <transport-guarantee>.
      Pour mettre à jour le fichier XML utilisez les informations suivantes :
            <security-constraint id="SecurityConstraint_1">
               <web-resource-collection id="WebResourceCollection_1">
                  <web-resource-name></web-resource-name>
               <url-pattern>/myportal/*</url-pattern>
               				<http-method>DELETE</http-method>
                  <http-method>POST</http-method>
                  <http-method>GET</http-method>
                  <http-method>PUT</http-method>
               </web-resource-collection>
               <auth-constraint id="AuthConstraint_1">
                  <description></description>
                  <role-name>All Role</role-name>
               </auth-constraint>
               <user-data-constraint id="UserDataConstraint_4">
                  <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
               </user-data-constraint>
            </security-constraint>
    5. Sauvegardez et fermez web.xml.
    6. Redéployez wps.ear.
    7. Synchronisez les noeuds dans votre environnement en cluster.
      1. Connectez-vous au gestionnaire de déploiement.
      2. Sélectionnez Administration système > Nœuds.
      3. Sélectionnez les noeuds pour synchroniser à partir de la liste.
      4. Cliquez sur Resynchronisation complète.
  9. Facultatif : Effectuez les étapes suivantes lorsque vous utilisez un serveur Web distant et que vous devez autoriser l'accès direct au noeud WebSphere_Portal sur le port interne.
    Par exemple, http://hostname.example.com:10039/wps/portal, où hostname.example.com est le nom de système hôte qualifié complet sur lequel Portal est en cours d'exécution et 10039 est le port de transfert par défaut créé par WebSphere® Application Server. Le numéro de port peut être différent pour votre environnement. :
    1. Dans la WebSphere® Integrated Solutions Console, accédez à Serveurs > Types de serveurs > Serveurs d'applications WebSphere > WebSphere_Portal > Paramètres du conteneur Web > Chaînes de transport du conteneur Web.
    2. Cliquez sur Nouveau.
    3. Sélectionnez le nom de la chaîne de transport.
    4. Sélectionnez le modèle WebContainer-Secure (templates/chains|webcontainer-chains.xml).
    5. Select Next.
    6. Indiquez le Nom du port.
      Par exemple, port 443.
    7. Cliquez sur Suivant.
    8. Cliquez sur Terminer pour confirmer la création de la chaîne de transport.
    9. Cliquez sur Sauvegarder.
    10. Dans un environnement de cluster, répétez les étapes précédentes pour chaque noeud du cluster.
      Par exemple, WebSphere_Portal2, puis synchronisez les modifications apportées à tous les noeuds.
  10. Facultatif : Effectuez les étapes suivantes uniquement si vous utilisez le portlet Login :
    1. Log in to HCL.
    2. Click the Administration menu icon. Then, click Portlet Management > Portlets.
    3. Localisez le portlet de connexion et cliquez sur l'icône Configurer le portlet.
    4. Localisez le paramètre UseSecureLoginActionUrl et cliquez sur l'icône Editer la valeur.
    5. Entrez true dans la zone Valeur, puis cliquez sur OK pour enregistrer les modifications.
    6. Cliquez sur OK pour revenir au portlet Gérer les portlets.
  11. Dans un environnement autonome, arrêtez et redémarrez le serveur WebSphere_Portal. Dans un environnement en cluster, arrêtez et redémarrez les serveurs Gestionnaire de déploiement et WebSphere_Portal.
    Clustered environments : Dans le gestionnaire de déploiement, vérifiez que les modifications apportées au fichier EAR ont bien été synchronisées avec tous les noeuds. Arrêtez et redémarrez les serveurs sur tous les noeuds.
  12. Procédez comme suit pour tester les modifications :
    1. Lancez la page d'accueil dans un navigateur Web via une adresse URL HTTP non sécurisée.
      For example, http://hostname.example.com:10039/wps/portal, where hostname.example.com is the fully qualified host name of the server where Portal is running and 10039 is the default transport port that is created by WebSphere® Application Server. Le numéro de port peut être différent pour votre environnement..
    2. Vérifiez que le lien de connexion dans la zone de bannière utilise le schéma HTTPS pour le lien à la page d'accueil.
    3. Entrez votre nom d'utilisateur et votre mot de passe. puis cliquez sur le lien de connexion pour vérifier que la page est protégée. L'adresse URL doit être HTTPS et le navigateur doit indiquer que la page est protégée.
      Browser security prompt : Après avoir cliqué sur le lien de connexion pour accepter le certificat du serveur, une invite de sécurité du navigateur peut apparaître.
    4. Déconnectez-vous.
    5. Connectez-vous à l'aide d'une adresse URL HTTP non sécurisée pointant directement sur la zone protégée.
      For example, http://hostname.example.com:10039/wps/portal, where hostname.example.com is the fully qualified host name of the server where Portal is running and 10039 is the default transport port that is created by WebSphere® Application Server. Le numéro de port peut être différent pour votre environnement.
    6. Vérifiez que vous êtes invité à vous connecter et que la page de connexion ainsi que la page de portail sont protégées via SSL.
      Remarque : Si la valeur de security-constraint n'a pas été remplacée par CONFIDENTIAL, SSL ne protège pas la page de connexion ni les pages du portail.