aperçu
Dans un environnement Active Directory, l'utilisation de l'authentification Windows intégrée (Kerberos) permet aux utilisateurs d'utiliser les mêmes informations d'identification que celles utilisées pour se connecter à Windows.Authentification unique automatique (SSO) au CAMServer sans nécessiter de connexion supplémentaire à C&M. peut.
Traditionnellement, ce système nécessitait une architecture IIS/ASP.NET, mais grâce à cette fonctionnalité, CAMServer gère directement l'authentification Kerberos. Ceci simplifie la configuration de l'authentification unique (SSO) via l'authentification Windows intégrée, sans serveur supplémentaire comme IIS.
Flux SSO
Flux de traitement SSO
- Accéder au serveur CAM
L'utilisateur accède à CAMServer via un navigateur. Lors de l'accès, un jeton temporaire pour l'application est envoyé via POST. - Demande d'authentification
Après avoir vérifié le jeton temporaire, CAMServer demande une authentification Windows (Negotiate) au navigateur. - Acquisition de tickets Kerberos
Le navigateur utilise les informations de connexion Windows.
Obtenez un ticket de service Kerberos auprès du KDC Active Directory. - Envoi d'un ticket Kerberos
Le navigateur utilise le ticket Kerberos acquis.
L'en-tête HTTP est ajouté et le message est renvoyé au serveur CAM. - Vérification des billets
CAMServer utilise keytab pour vérifier les tickets Kerberos. Si la vérification réussit, il récupère le principal Kerberos contenu dans le ticket. - Recherche LDAP et correspondance des utilisateurs CAM
Le système effectue une recherche LADP à l'aide du principal Kerberos récupéré afin d'obtenir les informations de l'utilisateur auprès d'Active Directory et les compare avec celles de l'utilisateur enregistré sur CAMServer. Si une correspondance est trouvée, la connexion est autorisée. - Connexion terminée
CAMServer lance une session de connexion,
Les utilisateurs peuvent utiliser CAMServer sans afficher l'écran de connexion.
Si vous accédez au site en utilisant un nom de domaine autre que le FQDN utilisé pour l'authentification Windows, ou si vous y accédez depuis un PC qui n'est pas joint au domaine, l'authentification de connexion sera effectuée sur le serveur de commande et de gestion (C&M).
exigences opérationnelles
L'environnement suivant est requis pour utiliser cette fonctionnalité.
Environnement Active Directory
- Un domaine Active Directory doit être créé.
CAMServer
- Plan ultimeEn utilisant
- Le serveur CAM doit être accessible via son nom de domaine pleinement qualifié (FQDN).
- Le serveur Windows exécutant CAMServer doit être joint à un domaine Active Directory.
Pour vérifier à quels domaines un serveur Windows existant est joint, accédez à « Gestionnaire de serveur » → cliquez sur « Serveur local » dans le menu de gauche → cliquez sur « Nom de l'ordinateur » et reportez-vous au champ domaine.
Utilisateurs
- L'ordinateur de l'utilisateur doit être connecté à un domaine et l'utilisateur doit se connecter à Windows via ce domaine.
- Les utilisateurs éligibles à l'authentification unique (SSO) sont ceux dont l'identifiant utilisateur est : NomPrincipalUtilisateur (Vous devez être préenregistré auprès de CAMServer au format UPN (par exemple, utilisateur@camtest.com))
Navigateurs compatibles
L'authentification unique Windows (SSO) est disponible dans les navigateurs suivants.
- Microsoft Edge
- Google Chrome
- campapp
Concernant la configuration de l'équilibreur de charge
L'authentification Windows (Kerberos) est une méthode d'authentification qui utilise les en-têtes d'authentification HTTP pour la négociation, donc CAMServer doit rester en cours d'exécution sur le port 443 et l'équilibreur de charge doit être L4 (TLS passthrough).
Configuration recommandée
Utilisateur ──HTTPS──▶ Équilibreur de charge L4 (Transfert TLS) ──HTTPS──▶ Serveur CAM (443)
Configuration NG
Utilisateur──HTTPS──▶ Équilibreur de charge L7 (Terminaison SSL) ──HTTP──▶ Serveur CAM (8080)
Procédure de construction
La procédure d'installation suivante sera expliquée en se basant sur l'« Exemple de configuration ».
Exemple de configuration
- Nom de domaine complet (FQDN) pour l'authentification Windows :
https://test.chat-messenger.com - Nom de domaine Active Directory :
camtest.com - Compte de service :
cam-svc@camtest.com(CAMTEST\cam-svc)
Aperçu de l'inscription SPN
SPN (Service Principal Name) est un nom qui identifie de manière unique un service spécifique sur Active Directory dans l'authentification Kerberos. Si vous accédez au service à l'aide d'un FQDN, l'enregistrement d'un SPN permettra au client de demander avec succès un ticket Kerberos pour le service auquel vous accédez.
Par exemple https://test.chat-messenger.com Lors de l'accès au service, le client (navigateur) demande un ticket à Active Directory en indiquant : « Je souhaite me connecter au service HTTP/test.chat-messenger.com ». Active Directory vérifie le compte auquel le SPN est associé et émet le ticket de service correspondant. Si le SPN n'est pas correctement enregistré, l'authentification Kerberos échouera.
Compte de service
Créez un compte de service pour l'authentification Kerberos. Bien que cela soit possible avec un utilisateur de domaine, il est généralement recommandé de séparer les comptes utilisateur et de service afin d'éviter les erreurs accidentelles et de clarifier le champ d'application de la politique de mots de passe.OU=Comptes de service Comme, OU Utilisateurs Contrôleurs de domaine Active Directory,cam-svc Créer un
Veuillez vérifier les éléments suivants dans les options de votre compte.
- Faites en sorte que votre mot de passe n'expire jamais
- Ce compte prend en charge le chiffrement Kerberos AES 256 bits.
Enregistrer le SPN avec un compte de service
setspn -S HTTP/test.chat-messenger.com CAMTEST\cam-svcEnregistrez le SPN en utilisant le compte de service créé ci-dessus.
- Tout appareil faisant partie du domaine peut être utilisé, mais des privilèges d'administrateur de domaine sont requis.
・SPN est également utilisé dans la communication HTTPSHTTP/nom d'hôteVous devez vous inscrire au format :
Utilisez la commande suivante pour vérifier que le SPN est enregistré.
setspn -L CAMTEST\cam-svcCréer un keytab
Pour permettre à CAMServer de valider les tickets Kerberos, créez un fichier keytab pour le compte de service. Exécutez la commande suivante sur le serveur d'administration Active Directory :
ktpass /out CAMServer\config\windowsAuth\cam.keytab /princ HTTP/test.chat-messenger.com@CAMTEST.COM /mapuser CAMTEST\cam-svc /ptype KRB5_NT_PRINCIPAL /crypto AES256-SHA1 /pass "*******"Paramètres du serveur CAM
Pour utiliser l'authentification Windows, ajoutez les lignes suivantes au fichier de configuration CAMServer (boot.ini). Veuillez remplacer chaque valeur en fonction de votre environnement.
# Kerberos レルム(通常は Active Directory ドメイン名を大文字で指定)
# 例: camtest.com ドメイン → CAMTEST.COM
cam.windowsAuth.realm=CAMTEST.COM
# Windows認証を行うFQDN
cam.windowsAuth.FQDN=test.chat-messenger.com
# Kerberos KDC
# 通常は Active Directory のドメインコントローラのFQDN。ポートTCP/UDP 88 は Kerberos 標準ポートでリッスンされている
cam.windowsAuth.kdc=ad.camtest.com:88
Définition des options Internet
Ajoutez le nom de domaine complet (FQDN) du serveur CAM à la zone intranet.
Sélectionnez Options Internet, cliquez sur l'onglet « Sécurité », puis sélectionnez « Intranet local ». Cliquez sur le bouton « Sites », sélectionnez « Avancé », puis ajoutez l'URL du site (https://test.chat-messenger.com).
Vérifier la connexion automatique
Cliquez sur "Niveau personnalisé" et sous "Authentification utilisateur" → "Connexion", assurez-vous que "Connexion automatique dans la zone intranet" est sélectionné.
Migration depuis l'authentification unique (SSO) utilisant l'authentification Windows intégrée à IIS
- Désinstallation des fonctionnalités IIS (Gestionnaire de serveur > Administration > Supprimer les rôles et les fonctionnalités)
- Désinstallation du pack d'hébergement ASP.NET Core
- Le compte de service estCe compte prend en charge le chiffrement Kerberos AES 256 bits."vérifier
- keytab créer
- Dans les paramètres des options Internet, ajoutez le nom de domaine complet (FQDN) de CAMServer à la zone Intranet (s'il n'a pas déjà été ajouté).
- Si l'équilibreur de charge était connecté à CAMServer au niveau L7, placez un certificat SSL sur CAMServer et connectez-vous au niveau L4.
