Mise en place du SSO Kerberos
Ce document a pour but de décrire la mise en place de la reconnaissance par BlueMind de l'authentification Kerberos dans une infrastructure Windows.
Fonctionnement de l'authentification Kerberos
L'authentification Kerberos permet aux utilisateurs ayant un compte Windows déjà associé à leur compte BlueMind (via un import AD) de s'authentifier automatiquement, sans passer par un écran de login (SSO).
Pour cela :
-
l'utilisateur doit être dans une session Windows sur le domaine avec lequel le SSO Kerberos a été activé
Installation multidomaines
En cas de Messagerie multi-domaines, chaque domaine peut avoir sa propre configuration Kerberos.
Si Kerberos est configuré sur plusieurs domaines, chaque domaine doit avoir sa propre URL
Si Kerberos est configuré sur 1 seul domaine, utiliser l'URL globale -
l'utilisateur doit utiliser un navigateur où SPNEGO est actif pour l’URL globale de BlueMind
Configuration de Kerberos
Dans la suite de cette documentation, nous considérons les éléments suivants :
-
URL externe de BlueMind (URL globale) :
bluemind.domain.tld -
Serveur Active Directory (adresse IP ou nom du serveur AD du domaine Windows) :
ad.domain.tld -
Domaine Active Directory (ou realm, correspond au domaine Windows en majuscule) :
DOMAIN.TLD⚠️ Ajouter le domaine AD aux alias du domaine BM s'il est différent du nom du domaine BM.
L'ensemble de la configuration de Kerberos se fait avec l'URL globale. Ne pas utiliser l'URL du domaine concerné, ni pour la génération du fichier keytab (et des setspn), ni pour la configuration des postes clients, même lorsque Kerberos est configuré sur plusieurs domaines.
En conséquence, si l'URL globale est modifiée (voir Les URLs externes), tous les keytab (et le setspn) doivent-être ré-générés, ainsi que tous les clients reconfigurés avec la nouvelle URL globale.
Génération du fichier Keytab
La génération du fichier keytab se fait en 2 étapes.
Ouvrir une console cmd.exe puis :
-
Créer un utilisateur dédié à l'authentification Kerberos dans l'ActiveDirectory
- Activer l'option "This account supports Kerberos AES 256 bit encryption" dans l'onglet "Compte" :

