Résultats de recherche :

×

S'inscrire Contactez-Nous

Configurer l'authentification unique NTLM/Kerberos SSO pour UBUNTU/RHEL/CentOS

L'extension Kerberos SSO facilite l'obtention d'un ticket d'octroi de ticket Kerberos (TGT) à partir du domaine Active Directory ou d'un autre fournisseur d'identité de votre organisation, permettant aux utilisateurs de s'authentifier auprès de ressources telles que des sites Web, des applications et des serveurs de fichiers.


Pour UBUNTU :

  • Utilisez la commande suivante sur votre terminal pour installer les bibliothèques client Kerberos.
  • sudo apt-get install krb5-user

Pour RHEL/CentOS :

  • Utilisez la commande suivante sur votre terminal pour installer les bibliothèques client Kerberos.
  • yum install krb5-workstation krb5-libs krb5-auth-dialog

Les étapes suivantes sont utilisées pour configurer les domaines Active Directory dans le fichier de configuration Kerberos :

  • Ouvrez et modifiez le fichier /etc/krb5.conf.
  • Ajoutez l'extrait de configuration suivant au fichier krb5.conf.
  • EXAMPLE.ORG= { kdc = <AD DOMAIN CONTROLLER IP/DNS> :88 }

    NOTE: Remplacez le CONTRÔLEUR DE DOMAINE AD IP/DNS avec votre adresse IP/DNS. Assurez-vous EXEMPLE.ORG doit être en majuscule.

    Remplacez le EXEMPLE.ORG avec le nom de domaine Active Directory.

    Et assurez-vous que le port 88 du contrôleur de domaine AD est accessible depuis ce serveur.


  • Enregistrez le fichier.

Pour UBUNTU :

  • Utilisez la commande suivante pour installer le module auth_kerb pour Apache.
  • sudo apt-get install libapache2-mod-auth-kerb
  • Une fois le module auth_kerb installé, il doit être activé via la commande suivante.
  • a2enmod auth_kerb
  • Après avoir activé, redémarrez Apache pour prendre effet.

Pour RHEL/CentOS :

  • Utilisez la commande suivante pour installer le module auth_kerb pour Apache.
  • yum install mod_auth_kerb
  • Redémarrez Apache pour prendre effet.
  • Sur le contrôleur de domaine AD, exécutez la commande suivante pour créer le fichier Keytab.
  • ktpass -princ HTTP/<Server Host Name>@EXAMPLE.ORG -pass PASSWORD -mapuser <svc@EXAMPLE.ORG> -Ptype KRB5_NT_PRINCIPAL -out "<PATH>\spn.keytab"

    NOTE: Assurez-vous que EXAMPLE.ORG doit être en majuscules.


Nom d'hôte du serveur : Il s'agit du nom d'hôte du site hébergé sur le Serveur.
Nom d'hôte du serveur : Il s'agit du nom d'hôte du site hébergé sur le Serveur.
EXEMPLE.ORG : Il s'agit du nom de domaine Active Directory.
MOT DE PASSE: Il s'agit du mot de passe du compte de service utilisé ci-dessus.
svc@EXAMPLE.ORG : Il s'agit d'un compte de service dans Active Directory.
Chemin: Chemin vers un emplacement local qui stockera le fichier keytab.

    NOTE: La commande ci-dessus crée un fichier keytab. Il doit être placé sur le serveur. L'utilisateur exécutant Apache doit avoir un accès complet à ce fichier. L'utilisateur doit avoir l'autorisation d'accéder au fichier keytab.


  • Le compte de service a quelques prérequis :
    • Le mot de passe du compte doit avoir un mot de passe défini sur Non expiré.
    • Le compte doit être approuvé pour la délégation.
  • Copiez le Onglet de touches fichier du contrôleur de domaine AD vers le serveur Web hébergé sur Apache.

Pour UBUNTU :

  • Modifiez le fichier /etc/apache2/sites-enabled/000-default.conf.
  • Ajoutez la section suivante dans le répertoire du site.
  • <Directory "/placeholder"> AuthType Kerberos KrbAuthRealms EXAMPLE.ORG KrbServiceName HTTP Krb5Keytab <PATH TO KEYTAB> KrbMethodNegotiate on KrbMethodK5Passwd on require valid-user </Directory>

Pour RHEL/CentOS :

  • Modifiez le fichier de configuration auth_kerb.conf dans le dossier /etc/httpd/conf.d/.
  • Ajoutez la section suivante dans le répertoire du site.
  • LoadModule auth_kerb_module /usr/lib/apache2/modules/mod_auth_kerb.so <Directory "/placeholder"> AuthType Kerberos KrbAuthRealms EXAMPLE.ORG KrbServiceName HTTP Krb5Keytab <PATH TO KEYTAB> KrbMethodNegotiate on KrbMethodK5Passwd on require valid-user </Directory>

    NOTE: Assurez-vous que EXAMPLE.ORG doit être en majuscules.


Voici les composants de la configuration ci-dessus :

EXEMPLE.ORG : Il s'agit du domaine Active Directory tel que configuré dans krb5.conf.
CHEMIN VERS KEYTAB : Chemin accessible vers le keytab sur ce serveur.
  • Après cette configuration, Apache doit être redémarré pour que les modifications prennent effet.

Voici les messages d'erreur les plus courants :

    gss_acquire_cred() failed: Unspecified GSS failure. Minor code may provide more information (, Permission denied).
  • Mauvaises autorisations du système de fichiers pour /etc/krb5.keytab, c'est-à-dire non lisibles pour l'utilisateur Linux du serveur Web.
  • Pour modifier les autorisations du système de fichiers, utilisez $ chmod 400 nom de fichier.
  • gss_acquire_cred() failed: Unspecified GSS failure. Minor code may provide more information (, Key table entry not found).
  • Principal de service manquant (éventuellement HTTP/webserver.yourdomain.com@YOURDOMAIN.COM) dans /etc/krb5.keytab.
  • Warning: received token seems to be NTLM, which isn't supported by the Kerberos module. Check your IE configuration. gss_accept_sec_context() failed: An unsupported mechanism was requested (, Unknown error)
  • Le site Web n'est pas dans la zone « Intranet local » dans IE ou IE est configuré de manière incorrecte, voir L'authentification utilise NTLM au lieu de Kerberos.
  • gss_accept_sec_context() failed: Unspecified GSS failure. Minor code may provide more information (, ).
  • Mauvais mot de passe kvno ou machine dans /etc/krb5.keytab → recréez le keytab en utilisant les informations correctes.
  • Problème avec le cache des tickets Kerberos local sur votre poste de travail, utilisez Kerbtray.exe pour purger le cache des tickets et ouvrir à nouveau le site Web dans IE.

ADFS_sso ×
Bonjour!

Besoin d'aide? Nous sommes ici !

soutenez