Optimisation des configurations de sécurité
Vous pouvez ajuster la sécurité afin d'équilibrer les performances avec une fonction. Pour cela, suivez les instructions ci-dessous pour ajuster la sécurité générale, CSIv2 (Common Secure Interoperability version 2), l'authentification LDAP (Lightweight Directory Access Protocol), les fonctions d'authentification et d'autorisation Web.
Pourquoi et quand exécuter cette tâche
Procédure
- Tenez compte des recommandations ci-dessous pour paramétrer la sécurité générale.
- Désactivez éventuellement le gestionnaire de sécurité Java 2 si vous connaissez exactement le code placé sur votre serveur et que vous n'avez pas besoin de protéger les ressources des processus. N'oubliez pas que cela présente un risque pour vos ressources locales.
- Veillez à appliquer les nouveaux paramètres de sécurité à
tous les noeuds avant de redémarrer le gestionnaire de déploiement et
les agents de noeud pour changer les nouvelles règles de sécurité.
Si les configurations de sécurité diffèrent d'un serveur à l'autre, des erreurs Accès refusé sont générées. Vous devez donc diffuser les nouveaux paramètres de sécurité lorsque vous activez ou désactivez sécurité administrative.
Les modifications des configurations sont diffusées à l'aide de la fonction de synchronisation des configurations. Si la synchronisation automatique est activée, vous pouvez patienter jusqu'à l'expiration de l'intervalle de synchronisation automatique ou forcer la synchronisation avant l'expiration de l'intervalle. Si vous effectuez une synchronisation manuelle, vous devez synchroniser tous les noeuds.
Si la cellule se trouve à l'état de configuration et que les règles de sécurité incluent des noeuds dont la sécurité est activée et désactivée, vous pouvez utiliser l'outil Node pour synchroniser les noeuds où les nouveaux paramètres n'ont pas été diffusés.
Pour plus d'informations sur l'activation de la sécurité dans un environnement distribué, voir Activation de la sécurité pour le domaine.
- Augmentez la mémoire cache et le délai d'expiration des
jetons si vous pensez que votre environnement est assez sécurisé. En augmentant ces valeurs, vous pouvez espacer les procédures de réauthentification. En outre,
les demandes ultérieures pourront réutiliser les droits déjà créés. Lorsque vous augmentez le délai d'expiration des jetons, ceux-ci ont plus de risques d'être détournés et le pirate dispose alors d'un délai
supplémentaire pour s'introduire dans le système avant l'expiration des jetons. Les propriétés de la mémoire cache de sécurité permettent de
déterminer la taille initiale des caches des tables de hachage principale
et secondaire, qui affecte la fréquence des hachages et la distribution
des algorithmes de hachage.
Pour obtenir la liste de ces propriétés, voir Paramètres de la mémoire cache d'authentification.
- Envisagez de remplacer votre connecteur d'administration SOAP (Simple Object Access Protocol) par un connecteur RMI (Remote Method Invocation), RMI utilisant des connexions avec état contrairement à SOAP qui utilise des connexions sans état. Effectuez un test de performances pour déterminer si les performances de votre environnement ont été améliorées.
- Utilisez le script wsadmin pour entrer les ID accès de l'ensemble des utilisateurs et des groupes afin d'accélérer le démarrage des applications. Effectuez cette opération si vos applications contiennent un nombre important d'utilisateurs ou de groupes ou si des applications sont arrêtées et démarrées fréquemment. WebSphere Application Server mappe les noms d'utilisateur et de groupe vers des ID accès uniques dans la table d'autorisations. Le format exact de l'ID accès dépend du référentiel. L'ID accès ne peut être déterminé qu'au cours du déploiement d'une application ou ensuite. Les tables d'autorisation créées lors du temps d'assemblage ne possèdent pas les ID accès appropriés. Pour plus d'informations sur la mise à jour des ID accès, consultez l'article Commandes dédiées à l'objet AdminApp.
Il est recommandé de paramétrer l'ORB (Object Request Broker) car il influence les performances des beans enterprise, que la sécurité soit activée ou non. Consultez la rubrique Instructions d'optimisation de l'ORB.
- Si vous utilisez SSL, activez l'option Mécanisme de suivi de session SSL comme décrit dans les informations relatives aux paramètres de gestion de session.
Dans certains cas, l'utilisation du fichier de règles JCE (Java Cryptography Extension) complet peut améliorer les performances. Reportez-vous aux informations relatives à l'optimisation de la sécurité de services Web.
- Si vous distribuez la charge de travail entre plusieurs machines virtuelles Java (JVM) (au lieu d'utiliser une seule machine virtuelle sur un seul poste), les performances de sécurité peuvent s'en trouver améliorées, puisque les conflits de décision d'autorisation sont minimisés.
- Suivez cette procédure pour paramétrer CSIV2 (Common Secure Interoperability version 2).
- Il est recommandé d'utiliser des certificats client SSL (Secure Sockets Layer) au lieu d'un ID utilisateur et d'un mot de passe pour authentifier les clients Java. Etant donné que vous établissez déjà la connexion SSL, l'utilisation de l'authentification mutuelle ne demande que peu de ressources supplémentaires lors de la suppression complète du contexte de service contenant l'ID utilisateur et le mot de passe.
- Si vous envoyez une grande quantité de données dont la sécurité n'est pas très importante, réduisez la puissance de vos codes de chiffrement. Plus le nombre de données à chiffrer de manière groupée est importante et plus le code de chiffrement est puissant, plus cette action sera longue. Si la sécurité de vos données n'est pas très importante, ne gaspillez pas votre temps de traitement avec des codes de chiffrement sur 128 bits.
- Vous pouvez placer un astérisque (*) dans la liste des ID serveur dignes de confiance (c'est-à-dire tous les serveurs) lorsque vous utilisez la vérification d'identité pour une délégation en aval. Pour établir cette relation de confiance, utilisez l'authentification mutuelle SSL entre les serveurs. L'ajout de cette étape supplémentaire lors de l'établissement de la liaison SSL est plus efficace qu'une authentification complète du serveur en amont accompagnée d'une vérification de la liste des tiers dignes de confiance. Lorsqu'un astérisque (*) est utilisé, nous faisons confiance au jeton de sécurité. La connexion SSL établit une relation de confiance avec le serveur via l'authentification par certificat client.
- Assurez-vous que les sessions sans état sont activées pour CSIv2. Elles le sont par défaut, mais cela ne nécessite une authentification que lors de la première demande et après expiration ultérieure d'un jeton.
- Pensez à modifier les valeurs du cache de session CSIv2. La modification de ces valeurs peut éviter d'être à cours de ressources. Pour plus d'informations, reportez-vous à la rubrique Communications sortantes Common Secure Interoperability version 2.
- Si vous communiquez exclusivement avec des serveurs WebSphere
Application Server version 5 ou supérieure, utilisez le protocole
d'authentification CSI au lieu des protocoles CSI et SAS. Cette action supprime un appel
d'intercepteur pour chaque demande sur le serveur et le client. Important : SAS est pris en charge uniquement sur les serveurs version 6.0.x et antérieure qui ont été fédérés dans une cellule version 6.1.
- Suivez cette procédure pour paramétrer l'authentification LDAP (Lightweight
Directory Access Protocol).
- Dans la console d'administration, cliquez sur Sécurité > Sécurité globale.
- Sous Référentiel du compte d'utilisateur, cliquez sur la liste déroulante Définitions des domaines disponibles, sélectionnez Registre LDAP autonome, puis Configurer.
- Sélectionnez l'option Ignorer maj/min pour l'autorisation dans la configuration du registre LDAP autonome, lorsque la distinction entre majuscules et minuscules n'est pas importante.
- Sélectionnez l'option Réutiliser la connexion.
- Utilisez les fonctions de mémoire cache prises en charge par votre serveur LDAP.
- Choisissez le type de répertoire IBM Tivoli Directory Server ou SecureWay si vous utilisez un serveur IBM Tivoli Directory Server. IBM Tivoli Directory Server optimise les performances, car il est programmé pour utiliser les nouveaux attributs d'appartenance à un groupe et améliorer les recherches des membres d'un groupe. Toutefois, l'utilisation d'IBM Tivoli Directory Server nécessite une autorisation sans vérification des majuscules et minuscules.
- Choisissez iPlanet Directory Server (également appelé Sun ONE) ou Netscape comme répertoire si vous êtes un utilisateur iPlanet Directory. L'utilisation du répertoire iPlanet Directory Server peut augmenter les performances lors de la recherche des membres d'un groupe. Toutefois, n'utilisez Rôle que pour les mécanismes de regroupement.
- Suivez la procédure ci-dessous pour optimiser
l'authentification Web.
- Augmentez les valeurs de mémoire cache et de délai d'expiration des jetons si vous pensez que votre environnement est assez sécurisé. Les informations d'authentification Web sont enregistrées dans ces mémoires cache et tant que les informations d'authentification y sont présentes, le module de connexion n'est pas appelé pour authentifier l'utilisateur. Les demandes ultérieures pourront réutiliser les droits déjà créés. Par contre, lorsque vous augmentez le délai d'expiration des jetons, ces derniers ont plus de risques d'être détournés et le pirate dispose alors d'un délai supplémentaire pour s'introduire dans le système avant l'expiration des jetons.
- Activez la connexion SSO. Pour configurer SSO, cliquez sur Sécurité >
Sécurité globale. Dans le menu Sécurité Web, cliquez sur Connexion unique (SSO).
La connexion SSO n'est disponible que lorsque vous configurez LTPA comme mécanisme d'authentification dans le panneau Mécanismes d'authentification et expiration. Cependant, vous pouvez sélectionner Simple WebSphere Authentication Mechanism (SWAM) comme mécanisme d'authentification sur le panneau Mécanismes d'authentification et expiration. Lorsque vous sélectionnez SSO, une seule authentification auprès d'un serveur d'applications suffit pour envoyer des demandes à plusieurs serveurs d'applications d'un même domaine SSO. La connexion SSO n'est parfois pas souhaitable dans certaines situations.
- Désactivez ou activez l'option Propagation des attributs de sécurité entrants Web dans le panneau Connexion unique (SSO) si la fonction n'est pas requise. Dans certains cas, les performances sont améliorées du fait de l'activation de cette fonction. Cette amélioration concerne davantage des cas où des volumes importants sont pris en compte, dans lesquels un nombre considérable d'appels transmis au registre d'utilisateurs réduit les performances. Dans d'autres cas, les performances sont améliorées du fait de la désactivation de cette fonction. Cette amélioration se vérifie plutôt lorsque les appels transmis au registre d'utilisateurs n'utilisent pas une quantité importante de ressources.
- Les deux propriétés personnalisées suivantes peuvent aider à améliorer les performances lorsque la propagation de l'attribut de sécurité est activée :
- com.ibm.CSI.propagateFirstCallerOnly
Sa valeur par défaut est true. Si cette propriété personnalisée a la valeur true, le premier appelant du jeton de propagation qui reste sur l'unité d'exécution est consigné lorsque la propagation de l'attribut de sécurité est activée. Lorsque cette propriété a pour valeur false, tous les commutateurs appelants sont consignés, ce qui peut affecter les performances.
- com.ibm.CSI.disablePropagationCallerList
Si cette propriété personnalisée a la valeur true la possibilité d'ajouter un appelant ou une liste d'hôtes dans le jeton de propagation est complètement désdactivée. Cette fonction est intéressante lorsque la liste des appelants ou des hôtes du jeton de propagation n'est pas requise dans l'environnement.
- com.ibm.CSI.propagateFirstCallerOnly
- Suivez cette procédure pour paramétrer l'autorisation.
- Mappez vos utilisateurs vers des groupes dans le registre d'utilisateurs. Associez les groupes aux rôles Java Platform, Enterprise Edition (Java EE). Cette association améliore considérablement les performances à mesure que le nombre d'utilisateurs augmente.
- Affectez judicieusement des droits d'accès aux méthodes aux beans enterprise. Par exemple, vous pouvez utiliser un astérisque (*) pour indiquer toutes les méthodes dans l'élément method-name. Lorsque toutes les méthodes des beans enterprise requièrent les mêmes droits, un astérisque (*) peut être utilisé dans l'élément method-name pour spécifier toutes les méthodes. Cette indication permet de réduire la taille des descripteurs de déploiement et de la mémoire nécessaire au chargement du descripteur de déploiement. Elle réduit également les délais lors des recherches de correspondance entre l'élément method-permission et la méthode des beans enterprise.
- Affectez judicieusement des contraintes de sécurité aux servlets. Par exemple, vous pouvez utilisez le modèle d'adresse URL *.jsp pour appliquer les mêmes contraintes de données d'authentification pour indiquer tous les fichiers JSP (JavaServer Pages). Pour une URL donnée, la correspondance exacte dans le descripteur de déploiement prime par rapport aux correspondances de chemin plus longues. Utilisez la correspondance des extensions *.jsp, *.do, *.html s'il n'existe pas de correspondance exacte et de correspondance de chemin la plus longue pour une adresse URL dans les contraintes de sécurité.
- Utilisez les nouveaux paramètres d'optimisation avec
la sécurité Java 2. Les nouveaux paramètres d'optimisation améliorent considérablement les performances et introduisent un nouveau concept appelé Read-only Subject. Ce dernier
active une nouvelle mémoire cache pour J2C Auth Subjects lorsque des alias de données d'authentification gérés par un conteneur dont utilisés. S'il est inutile de modifier le sujet d'authentification J2C après sa création,
les nouveaux paramètres d'optimisation ci-dessous permettent d'améliorer les performances
de la sécurité Java 2 :
- com.ibm.websphere.security.auth.j2c.cacheReadOnlyAuthDataSubjects=true
- com.ibm.websphere.security.auth.j2c.readOnlyAuthDataSubjectCacheSize=50 (Nombre maximal de sujets dans la table de hachage du cache. Une fois que le cache atteint cette taille, certaines des entrées sont supprimées. Pour de meilleures performances, cette taille doit correspondre au nombre de sujets uniques [cache basé sur l'unicité du principal d'utilisateur + l'alias de données d'authentification + l'instance de fabrique de connexion gérée] lorsque l'on utilise simultanément la sécurité basée sur les rôles et la sécurité Java 2.)
- Utilisez les paramètres d'optimisation pour améliorer les performances
de la propagation des attributs de sécurité. Les paramètres d'optimisation peuvent être définis via les propriétés
personnalisées dans la console d'administration pour réduire la charge supplémentaire
de la propagation des attributs de sécurité :
- com.ibm.CSI.disablePropagationCallerList=true
- com.ibm.CSI.propagateFirstCallerOnly=true (à utiliser uniquement si vous souhaitez effectuer le suivi du premier appelant uniquement.
- Réévaluez les paramètres du cache de sécurité
(WSSecureMap) pouvant affecter les performances de la propagation des attributs de sécurité. Vous pouvez ajuster les paramètres du cache de sécurité WSSecureMap via des propriétés personnalisées dans la console d'administration.
- com.ibm.ws.security.WSSecureMapInitAtStartup=true
- com.ibm.ws.security.WSSecureMapSize (entier supérieur ou égal à 100).
Résultats
Que faire ensuite
Sous-rubriques
Conseils pour les performances de SSL (Secure Sockets Layer)
Vous trouverez dans cette page des informations sur les conseils qui vous seront utiles pour améliorer les performances de la couche Secure Sockets Layer (SSL). Il est indispensable de garder à l'esprit que les problèmes de performance entraînent généralement des compromis entre le nombre de fonctionnalités et la vitesse de traitement. Habituellement, plus le nombre de fonctions et de traitements est important, plus le système est lent.Conseils pour l'optimisation de la sécurité
En général, deux événements se produisent lorsque vous augmentez la sécurité : le coût par transaction augmente et le rendement diminue. Considérez les informations de sécurité suivantes lorsque vous configurez WebSphere Application Server.Optimisation des performance de sécurité
Les procédures suivantes permettent de régler les performances, sans compromettre les paramètres de sécurité.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_tune
Nom du fichier : tsec_tune.html