- Ajouter le rôle à l'utilisateur en lançant la commande suivante :
où le nom de l'utilisateur =bmkrb; mot de passe =krbpwd
setspn -A HTTP/bluemind.domain.tld bmkrbLa commande devrait retourner un résultat équivalent aux lignes suivantes :
Registering ServicePrincipalNames for CN=bmkrb,CN=Users,DC=domain,DC=tld
HTTP/bluemind.domain.tld
Updated object - Activer l'option "This account supports Kerberos AES 256 bit encryption" dans l'onglet "Compte" :
-
Créer le fichier keytab en lançant la commande suivante :
- Windows 2012R2
- Windows 2016 & +
ktpass /out C:\bluemind.keytab
/mapuser bmkrb@DOMAIN.TLD
/princ HTTP/bluemind.domain.tld@DOMAIN.TLD
/pass krbpwd
/kvno 0
# paramètre optionnel, voir la remarque "Key Version Number" ci-après
/ptype KRB5_NT_PRINCIPALktpass /out C:\bluemind.keytab
/crypto AES256-SHA1
/mapuser bmkrb@DOMAIN.TLD
/princ HTTP/bluemind.domain.tld@DOMAIN.TLD
/pass krbpwd
/kvno 0
# paramètre optionnel, voir la remarque "Key Version Number" ci-après
/ptype KRB5_NT_PRINCIPALLe résultat devrait ressembler aux lignes suivantes :
Targeting domain controller: AD.domain.tld
Using legacy password setting method
Successfully mapped HTTP/bluemind.domain.tld to bmkrb.
Output keytab to C:\bluemind.keytab
Le paramètre Kvno (Key Version Number) permet de gérer plusieurs clés pour un utilisateur.
La valeur de la commande ktpass (/kvno 0) indiquée dans les exemples ci-dessus est une valeur générique, fonctionnant dans la plupart des cas. Cette valeur peut cependant être bloquante en fonction des utilisateurs et d'éventuelles clés déjà présentes ou utilisées. Seul l'administrateur de l'AD connait précisément ces informations.
Il est possible de ne pas préciser ce paramètre. Dans ce cas, une nouvelle clé sera créée automatiquement avec le numéro de version suivant celui déjà présent dans l'AD pour ce compte.
Pour plus d'informations sur le paramètre Kvno, consulter la documentation Microsoft sur la commande ktpass: https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ktpass
Activation dans la console d'administration
- Dans la console d'administration, se rendre dans Gestion du système > Domaines supervis és > choisir le domaine > onglet Sécurité.
- Sélectionner le mode d'authentification Kerberos et renseigner le formulaire associé :
- Domaine Active Directory
- Serveur Active Directory
- Fichier keytab de Active Directory : cocher la case et choisir le fichier précédemment créé
- Cliquer sur "Enregistrer" pour sauvegarder les modifications.
Configuration client
Le navigateur client peut considérer que le domaine BlueMind n'est pas de confiance. Il faut alors ajouter l'URL d'accès à BlueMind comme site de confiance dans le navigateur.
Firefox
Configuration manuelle
La configuration du site de confiance se fait dans la configuration des paramètres du navigateur :
-
dans la barre d'adresse du navigateur, taper :
about:config -
Valider l'avertissement en cliquant sur « Accepter le risque et poursuivre »
-
Dans le champ de recherche, taper :
trusted -
Double-cliquer sur le paramètre
network.negotiate-auth.trusted-urisou cliquer sur le crayon en fin de ligne pour l'éditer -
Saisir l'adresse du domaine BlueMind (ici
bluemind.domain.tld) et valider.

