Considérations sur la sécurité dans un environnement WebSphere Application Server multinoeud

WebSphere® Application Server Network Deployment prend en charge la gestion centralisée des noeuds distribués et des serveurs d'applications. Cette prise en charge rend les choses complexes, surtout lorsque la sécurité est impliquée. Etant donné que tout est réparti, la sécurité joue un rôle même plus grand pour assurer que les communications sont sécurisées de façon appropriée entre les serveurs d'applications et les agents de noeuds et entre les agents de noeuds, qui sont des gestionnaires de configuration propres aux noeuds) et le gestionnaire de déploiement (qui est un gestionnaire de configuration centralisé, opérant sur l'ensemble du domaine).

Avant de commencer

[AIX Solaris HP-UX Linux Windows][IBM i]Etant donné que les processus sont distribués, le mécanisme d'authentification qui doit être utilisé est LTPA (Lightweight Third Party Authentication). Les jetons LTPA sont chiffrés, signés et peuvent être acheminés vers des processus distants. Ils ont toutefois des dates d'expiration. Le connecteur SOAP, qui est le connecteur par défaut, est utilisé pour la sécurité d'administration et ne dispose d'aucune logique de relance des jetons arrivés à expiration. Cependant, le protocole est sans état. Un nouveau jeton est donc créé pour chaque demande s'il n'y a pas assez de temps pour exécuter la demande avec le temps spécifié restant dans le jeton. Il existe un autre connecteur, le connecteur RMI, qui est avec état (stateful) et contient une logique de renouvellement pour corriger les jetons arrivés à expiration en soumettant à nouveau les demandes après la détection de l'erreur. Les jetons ayant des délais d'expiration spécifiques, la synchronisation des horloges système est essentielle au bon fonctionnement de la validation à base de jetons. Si les horloges sont trop décalées (d'environ 10 à 15 minutes), des erreurs de validation irrémédiables peuvent se produire. Assurez-vous que la date et l'heure des horloges ainsi que les fuseaux horaires sont identiques sur tous les systèmes. Les noeuds peuvent être répartis sur plusieurs fuseaux horaires si les heures sont exactes dans les fuseaux horaires (par exemple, 5 PM CST = 6 PM EST, etc.).

[z/OS]Les processus étant répartis, un mécanisme d'authentification prenant en charge un jeton d'authentification tel que LTPA (Lightweight Third Party Authentication) doit être sélectionné. Les jetons sont chiffrés, signés et peuvent être acheminés vers des processus distants. Toutefois, les jetons ont des délais d'expiration définis dans la console d'administration WebSphere Application Server . Le connecteur SOAP, qui est le connecteur par défaut, est utilisé pour la sécurité d'administration et ne dispose d'aucune logique de relance des jetons arrivés à expiration. Cependant, le protocole est sans état. Un nouveau jeton est donc créé pour chaque demande s'il n'y a pas assez de temps pour exécuter la demande avec le temps spécifié restant dans le jeton. Il existe un autre connecteur, le connecteur RMI (Remote Method Invocation), qui est avec état (stateful) et contient une logique de renouvellement pour corriger les jetons arrivés à expiration en soumettant à nouveau les demandes après la détection de l'erreur. Les jetons ayant des délais d'expiration spécifiques, la synchronisation des horloges système est essentielle au bon fonctionnement de la validation à base de jetons. Si les horloges sont trop décalées (d'environ 10 à 15 minutes), des erreurs de validation irrémédiables peuvent se produire. Assurez-vous que la date et l'heure des horloges ainsi que les fuseaux horaires sont identiques sur tous les systèmes. Les noeuds peuvent être répartis sur plusieurs fuseaux horaires si les heures sont exactes dans les fuseaux horaires (par exemple, 5 PM CST = 6 PM EST, etc.).

Fonction obsolète: La prise en charge du connecteur RMI est obsolète. Utilisez des connecteurs JSR160RMI à la place des connecteurs RMI.
[z/OS]D'autres éléments doivent être pris en compte avec SSL (Secure Sockets Layer). WebSphere Application Server for z/OS® peut utiliser des fichiers de clés RACF (Resource Access Control Facility) pour stocker les clés et les fichiers de clés certifiées utilisés pour SSL, mais différents protocoles SSL sont utilisés en interne. Vous devez configurer les deux éléments suivants :
  • un répertoire SSL système à utiliser par le conteneur Web
  • Un répertoire SSL JSSE (Java™ Secure Sockets Extension) à utiliser par le connecteur SOAP HTTP si le connecteur SOAP est utilisé pour les demandes d'administration
Vérifiez que les magasins de clés et les magasins des tiers dignes de confiance que vous configurez sont établis pour sécuriser uniquement les serveurs avec lesquels ils communiquent. Assurez-vous qu'ils comportent les certificats signataires nécessaires émanant de ces serveurs dans les fichiers des tiers dignes de confiance de tous les serveurs du domaine. Lorsque vous utilisez une autorité de certification pour créer des certificats personnels, il est plus facile de s'assurer que tous les serveurs se sécurisent entre eux en ayant le certificat CA Root dans tous les signataires.

[z/OS]L'outil de gestion des profils WebSphere z/OS ou la commande zpmt utilise la même autorité de certification pour générer des certificats pour tous les serveurs d'une cellule donnée, y compris ceux des agents de noeud et du gestionnaire de déploiement.

A propos de cette tâche

Prenez en compte les problèmes suivants lors de l'utilisation ou de la planification d'un environnement WebSphere Application Server Network Deployment .

Procédure

  • Lorsque vous tentez d'exécuter des commandes de gestion de système telles que la commande stopNode , spécifiez explicitement les données d'identification d'administration pour effectuer l'opération. La plupart des commandes acceptent les paramètres -user et -password pour l'indication de l'ID utilisateur et du mot de passe. Spécifiez l'ID utilisateur et le mot de passe d'un administrateur (par exemple, un utilisateur membre des utilisateurs de la console disposant des droits Utilisateur ou Administrateur ou l'ID administrateur configuré dans le registre d'utilisateurs).
    Voici un exemple de la commande stopNode :

    [AIX Solaris HP-UX Linux Windows][IBM i]stopNode -username user -password pass

    [z/OS]stopNode.sh -username user -password pass

  • Vérifiez que la configuration au niveau des agents de noeuds est toujours synchronisée avec le gestionnaire de déploiement avant de démarrer ou de redémarrer un noeud. Pour synchroniser la configuration manuellement, exécutez la commande syncNode à partir de chaque noeud qui n'est pas synchronisé. Pour synchroniser la configuration des agents de noeuds ayant démarré, cliquez sur Administration système > Noeuds. Sélectionnez tous les noeuds démarrés, puis cliquez sur Synchroniser.
  • [AIX Solaris HP-UX Linux Windows][IBM i]Vérifiez que les horloges de tous les systèmes sont synchronisées, y compris l'heure et la date. Si elles ne sont pas synchronisées, les jetons arrivent à expiration dès qu'ils atteignent le serveur cible en raison des différences d'heure. L'heure universelle coordonnée (UTC) est utilisée par défaut et toutes les autres machines doivent avoir la même heure UTC. Pour savoir comment le vérifier, consultez la documentation de votre système d'exploitation.
  • Vérifiez que la période d'expiration du jeton LTPA suffit pour l'exécution de la plus longue demande en aval. Certains justificatifs sont mis en cache et le délai d'expiration ne prend pas toujours en compte la longueur de la demande. Plus spécifiquement, pour les données d'identification en cache, il se peut que vous deviez évaluer vos paramètres pour le cache de sécurité (WSSecureMap) et le délai d'attente LTPA.
  • Le connecteur d'administration utilisé par défaut par la gestion du système est SOAP. SOAP est un protocole HTTP sans état (stateless). Dans la plupart des situations, ce connecteur suffit. Lorsqu'un incident se produit avec le connecteur SOAP, il peut être souhaitable de remplacer le connecteur SOAP par défaut sur tous les serveurs par le connecteur RMI. Le connecteur RMI utilise CSIv2 (Common Secure Interoperability Version 2), un protocole avec état (stateful) interopérable, et peut être configuré pour utiliser la vérification d'identité (la délégation en aval), l'authentification par couche de messages (BasicAuth ou Token) et l'authentification par certificat client (pour l'isolement des relations de confiance des serveurs). Pour changer le connecteur par défaut sur un serveur donné, cliquez sur Services d'administration dans les propriétés supplémentaires disponibles pour ce serveur.
  • [z/OS]Un message d'erreur peut se produire dans la sécurité du sous-système d'administration. Cette erreur indique que le processus expéditeur n'a pas fourni de justificatif au processus destinataire. En général, cet incident est dû au fait que la sécurité est désactivée pour le processus expéditeur alors qu'elle est activée pour le processus destinataire. Cette configuration indique habituellement que l'un des deux processus n'est pas synchronisé avec la cellule. Le fait que la sécurité d'un serveur d'applications spécifique soit désactivée n'affecte pas la sécurité d'administration.
  • [AIX Solaris HP-UX Linux Windows][IBM i]Un message d'erreur peut se produire dans la sécurité du sous-système d'administration. Cette erreur indique que le processus expéditeur n'a pas fourni de justificatif au processus destinataire. En général, les causes de cet incident sont les suivantes :
    • La sécurité est désactivée pour le processus expéditeur alors qu'elle est activée pour le processus destinataire. Cette configuration indique habituellement que l'un des deux processus n'est pas synchronisé avec la cellule. Le fait que la sécurité d'un serveur d'applications spécifique soit désactivée n'affecte pas la sécurité d'administration.
    • Les horloges ne sont pas synchronisées d'un système à l'autre, ce qui invalide immédiatement les jetons de justificatif. Assurez-vous que la date, l'heure et les fuseaux horaires sont synchronisés sur les deux postes. Une erreur semblable à la suivante peut se produire :
      [9/18/02 16:48:23:859 CDT] 3b9cef35 RoleBasedAuth A CWSCJ0305I : La vérification de l'autorisation basée sur des rôles 
      a échoué pour le nom de sécurité <null>, accessId NO_CRED_NO_ACCESS_ID 
      lors de l'appel de la méthode propagateNotifications:[Ljavax.management.Notification; 
      sur la ressource NotificationService et le module NotificationService.
  • [AIX Solaris HP-UX Linux Windows][IBM i]Lors de l'obtention du message d'erreur suivant, vérifiez que les horloges sont synchronisées entre tous les serveurs de la cellule et que les configurations sont synchronisées entre tous les noeuds et le gestionnaire de déploiement. Une erreur semblable à la suivante peut se produire :
    [9/18/02 16:48:22:859 CDT] 3bd06f34 LTPAServerObj E CWSCJ0372E : La validation du 
    jeton a échoué.

Résultats

Une approche correcte des interactions de sécurité entre les serveurs répartis réduit fortement les erreurs détectées dans les communications sécurisées. La sécurité complique les choses car elle nécessite la gestion d'une fonction supplémentaire. Pour que la sécurité fonctionne correctement, vous devez la prendre entièrement en compte dans la planification de votre infrastructure.

Etape suivante

Lorsque vous rencontrez des problèmes de sécurité liés à l'environnement WebSphere Application Server Network Deployment , voir Traitement des incidents liés aux configurations de sécurité pour obtenir des informations supplémentaires sur le problème. Lorsqu'il est nécessaire de consulter des informations de trace pour corriger une erreur, dans les cas où les serveurs sont répartis, ces informations doivent souvent être collectées simultanément sur tous les serveurs lors de la reconstitution de l'incident. Cette trace peut être activée de manière dynamique ou statique, selon le type d'incident.