Sécurisation des applications Web à l'aide d'un outil d'assemblage

Trois types de mécanismes d'authentification de connexion Web permettent de configurer une application Web : l'authentification de base, l'authentification par formulaire et l'authentification par certificat. Protégez les ressources Web dans une application Web en affectant des rôles de sécurité à ces ressources.

Pourquoi et quand exécuter cette tâche

Pour sécuriser des applications Web, déterminez les ressources Web à protéger et la méthode à suivre pour y parvenir.
Remarque : Cette procédure peut ne pas correspondre aux étapes requises lors de l'utilisation de votre outil d'assemblage, ou à la version de l'outil d'assemblage que vous utilisez. Respectez les instructions correspondant à l'outil et à la version que vous utilisez.

Les étapes ci-dessous décrivent en détail la sécurisation d'une application Web à l'aide d'un outils d'assemblage :

Procédure

  1. Dans un outil d'assemblage, importez le fichier WAR ou un fichier EAR contenant un ou plusieurs modules Web.
  2. Dans le dossier Explorateur de projets, recherchez l'application Web.
  3. A l'aide du bouton droit de la souris, cliquez sur le descripteur de déploiement et sélectionnez Ouvrir avec > Editeur de descripteur de déploiement. La fenêtre Descripteur de déploiement s'affiche. Pour accéder à l'aide en ligne de l'éditeur, appuyez sur la touche F1 et cliquez sur le nom de l'éditeur. Si vous sélectionnez un fichier WAR, un éditeur de descripteur de déploiement Web s'affiche. Si vous sélectionnez un fichier EAR, un éditeur de descripteur de déploiement d'application s'affiche.
  4. Créez des rôles de sécurité au niveau de l'application ou du module Web. Si un rôle de sécurité est créé au niveau du module Web, le rôle s'affiche également au niveau de l'application. Si un rôle de sécurité est créé au niveau de l'application, le rôle ne s'affiche pas dans tous les modules Web. Vous pouvez copier et coller un rôle de sécurité au niveau de l'application dans un ou plusieurs rôles de sécurité du module Web.
    • Créez un rôle au niveau du module Web. Dans un éditeur de descripteur de déploiement Web, cliquez sur l'onglet Sécurité. Dans Rôles de sécurité, cliquez sur Ajouter. Entrez le nom du rôle de sécurité, la description associée et cliquez sur Terminer.
    • Créez un rôle au niveau de l'application. Dans un éditeur de descripteur de déploiement d'application, cliquez sur l'onglet Sécurité. Sous la liste des rôles de sécurité, cliquez sur Ajouter. Dans l'assistant d'ajout de rôles de sécurité, indiquez le nom et la description du rôle de sécurité, puis cliquez sur Fin.
  5. Créez des contraintes de sécurité. Les contraintes de sécurité correspondent au mappage d'une ou de plusieurs ressources Web à un ensemble de rôles.
    1. Dans la page Sécurité d'un éditeur de descripteur de déploiement Web, cliquez sur Contraintes de sécurité. La page Contraintes de sécurité permet d'effectuer les actions suivantes :
      • ajouter ou supprimer des contraintes de sécurité pour des rôles de sécurité spécifiques ;
      • ajouter ou supprimer des ressources Web et leurs méthodes HTTP ;
      • définir les rôles de sécurité autorisés à accéder aux ressources Web ;
      • indiquer Aucun, Intégral ou Confidentiel pour définir les contraintes liées aux données utilisateur.
        Aucun
        L'application ne requiert pas de garantie de transport.
        Intégral
        Les données ne peuvent pas être modifiées lors de leur transfert entre le client et le serveur.
        Confidentiel
        Le contenu des données ne peut pas être observé lors du transfert.

        Intégral et Confidentiel requièrent généralement l'utilisation de SSL. Lorsque vous déployez des applications qui sont disponibles sur des réseaux publics, indiquez Confidentiel pour vos contraintes d'application Web.

    2. Dans Contraintes de sécurité, cliquez sur Ajouter.
    3. Dans Nom de la contrainte, indiquez un nom d'affichage pour la contrainte de sécurité et cliquez sur Suivant.
    4. Entrez le nom et la description de la collection de ressources Web.
    5. Sélectionnez une ou plusieurs méthodes HTTP. Les options des méthodes HTTP sont les suivantes : GET, PUT, HEAD, TRACE, POST, DELETE et OPTIONS.
    6. Dans la zone Masques URL, cliquez sur Ajouter.
    7. Indiquez un masque d'URL. Par exemple, entrez - /*, *.jsp, /hello. Consultez la spécification des servlets version 2.4 pour déterminer comment mapper les masques d'URL vers les servlets. Le module d'exécution utilise d'abord la correspondance exacte pour mapper l'URL entrante avec les modèles d'URL. Si la correspondance exacte n'existe pas, le module de sécurité utilisera la correspondance la plus longue. La concordance du masque d'URL par caractère générique (*.,*.jsp) est utilisée en dernier.
    8. Cliquez sur Terminer.
    9. Répétez ces étapes pour créer plusieurs contraintes de sécurité.
  6. Mappez les éléments security-role-ref et role-name vers l'élément role-link. Lors du développement d'une application Web, vous pouvez créer l'élément security-role-ref. Cet élément comporte uniquement la zone role-name. La zone role-name contient le nom du rôle référencé dans le code du servlet ou de la page JSP (JavaServer Pages) pour déterminer si l'appelant est associé à un rôle indiqué. Les rôles de sécurité étant créés lors de la phase d'assemblage, le développeur utilise un nom de rôle logique dans la zone Role-name et fournit une description suffisante dans la zone Description pour que l'assembleur puisse mapper le rôle réel. L'élément security-role-ref se trouve au niveau du servlet. Un servlet ou un fichier JSP (JavaServer Pages) peut comporter aucun, un ou plusieurs éléments security-role-ref.
    1. Accédez à l'onglet Références d'un éditeur de descripteur de déploiement Web. Dans la page Références, vous pouvez ajouter ou supprimer le nom d'une référence de bean enterprise au descripteur de déploiement. Dans cette page, vous pouvez ajouter cinq types de référence :
      • Référence EJB
      • Référence de service
      • Référence de ressource
      • Référence de destination de message
      • Référence de rôle de sécurité
      • Référence d'environnement de ressource
    2. Sous la liste des références EJB (Enterprise JavaBeans), cliquez sur Ajouter.
    3. Indiquez un nom ou un type pour la référence dans les zones Nom et Type de réf.
    4. Sélectionnez Beans enterprise dans l'espace de travail ou Beans enterprise hors de l'espace de travail.
    5. Facultatif : Si vous sélectionnez Beans enterprise hors de l'espace de travail, sélectionnez le type de bean enterprise dans la zoneType. Vous pouvez indiquer un bean entity ou un bean session.
    6. Facultatif : Cliquez sur Parcourir pour définir les valeurs de l'interface locale home et l'interface locale dans les zones Interface home locale Local, puis cliquez sur Suivant.
    7. Mappez chaque role-name utilisé lors du développement au rôle en suivant les étapes ci-dessus. Chaque nom de rôle utilisé lors du développement est mappé vers le rôle réel.
  7. Définissez l'identité d'exécution (RunAs) pour les servlets et les fichiers JSP. L'identité RunAs d'un servlet permet d'appeler les beans enterprise à partir du code du servlet. Lorsque les beans entreprise sont appelés, l'identité RunAs est transmise au bean enterprise pour contrôler l'autorisation sur les beans enterprise. Si l'identité RunAs n'est pas indiquée, l'identité du client est propagée aux beans enterprise. L'identité RunAs est affectée au niveau du servlet.
    1. Dans la page Servlets d'un éditeur de descripteur de déploiement Web, cliquez sur Servlets et fichiers JSP, puis sur Ajouter. L'assistant d'ajout d'un servlet ou d'un fichier JSP s'affiche.
    2. Définissez les paramètres des servlets ou des pages JSP (JavaServer Pages) et notamment le nom, les paramètres d'initialisation et les mappages d'URL, puis cliquez sur Suivant.
    3. Indiquez la destination du fichier de classe.
    4. Cliquez sur Suivant pour indiquer des paramètres supplémentaires ou cliquez sur Terminer.
    5. Cliquez sur Exécuter en tant que dans la page Servlets, sélectionnez le rôle de sécurité et décrivez-le.
    6. Indiquez une identité RunAs pour chaque servlet et fichier JSP utilisé par votre application Web.
  8. Configurez le mécanisme de connexion du module Web. Ce mécanisme de connexion configuré s'applique à tous les servlets, les fichiers JSP (JavaServer Pages) et les ressources HTML du module Web.
    1. Cliquez sur l'onglet Pages d'un éditeur de descripteur de déploiement Web, puis sur Connexion. Sélectionnez la méthode d'authentification requise. Les valeurs admises pour les méthodes sont les suivantes : Unspecified (Non spécifié), Basic (De base), Digest (Simplifié), Form (Formulaire) et Client-Cert (Certificat client).
    2. Indiquez un nom de domaine.
    3. Si vous avez sélectionné la méthode d'authentification par formulaire, choisissez une page de connexion et l'adresse Web d'une page d'erreur. Par exemple, /login.jsp ou /error.jsp. Les pages de connexion et d'erreur indiquées se trouvent dans le fichier .war.
    4. [AIX Solaris HP-UX Linux Windows][IBM i]Installez le certificat client dans le navigateur ou le client Web et placez-le dans le fichier de clés du serveur si vous avez sélectionné ClientCert.
    5. [z/OS]Installez le certificat client sur le client Web du navigateur et placez-le dans le fichier de clés des tiers dignes de confiance du serveur si vous avez sélectionné le certificat ClientCert. Le certificat public de l'autorité de certification des clients doit être placé dans le fichier de clés RACF des serveurs. Si le registre est un registre du système d'exploitation local, utilisez la commande RACDCERT MAP ou la commande SAF (System Authorization Facility) équivalente pour autoriser la création d'une entité MVS à l'aide du certificat du client.
  9. Fermez l'éditeur du descripteur de déploiement et, à l'invite, cliquez sur Oui pour sauvegarder les modifications.

