Configurer l'authentification Kerberos pour Exchange Server

Si vous rencontrez des invites d'authentification fréquentes ou des performances lentes avec Outlook et Exchange Server, l'activation de l'authentification Kerberos résoudra le problème. De plus, Kerberos offre une sécurité renforcée et de meilleures performances par rapport à l'authentification NTLM. Dans cet article, vous apprendrez comment configurer l'authentification Kerberos pour Exchange Server.

L'authentification Kerberos est un protocole sécurisé et efficace utilisé par Exchange Server pour vérifier l'identité des utilisateurs sans nécessiter des invites répétées de mot de passe. Il fonctionne sur un système basé sur des tickets, où les utilisateurs s'authentifient une fois et reçoivent un ticket d'octroi de tickets (TGT). Ce TGT est ensuite utilisé pour demander des tickets de service pour accéder aux services Exchange Server, tels qu'Outlook et les applications Web.

En implémentant l'authentification Kerberos dans Exchange Server, les organisations peuvent mettre en place un processus d'authentification plus sécurisé, transparent et efficace tout en réduisant la dépendance à l'égard de NTLM ou des méthodes d'authentification de base.

Note:L'authentification Kerberos pour Exchange Server n'est pas activée par défaut. Il nécessite une configuration supplémentaire après l'installation, notamment la création d'un compte de service alternatif (ASA) et la configuration appropriée des noms principaux de service (SPN).

Lecture recommandée :PowerShell : configurer l'authentification basée sur les certificats pour Exchange Online (Azure)

De nombreux administrateurs négligent cette configuration, passant ainsi potentiellement à côté des avantages en matière de sécurité et d'efficacité qu'offre Kerberos.

Comment configurer l'authentification Kerberos dans Exchange Server

Microsoft recommande d'utiliser les enregistrements A au lieu des enregistrements CNAME. Cela garantit que le client émet correctement une demande de ticket Kerberos basée sur le nom partagé, et non sur le nom de domaine complet du serveur.

Dans notre organisation, nous disposons de la configuration DNS interne suivante pour Exchange Server :

  • mail.exoip.compour MAPI sur HTTP et Outlook Anywhere
  • autodiscover.exoip.compour les services de découverte automatique

Voici à quoi cela ressemble dans DNS pourmail.exoip.com.

Voici à quoi cela ressemble dans DNS pourautodiscover.exoip.com.

Sur la base des noms de domaine complets ci-dessus, nous devons associer les SPN suivants aux informations d'identification ASA :

  • http/mail.exoip.com
  • http/autodiscover.exoip.com

Nous allons suivre les étapes ci-dessous et configurer l'authentification Kerberos pour Exchange Server.

Étape 1 : Créer un compte de service alternatif (ASA)

