Nous avons une configuration IDAM un peu compliquée :
En d'autres termes, la machine et le navigateur de l'utilisateur final se trouvent dans un réseau avec l'AD parent, et notre application basée sur Jetty et l'AD avec lequel elle peut communiquer (AD local) se trouvent dans l'autre réseau.
Il existe une confiance réciproque entre les deux AD. Le navigateur du réseau parent a le domaine local dans les sites de confiance.
La configuration du serveur Jetty est la suivante :
- il utilise un fichier keytab généré à partir d'un principal dans l'AD local
- il fonctionne en tant que service Windows sous un utilisateur défini dans l'AD local
- le domaine, le mappage domaine-règne et le kdc sont définis par rapport au domaine de l'AD local
- il utilise spnego - isInitiator est fixé à false ; doNotPrompt est true ; storeKey est true
Le problème est le suivant :
- à titre de test, accéder au serveur à partir d'un navigateur situé à l'intérieur du réseau local (c'est-à-dire lié à l'AD local) travaux - Les informations de débogage Kerberos apparaissent dans les journaux, je peux voir la négociation Kerberos correcte dans le trafic HTTP, et l'utilisateur se connecte automatiquement. Brillant.
-
cependant L'accès au serveur à partir d'un navigateur situé à l'intérieur du réseau parent (ce qui est le cas de nos utilisateurs) ne fonctionne pas ! Le navigateur reçoit en retour un message 401 unauth mais demande ensuite des informations d'identification qui, une fois saisies, donnent lieu à un écran vide. Le fait de cliquer sur la barre d'adresse et d'appuyer sur Entrée provoque l'une des deux choses suivantes, selon que les informations d'identification concernent l'AD local ou distant :
- les identifiants AD locaux se connectent correctement, avec Kerberos à partir de zéro dans les journaux (demande GET, réponse 401 unauth, demande d'en-têtes Kerberos, etc.)
- les identifiants AD distants ne permettent pas de se connecter (requête GET, réponse 401 unauth, ce qui ressemble à un en-tête NTLM :
Authorization: Negotiate <60 or so random chars>
)
Quoi qu'il en soit, le fait qu'il s'agisse d'une incitation n'est pas correct !
Y a-t-il une explication à ces symptômes ? L'installation dont nous disposons peut-elle faire ce que nous voulons ?
En ce qui concerne ce qui pourrait être erroné dans la description ci-dessus : toute configuration que j'ai mentionnée concernant le serveur Jetty devrait être exacte, puisque c'est moi qui l'ai faite. Je suis prêt à fournir plus de détails. Toute configuration concernant AD ou le navigateur du réseau parent est potentiellement suspecte, parce qu'elle n'est pas sous mon contrôle et qu'on m'a rapporté la configuration plutôt que de l'avoir vue de mes propres yeux.