Résultats

Une fois que vous avez sécurisé une application Web, le fichier d'archive W (WAR), qui en résulte, contient des informations de sécurité dans son descripteur de déploiement. Les informations de sécurité du module Web sont enregistrées dans le fichier web.xml. Lorsque vous utilisez l'éditeur de descripteur de déploiement Web, vous pouvez également modifier d'autres descripteurs de déploiement dans le projet Web, y compris des informations relatives aux liaisons et aux extensions IBM® dans les fichiers ibm-web-bnd.xmi et ibm-web-ext.xmi.
Configurations prises en charge Configurations prises en charge: Pour les fichiers de liaison et d'extension IBM, l'extension de nom de fichier .xmi ou .xml est différente selon que vous utilisiez un module ou une application antérieure à Java EE 5 ou un module ou une application ultérieure à Java EE 5. Un fichier de liaison ou d'extension IBM porte le nom ibm-*-ext.xmi ou ibm-*-bnd.xmi où * correspond au fichier d'extension ou de liaison, tel app, application, ejb-jar ou web. Les conditions suivantes s'appliquent :
  • Pour une application ou un module qui utilise une version Java EE antérieure à la version 5, l'extension de fichier doit être .xmi.
  • Pour une application ou un module qui utilise Java EE 5 ou version ultérieure, l'extension de fichier doit être .xml. Si des fichiers .xmi sont inclus dans l'application ou le module, le produit les ignore.

Toutefois, un module Java EE 5 ou version ultérieure peut exister dans une application qui inclut des fichiers antérieurs à Java EE 5 et utilise l'extension de nom de fichier .xmi.

Les fichiers ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi et ibm-portlet-ext.xmi continuent d'utiliser les extensions de fichier .xmi.

sptcfg

Que faire ensuite

Après avoir utilisé les outils d'assemblage pour sécuriser une application Web, vous pouvez installer l'application Web à l'aide de la console d'administration. Pendant l'installation de l'application Web, complétez les étapes de Déploiement d'applications sécurisées pour compléter la sécurisation de l'application Web.

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_secweb_atk
Nom du fichier : tsec_secweb_atk.html