Tous les serveurs Exchange qui exécutent des services d'accès client partageant les mêmes espaces de noms et URL doivent utiliser les mêmes informations d'identification de compte de service alternatives ou (informations d'identification ASA). En général, il suffit d’avoir un seul compte pour une forêt pour chaque version d’Exchange.

Note:Vous pouvez partager les mêmes informations d'identification ASA à partir d'Exchange Server 2013 et versions ultérieures. Ainsi, vous n’avez pas besoin d’en créer un nouveau si vous souhaitez migrer d’Exchange Server 2016 vers Exchange Server 2019.

  1. CommencerUtilisateurs et ordinateurs Active Directory
  2. Allez auUnité organisationnelleoù se trouve l'objet ordinateur Exchange Server
  3. Faites un clic droit dessus et sélectionnezPropriétés
  1. Cliquez sur leÉditeur d'attributslanguette
  2. Double-cliquez surNom distinguéattribut
  3. Copiela valeur
  1. Démarrez Exchange Management Shell en tant qu'administrateur
  2. Créez un objet ordinateur AD avec le nomEXCH2019ASAet utilisez la valeur OU que vous avez copiée à l'étape précédente pour le paramètre -Path
New-ADComputer -Name "EXCH2019ASA" -AccountPassword (Read-Host "Enter new password" -AsSecureString) -Description "Alternate Service Account credentials for Exchange" -Enabled:$True -SamAccountName "EXCH2019ASA" -Path "OU=Exchange Servers,OU=Servers,OU=Company,DC=exoip,DC=local"
  1. Remplissez un nouveau mot de passe pour l'objet ordinateur AD
  2. Activer le cryptage AES 256 pour prendre en charge Kerberos
Set-ADComputer "EXCH2019ASA" -add @{"msDS-SupportedEncryptionTypes"="28"}
  1. Vérifiez que l'objet ordinateur AD est créé avec succès
Get-ADComputer "EXCH2019ASA"

La sortie apparaît.

DistinguishedName : CN=EXCH2019ASA,OU=Exchange Servers,OU=Servers,OU=Company,DC=exoip,DC=local
DNSHostName       :
Enabled           : True
Name              : EXCH2019ASA
ObjectClass       : computer
ObjectGUID        : 0779280f-c25b-431c-b37e-1bfc020ec72a
SamAccountName    : EXCH2019ASA$
SID               : S-1-5-21-813775357-375391071-1622867542-1150
UserPrincipalName :

Vous pouvez également trouver l’objet ordinateur AD dans Utilisateurs et ordinateurs Active Directory.

Étape 2. Répliquer les modifications sur tous les contrôleurs de domaine

Après avoir créé le compte, répliquez les modifications sur tous les contrôleurs de domaine AD DS.

repadmin /syncall /ADPe

Étape 3. Déployez les informations d'identification ASA sur le premier serveur Exchange

La seule méthode prise en charge pour déployer les informations d'identification ASA consiste à utiliser leRollAlternateServiceAcountPassword.ps1script du dossier des scripts d'Exchange Server.

  1. Exécutez Exchange Management Shell en tant qu'administrateur
  2. Remplacez le répertoire par le dossier des scripts Exchange Server
cd $exscripts
  1. Déployer les informations d'identification ASA sur le premier serveur Exchange exécutant les services d'accès client
.RollAlternateServiceAccountPassword.ps1 -ToSpecificServer "EX01-2019.exoip.local" -GenerateNewPasswordFor exoipEXCH2019ASA$
  1. Lorsqu'on vous demande si vous souhaitez modifier le mot de passe du compte de service alternatif, tapezETet appuyez surEntrer

Étape 4. Déployer les informations d'identification ASA sur un autre serveur Exchange

Si plusieurs serveurs Exchange sont en cours d'exécution dans l'organisation, exécutez la commande ci-dessous.

Note:Faites cela pour tous les serveurs Exchange. Remplacez simplement la destination Exchange Server (EX02-2019).

.RollAlternateServiceAccountPassword.ps1 -ToSpecificServer "EX02-2019.exoip.local" -CopyFrom "EX01-2019.exoip.local"

Étape 5. Vérifiez le déploiement des informations d'identification ASA

Vérifiez les paramètres d'informations d'identification ASA sur le serveur Exchange.

Get-ClientAccessServer "EX01-2019" -IncludeAlternateServiceAccountCredentialStatus | Format-List Name, AlternateServiceAccountConfiguration

La sortie apparaît.

Name                                 : EX01-2019
AlternateServiceAccountConfiguration : Latest: 3/4/2025 6:07:57 PM, exoipEXCH2019ASA$
                                       Previous: <Not set>

Étape 6. Vérifiez que le SPN n'est pas déjà associé à un compte

Avant d'associer les SPN aux informations d'identification ASA, vous devez vérifier que les SPN cibles ne sont pas déjà associés à un autre compte dans la forêt. Les informations d'identification ASA doivent être le seul compte de la forêt auquel ces SPN sont associés.

Démarrez l’invite de commande et exécutez les commandes ci-dessous.

setspn -F -Q http/mail.exoip.com
setspn -F -Q http/autodiscover.exoip.com

Les commandes devraient revenirAucun SPN de ce type n'a été trouvécomme indiqué ci-dessous.

Checking forest DC=exoip,DC=local

No such SPN found.

S'il renvoie quelque chose, un autre compte est déjà associé au SPN.

Étape 7. Associer les noms principaux de service (SPN) aux informations d'identification ASA

  1. Démarrer l'invite de commande
  2. Associez le MAPI sur HTTP et Outlook Anywhere SPN aux informations d'identification ASA
setspn -S http/mail.exoip.com exoipEXCH2019ASA$

La sortie apparaît.

Checking domain DC=exoip,DC=local

Registering ServicePrincipalNames for CN=EXCH2019ASA,OU=Exchange Servers,OU=Servers,OU=Company,DC=exoip,DC=local
        http/mail.exoip.com
Updated object
  1. Associer le SPN de découverte automatique aux informations d'identification ASA
setspn -S http/autodiscover.exoip.com exoipEXCH2019ASA$

La sortie apparaît.

Checking domain DC=exoip,DC=local

Registering ServicePrincipalNames for CN=EXCH2019ASA,OU=Exchange Servers,OU=Servers,OU=Company,DC=exoip,DC=local
        http/autodiscover.exoip.com
Updated object

Étape 8. Vérifiez que vous avez associé les SPN aux informations d'identification ASA

Démarrez l’invite de commande et exécutez la commande ci-dessous. Vous ne devez exécuter cette commande qu'une seule fois.

setspn -L exoipEXCH2019ASA$

Étape 9. Activer l'authentification Kerberos pour les clients Outlook

  1. Démarrez Exchange Management Shell en tant qu'administrateur
  2. Activez l'authentification Kerberos pour les clients Outlook Anywhere pour tous les serveurs Exchange sur lesquels vous souhaitez activer l'authentification Kerberos.
Get-OutlookAnywhere -Server "EX01-2019" | Set-OutlookAnywhere -InternalClientAuthenticationMethod Negotiate
  1. Vérifiez qu'il est correctement défini
Get-OutlookAnywhere -Server "EX01-2019" | Format-Table InternalClientAuthenticationMethod

La sortie apparaît.

InternalClientAuthenticationMethod
----------------------------------
                         Negotiate
  1. Activez l'authentification Kerberos pour les clients MAPI sur HTTP pour tous les serveurs Exchange sur lesquels vous souhaitez activer l'authentification Kerberos.
Get-MapiVirtualDirectory -Server "EX01-2019" | Set-MapiVirtualDirectory -IISAuthenticationMethods Ntlm,Negotiate
  1. Vérifiez qu'il est correctement défini
Get-MapiVirtualDirectory -Server "EX01-2019" | Format-List IISAuthenticationMethods

La sortie apparaît.

IISAuthenticationMethods : {Ntlm, Negotiate}

Dans des environnements hybrides avec Exchange Online ou si vous utilisez OAuth en interne.

$mapidir = Get-MapiVirtualDirectory -Server "EX01-2019"
$mapidir | Set-MapiVirtualDirectory -IISAuthenticationMethods ($mapidir.IISAuthenticationMethods +='Negotiate')

Étape 10. Redémarrez les services Exchange Server

Redémarrez leHôte du service Microsoft Exchangeservice etPool d'applications de découverte automatique MS Exchangepour accélérer le processus. Faites cela sur tous les serveurs Exchange.

Restart-Service MSExchangeServiceHost
Restart-WebAppPool -Name MSExchangeAutodiscoverAppPool

Vous pouvez également redémarrer tous les serveurs Exchange si vous le souhaitez.

Étape 11. Vérifiez l'authentification Kerberos du client Exchange

Après avoir configuré avec succès Kerberos et les informations d'identification ASA, vérifiez que les clients peuvent s'authentifier avec succès.

  1. CommencerPerspectivessur la machine cliente
  2. CommencerInvite de commandesur la machine cliente
  3. Exécutez la commande ci-dessous
klist
  1. Vérifiez que deux tickets apparaissent auprès des serveursHTTP/mail.exoip.cometHTTP/autodiscover.exoip.com

C'est ça!

Conclusion

Vous avez appris à configurer l'authentification Kerberos pour Exchange Server. Kerberos est plus sécurisé que NTLM et impose une surcharge moindre à vos clients, vos serveurs Exchange et vos contrôleurs de domaine. Il est essentiel de configurer cela dans toutes les organisations qui exécutent un serveur Exchange.

Avez-vous apprécié cet article ? Vous aimerez peut-être également Créer un serveur DAG Exchange étape par étape. N’oubliez pas de nous suivre et de partager cet article.

Related Posts