💡 Le paramètre apparaît en gras : cela signifie qu'il s'agit d'un paramètre modifié, qu'il n'a plus sa valeur par défaut
-
Relancer Firefox pour que la modification soit prise en compte.
Configuration par GPO
Voici en exemple une manière de configurer les GPO pour Firefox :
-
Ajouter les "politiques Windows" au serveur AD
-
Récupérer les modèles au format ADMX ici : https://github.com/mozilla/policy-templates/releases
-
Les mettre dans
\Windows\PolicyDefinitions💡 Les fichiers
.admxsont à la racine et les fichiers.admldans les dossiers de langue correspondants
-
-
Mettre en place la GPO spécifique à Kerberos
-
Aller sous : Configuration ordinateur > Stratégies > Modèles d'administration > Mozilla > Firefox > Authentification
-
Trouver et ouvrir le paramètre "SPNEGO"
-
Appuyer sur "Activé"
-
Dans le champ "Options" appuyer sur "Afficher" et entrer l'adresse de la ressource réseau souhaitée
ℹ️ Si plusieurs adresses doivent être saisies, saisir une adresse par ligne
-
Appuyer sur le bouton "OK" pour fermer les fenêtres avec les modifications appliquées
-
Pour plus d'informations pour la configuration par GPO, consulter les documentations suivantes :
- https://gpsearch.azurewebsites.net
- https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/manage/group-policy/group-policy-management-console
Ainsi que la documentation Firefox :
Microsoft Edge
Configuration manuelle
Microsoft Edge se configure manuellement sur le poste de travail :
- Lancer Regedit en tant qu'administrateur
- Aller dans
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edgeet créer les clés de registre manquantes si besoin - Créer la valeur de type "Valeur chaine (REG_SZ)", avec le nom
AuthServerAllowlistet la valeurbluemind.domain.tld - Redémarrer Edge pour que la modification soit prise en compte.
En cas de dysfonctionnement, s'assurer que la politique est bien prise en compte :
- Démarrer Edge
- Saisir
edge://policydans le champ de l'URL - Vérifier que la stratégie
AuthServerAllowlistapparait dans la section "Microsoft Edge Policies", avec la valeur renseignée précédemment. Dans le cas contraire, cliquer surRecharger les stratégies. Si elle n'apparait toujours pas, vérifier d'avoir bien modifié le registre selon la procédure décrite ci-dessus.
Pour plus d'informations sur les stratégies de Edge, consulter la documentation Microsoft :
Configuration par GPO
Voici en exemple une manière de configurer les GPO pour Edge :
- Ajouter les "politiques Windows" au serveur AD
-
Récupérer les modèles au format ADMX ici : https://www.microsoft.com/fr-fr/edge/business/download?cs=4134690573&form=MA13FJ
-
Les mettre dans
\Windows\PolicyDefinitions💡 Les fichiers
.admxsont à la racine et les fichiers.admldans les dossiers de langue correspondants
-
- Mettre en place la GPO spécifique à Kerberos
-
Aller sous : Configuration ordinateur > Modèles d'administration > Microsoft Edge > Authentification HTTP
-
Trouver et ouvrir le paramètre "Configurer la liste des serveurs d'authentification autorisés"
-
Appuyer sur "Activé"
-
Dans le champ "Options" entrer l'adresse de la ressource réseau souhaitée
ℹ️ Si plusieurs adresses doivent être saisies, les séparer par des virgules
-
Appuyer sur le bouton "OK" pour fermer les fenêtres avec les modifications appliquées
-
Pour plus d'informations pour la configuration par GPO, consulter les documentations suivantes :
- https://gpsearch.azurewebsites.net
- https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/manage/group-policy/group-policy-management-console
Chrome
Configuration manuelle
Google Chrome se configure manuellement sur le poste de travail :
- Lancer Regedit en tant qu'administrateur
- Aller dans
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chromeet créer les clés manquantes si besoin - Créer la valeur de type "Valeur chaine (REG_SZ)", avec le nom
AuthServerAllowlistet la valeurbluemind.domain.tld - Redémarrer Chrome pour que la modification soit prise en compte.
En cas de dysfonctionnement, s'assurer que la politique est bien prise en compte :
- Démarrer Chrome
- Saisir
chrome://policydans le champ de l'URL - Vérifier que la stratégie
AuthServerAllowlistapparait dans la section "Chrome Policies", avec la valeur renseignée précédemment. Dans le cas contraire, cliquer surRecharger les stratégies. Si elle n'apparait toujours pas, vérifier d'avoir bien modifié le registre selon la procédure décrite ci-dessus.
Pour plus d'informations sur les stratégies de Chrome, consulter la documentation Google :
Configuration par GPO
Voici en exemple une manière de configurer les GPO pour Chrome :
- Ajouter les "politiques Windows" au serveur AD
-
Récupérer les modèles au format ADMX ici : https://support.google.com/chrome/a/answer/187202?hl=fr#zippy=%2Cwindows
-
Les mettre dans
\Windows\PolicyDefinitions💡 Les fichiers
.admxsont à la racine et les fichiers.admldans les dossiers de langue correspondants
-
- Mettre en place la GPO spéficique à Kerberos
-
Aller sous : Configuration ordinateur > Modèles d'administration > Google > Google Chrome > Authentification HTTP
-
Trouver et ouvrir le paramètre "Liste d'autorisation des serveurs d'authentification"
-
Appuyer sur "Activé"
-
Dans le champ "Options" entrer l'adresse de la ressource réseau souhaitée
ℹ️ Si plusieurs adresses doivent être saisies, les séparer par des virgules
-
Appuyer sur le bouton "OK" pour fermer les fenêtres avec les modifications appliquées
-
Pour plus d'informations pour la configuration par GPO, consulter les documentations suivantes :
- https://gpsearch.azurewebsites.net
- https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/manage/group-policy/group-policy-management-console