Conseils de résolution des incidents liés à la configuration SSO pour la sécurité
Plusieurs incidents courants peuvent apparaître lorsque vous configurez la connexion unique (SSO) entre WebSphere Application Server et un serveur Domino. Il s'agit en général d'incidents survenant lors de l'enregistrement de la configuration de Domino Web SSO, d'incidents d'authentification lors de l'accès à une ressource protégée, et d'incidents liés à SSO lors de l'accès à une ressource protégée. Vous pouvez prendre certaines mesures pour corriger ces situations d'erreur et restaurer la connexion unique.
- Impossible de sauvegarder le document de configuration Domino
Web SSO
Le client doit trouver les documents de serveur Domino de chaque serveur SSO Domino participant. Le document de configuration SSO Web est chiffré pour les serveurs que vous indiquez. Par conséquent, le serveur initial (home) indiqué par l'enregistrement d'emplacement du client doit pointer sur un serveur du domaine Domino dans lequel résident les serveurs participants. Ce pointeur garantit que les opérations de recherche pourront trouver les clés publiques des serveurs.
Si vous recevez un message signalant qu'un ou plusieurs serveurs Domino participants sont introuvables, ces serveurs ne peuvent pas déchiffrer le document de configuration Web SSO ni participer à la configuration SSO.
Au moment de la sauvegarde du document de configuration Web SSO, la barre d'état indique combien de clés publiques ont été utilisées pour chiffrer le document. Le système identifie pour ce faire le nombre de serveurs, d'auteurs et d'administrateurs répertoriés dans le document.
- La console du serveur Domino ne parvient pas à charger le
document de configuration Web SSO au démarrage du serveur HTTP
Domino.
Lors de la configuration de SSO, le document serveur est configuré avec la valeur Multi-Server dans la zone Session Authentication. Le serveur HTTP Domino tente de localiser et de charger un document de configuration Web SSO lors du démarrage. La console du serveur Domino affiche les informations suivantes si un document valide est trouvé et déchiffré : HTTP: Successfully loaded Web SSO Configuration.
Si aucun serveur ne peut charger le document de configuration Web SSO, le support SSO ne fonctionne pas. Dans ce cas, un serveur signale le message suivant : HTTP: Error Loading Web SSO configuration. Reverting to single-server session authentication.
Assurez-vous qu'un seul document de configuration Web SSO apparaît dans la vue des configurations Web de l'annuaire Domino et dans la vue cachée $WebSSOConfigs. Si vous ne pouvez pas créer plusieurs documents, vous pouvez insérer des documents supplémentaires lors de la réplication.
S'il n'y a qu'un seul document de configuration Web SSO, ce même message peut avoir une autre cause. Il peut s'afficher lorsque la clé publique du document serveur ne correspond pas à celle qui figure dans le fichier ID. Dans ce cas, les tentatives de déchiffrement du document de configuration Web SSO échouent et le message d'erreur est généré.
Cette situation peut se rencontrer lorsque le fichier ID est créé plusieurs fois, mais que le document serveur n'est pas mis à jour correctement. Généralement, un message d'erreur s'affiche sur la console du serveur Domino pour indiquer que la clé publique ne correspond pas à l'ID du serveur. Dans ce cas, le support SSO ne fonctionne pas, car le document est chiffré avec une clé publique pour laquelle le serveur ne possède pas la clé privée correspondante.
Pour remédier à un problème de non-concordance, procédez comme suit :- Copiez la clé publique à partir du fichier ID du serveur et collez-la dans le document Server.
- Recréez le document de configuration Web SSO.
- L'authentification échoue lors de l'accès à une ressource protégée.
Si un utilisateur Web est invité à plusieurs reprises à entrer un ID utilisateur et un mot de passe, SSO ne fonctionne pas car le serveur Domino ou le serveur de sécurité WebSphere Application Server ne parvient pas à authentifier l'utilisateur à l'aide du serveur LDAP (Lightweight Directory Access Protocol). Contrôlez les points suivants :
- Vérifiez que le serveur LDAP est accessible à partir de la machine sur lequel le serveur Domino est installé. Utilisez la commande TCP/IP ping pour tester la connectivité TCP/IP et vérifier que la machine hôte est active.
- Vérifiez que l'utilisateur concerné est défini dans l'annuaire LDAP. Utilisez l'utilitaire idsldapsearch pour vérifier que l'ID utilisateur existe et que le mot de passe est correct. Par exemple, vous pouvez lancer la commande suivante, sur
une seule ligne :
Vous pouvez utiliser le shell OS/400 Qshell, un shell UNIX ou une fenêtre de commandes Windows DOS
Le signe pour cent (%) représente l'invite et ne fait pas partie de la commande. Vous devez obtenir en retour une liste d'entrées d'annuaire. Les conditions et causes d'erreur possibles sont répertoriées ci-dessous :% ldapsearch -D "cn=John Doe, ou=Rochester, o=IBM, c=US" -w mypassword -h myhost.mycompany.com -p 389 -b "ou=Rochester, o=IBM, c=US" (objectclass=*)
- No such object : Ce message d'erreur signale l'absence de l'entrée d'annuaire référencée par le nom distinctif (DN) de l'utilisateur, qui est indiqué après l'option -D, ou par le nom distinctif de base, qui est indiqué après l'option -b.
- Credentials that are not valid : Ce message d'erreur signale que le mot de passe n'est pas valide.
- Cannot contact the LDAP server : Ce message d'erreur signifie que le nom d'hôte ou le port indiqué pour le serveur n'est pas valide ou que le serveur LDAP n'est pas lancé.
- Une liste d'entrées vide signifie que l'annuaire de base indiqué par l'option -b ne contient pas d'entrées.
- Si vous utilisez le nom abrégé ou l'ID utilisateur au lieu du nom distinctif, assurez-vous que l'entrée correspondante de l'annuaire est configurée avec le nom abrégé. Dans le cas d'un annuaire Domino, vérifiez la zone Short name/UserID du document Person. Pour les autres annuaires LDAP, vérifiez la propriété userid de l'entrée d'annuaire.
- Si l'authentification par Domino alors que vous utilisez un
annuaire LDAP autre qu'un annuaire Domino, vérifiez les paramètres
de configuration du serveur LDAP dans le document Directory Assistance de la base de documents du même nom. Vérifiez
également que le document Server désigne le document Directory assistance approprié. Les valeurs de configuration LDAP suivantes, définies dans le
document Directory Assistance, doivent concorder avec les valeurs spécifiées pour le registre d'utilisateurs dans le domaine d'administration de
WebSphere Application Server :
- Domain name (Nom de domaine)
- LDAP host name (nom d'hôte du serveur LDAP)
- LDAP port (port du serveur LDAP)
- Base DN (nom distinctif de base)
Vous pouvez tracer les requêtes adressées par le serveur Domino au serveur LDAP en ajoutant la ligne suivante au fichier notes.ini :
Une fois le serveur Domino redémarré, messages de trace s'affichent dans la console du serveur Domino lorsque des utilisateurs du Web tentent de s'authentifier auprès du serveur Domino.webauth_verbose_trace=1
- L'authentification échoue lors de l'accès à une ressource protégée.
Si, après réussite de l'authentification, un message d'erreur s'affiche, cela signifie que la sécurité n'est pas configurée correctement. Contrôlez les points suivants :
- Si la ressource est une base de données Domino, vérifiez que l'utilisateur est défini dans les paramètres de contrôle d'accès de cette base de données. Pour savoir comment définir correctement le nom distinctif (DN) de l'utilisateur, consultez la documentation d'administration de Domino. Par exemple, pour le nom distinctif cn=John Doe, ou=Rochester, o=IBM, c=US, la valeur à indiquer dans la liste de contrôle d'accès doit être John Doe/Rochester/IBM/US.
- Dans le cas de ressources protégées par WebSphere Application
Server, vérifiez que les droits d'accès à ces ressources sont définis correctement.
- Si l'accès à une ressource est octroyé à un ou plusieurs groupes, assurez-vous que l'utilisateur qui tente d'accéder à cette ressource est membre de l'un de ces groupes. Par exemple, vous pouvez vérifier la constitution des groupes en utilisant le site Web suivant pour afficher le contenu de l'annuaire : Ldap://myhost.mycompany.com:389/ou=Rochester, o=IBM, c=US??sub
- Si vous avez modifié les données de configuration LDAP (hôte, port et nom distinctif de base) dans un domaine d'administration WebSphere Application Server, étant donné que les droits d'accès ont été définis, il est probable que ces droits ne seraient plus valides et que vous devez les recréer.
- Le support SSO ne fonctionne pas lors de l'accès à des ressources protégées.
Si un utilisateur Web est invité à s'authentifier pour accéder à chacune des ressources, SSO n'est pas configuré correctement. Contrôlez les points suivants :
- Configurez WebSphere Application Server et le serveur Domino pour qu'ils utilisent le même annuaire LDAP. Le cookie HTTP utilisé pour SSO contient le nom distinctif complet de l'utilisateur, par exemple, cn=John Doe, ou=Rochester, o=IBM, c=US, et le domaine DNS (Domain Name System).
- Si l'annuaire Domino est utilisé, définissez les utilisateurs Web par noms hiérarchiques. Par exemple, mettez à jour la zone User name dans le document Person pour y inclure des noms de la forme suivante comme première valeur : John Doe/Rochester/IBM/US.
- Pour les sites Web envoyés aux serveurs Domino et WebSphere Application Server configurés pour SSO, indiquez le nom complet du serveur DNS et pas seulement le nom d'hôte ou l'adresse TCP/IP. Pour que les navigateurs puissent envoyer des cookies à un groupe de serveurs, le domaine DNS doit être inclus dans ces cookies et il doit concorder avec l'adresse Web. C'est pour cette raison que vous ne pouvez pas utiliser des cookies dans des domaines TCP/IP.
- Domino et WebSphere Application Server doivent être configurés pour utiliser le même domaine DNS. Vérifiez que c'est le cas et assurez-vous notamment que le domaine DNS est spécifié avec la même casse (combinaison majuscules/minuscules). Vous avez besoin du nom du domaine DNS dans lequel WebSphere Application Server est configuré. Voir Utilisation de SSO pour l'authentification avec des cookies LTPA pour plus d'informations.
- Pour les serveurs Domino configurés en cluster, vérifiez que le
nom d'hôte indiqué dans le document serveur est le nom DNS complet du serveur. Ainsi,
Domino peut rediriger les adresses Web vers les membres du cluster
en utilisant SSO. Si ce paramètre n'est pas indiqué explicitement, ICM redirige les adresses Web vers les serveurs Web membres du cluster en utilisant uniquement le nom d'hôte du serveur. ICM ne peut pas envoyer le cookie SSO, car le domaine DNS n'est pas inclus dans l'adresse Web. Pour remédier à ce problème, procédez comme suit :
- Editez le document Server.
- Cliquez sur .
- Entrez le nom DNS complet dans la zone Host names.
- Si une valeur de port est indiquée pour un serveur LDAP utilisé pour un domaine d'administration de WebSphere Application Server, modifiez le document de configuration Domino Web SSO et insérez une barre oblique inversée (\) dans la valeur de la zone LDAP Realm avant le signe deux-points (:). Par exemple, remplacez myhost.mycompany.com:389 par myhost.mycompany.com\:389.
- Les utilisateurs ne sont pas déconnectés après l'expiration du minuteur de session HTTP.
Si les utilisateurs de WebSphere Application Server se connectent à une application et restent inactifs pour une durée supérieure à la valeur du délai d'attente de session HTTP, les informations utilisateur ne sont pas invalidées et les données d'identification de l'utilisateur restent actives jusqu'à expiration du délai d'attente de jeton LTPA.
Après avoir appliqué PK25740, effectuez les étapes suivantes pour déconnecter des utilisateurs de l'application après l'expiration de la session HTTP.Avertissement : La propriété com.ibm.ws.security.web.logoutOnHTTPSessionExpire s'applique uniquement aux applications qui utilisent la connexion par formulaire.- Dans la console d'administration, sélectionnez Sécurité > Sécurité globale.
- Dans Propriétés personnalisées, cliquez sur Nouveau.
- Dans la zone Nom, entrez com.ibm.ws.security.web.logoutOnHTTPSessionExpire.
- Dans la zone Valeur, entrez true.
- Cliquez sur Appliquer et sauvegarder pour sauvegarder les modifications dans votre configuration.
- Resynchronisez, puis redémarrez le serveur.
Re-authentifications inattendues : Lorsque vous affectez la valeur "true" à la propriété personnalisée com.ibm.ws.security.web.logoutOnHTTPSessionExpire, des authentifications inattendues peuvent se produire si vous utilisez plusieurs applications Web. Par défaut, chaque application Web possède une session HTTP en propre mais le navigateur Web ne possède qu'un seul cookie de session. Pour corriger ce problème, vous pouvez modifier la configuration des sessions HTTP en affectant à chaque application un cookie de session ou un paramètre de chemin spécifique. Suite à cela, chaque application aura son propre cookie de session. Vous pouvez également configurer plusieurs applications Web avec la même application d'entreprise afin qu'elles partagent toutes la même session HTTP. Pour plus d'informations, voir la rubrique sur l'utilisation de l'assemblage pour partager des données de session. - Des problèmes peuvent survenir lorsque la connexion unique (SSO) est activée et que Firefox v3.6.11 est configuré pour l'acceptation de cookies tiers.Si la connexion SSO est activée et que vous utilisez Firefox v3.6.11, l'une des conditions suivantes est vérifiée :
- La configuration accepte les cookies tiers, qui sont conservés jusqu'à leur expiration ou jusqu'à la fermeture de Firefox.
- Une session est ouverte mais vous basculez vers différentes applications.
- Plusieurs sessions sont ouvertes pour différentes applications qui requièrent différents utilisateurs pour les autorisations.
Le message d'erreur suivant peut s'afficher : Erreur 403 : Echec d'autorisation.
Pour résoudre ce problème, effacez les cookies tiers avant de lancer une nouvelle application en procédant comme suit :- Sélectionnez .
- Vérifiez que l'historique est défini sur Remember History.
- Cliquez sur Remove individual cookies pour supprimer les cookies.
Vous pouvez également fermer d'autres sessions si Firefox est configuré pour l'acceptation de cookies tiers qui sont conservés jusqu'à la fermeture de Firefox.