24.6 Connexion basée sur HOTP NMAS

24.6.1 Présentation

HOTP est un algorithme de mot de passe à usage unique (OTP) basé sur HMAC. Un OTP est un mot de passe valide pour une seule session de connexion ou transaction. Les mots de passe de ce type sont plus efficaces que les mots de passe (statiques) traditionnels, car ils sont associés à un risque inférieur de menaces de sécurité. Un intrus potentiel qui enregistre un OTP qui a été utilisé pour se connecter à un service ou réaliser une transaction ne peut pas le manipuler, car il a déjà été utilisé une fois et n'est plus valide. Toute authentification par OTP requiert un serveur et un client OTP (jeton matériel/logiciel). Dans NMAS, l'implémentation de l'authentification par OTP est basée sur la convention RFC 4226. En règle générale, le mot de passe NDS qui était présenté séparément au serveur est désormais joint à l'OTP afin d'améliorer l'authentification par mot de passe en conservant tous les composants client et leur interface utilisateur. L'authentification auprès du serveur eDirectory s'effectue via la fonction HOTP à l'aide de la connexion LDAP.

Connexion LDAP

Conditions préalables

Méthode de connexion

Un utilisateur activé pour HOTP peut exécuter une liaison LDAP en concaténant le mot de passe NDS avec la valeur HOTP.

Par exemple :

ldapsearch -D cn=user1,o=novell -w secret40338314 -h 164.99.91.165 -p 389 -b   "o=novell" -s sub -LLL dn

REMARQUE :ce paramètre est défini par défaut avec eDirectory 9.0.

Connexion NCP

Un utilisateur prêt/activé pour HOTP peut effectuer une connexion NCP en concaténant le mot de passe NDS avec la valeur HOTP à l'aide d'un des utilitaires suivants :

  • ndslogin

    Par exemple :

    ndslogin user1.org -h org.com -p secret40338314
    
  • iManager

  • iMonitor

REMARQUE :les plug-ins iManager qui procèdent à l'authentification LDAP échouent s'ils sont utilisés par des utilisateurs activés pour HOTP.

24.6.2 Installation

Installation des serveurs

Le module serveur HOTP fait partie du composant serveur NMAS. Le module serveur valide l'OTP présenté par le client.

Les attributs suivants sont disponibles sur le serveur HOTP NMAS :

  • sasOTPCounter (par attribut utilisateur)

  • sasOTPEnabled (par objet Utilisateur/Conteneur parent immédiat/Racine de partition/Stratégie de connexion)

  • sasOTPDigits (par objet Utilisateur/Conteneur parent immédiat/Racine de partition/Stratégie de connexion)

  • asOTPLookAheadWindow (défini pour l'ensemble de l'arborescence au niveau de l'objet Stratégie de connexion)

  • sasOTPResync (9 par attribut utilisateur)

Installation de l'utilitaire nmashotpconf

nmashotpconf est un utilitaire de configuration des attributs OTP sur le serveur eDirectory.

REMARQUE :l'utilitaire HOTP est disponible uniquement pour les plates-formes Linux 64 bits.

24.6.3 Resynchronisation du compteur

La valeur de compteur du serveur est incrémentée uniquement en cas de réussite de l'authentification par HOTP et le compteur du jeton est incrémenté chaque fois qu'un nouvel HOTP est demandé par l'utilisateur. Les valeurs de compteur du serveur et le compteur du jeton peuvent ne pas être synchronisés.

Pour contourner ce problème, vous devez adopter une approche anticipative à l'échelle de l'arborescence ou configurer une fenêtre de resynchronisation. Si le serveur détecte que l'HOTP reçu ne correspond pas à la valeur de compteur du serveur, le serveur peut recalculer les quelques valeurs HOTP suivantes qui se trouvent dans la fenêtre de resynchronisation et les vérifier par rapport à l'HOTP reçu. En cas de correspondance, l'authentification réussit et le compteur du serveur est défini sur la valeur de compteur correspondant à l'HOTP équivalent.

Pour que l'authentification réussisse, le compteur du serveur est défini sur la valeur de compteur suivante à laquelle l'authentification est correcte.

La valeur du paramètre de fenêtre de resynchronisation à l'échelle de l'arborescence doit être la plus faible possible pour réduire le champ des possibilités des attaquants qui tenteraient de recréer les valeurs HOTP. Si la discordance entre les compteurs du client et du serveur excède la valeur du paramètre de fenêtre de resynchronisation à l'échelle de l'arborescence, il est possible de procéder à une resynchronisation en définissant temporairement une fenêtre de resynchronisation propre à l'utilisateur sur une valeur élevée, puis en essayant d'exécuter une authentification par HOTP.

L'utilitaire nmashotpconf doit être utilisé pour configurer l'authentification par HOTP. Pour en savoir plus, reportez-vous à la section Configuration.

24.6.4 Configuration

Pour déployer un utilisateur eDirectory pour une authentification par HOTP, configurez votre système comme décrit ci-dessous, conformément à la convention RFC 4226.

  • Activez HOTP sur l'objet Utilisateur/Conteneur/Racine de partition/Stratégie de connexion dans cet ordre de priorité.

  • Définissez la clé secrète partagée HOTP et le compteur de l'utilisateur. Ensemble, ces deux paramètres déterminent la valeur HOTP.

  • Configurez le nombre de chiffres des valeurs HOTP sur l'objet Utilisateur/Conteneur/Racine de partition/Stratégie de connexion. La plage de chiffres valide est comprise entre 6 et 9.

  • Définissez les fenêtres de resynchronisation comme suit :

    • Définissez la fenêtre de resynchronisation à l'échelle de l'arborescence au niveau de l'objet Stratégie de connexion.

    • Définissez la fenêtre de resynchronisation propre à l'utilisateur au niveau de l'utilisateur. Cette opération doit être effectuée uniquement lorsque le client et le serveur sont désynchronisés.

Pour exécuter l'utilitaire nmashotpconf, procédez comme suit :

  1. Indiquez le répertoire dans lequel vous avez dézippé l'utilitaire HOTP NMAS.

    Le fichier dézippé contient les répertoires linux et linux_x64 pour les machines Linux 32 et 64 bits.

    Les répertoires linux et linux_x64 contiennent l'exécutable nmashotpconf et les fichiers libnmasext.so.

  2. Accédez au répertoire linux/final sur une machine Linux 32 bits, ou au répertoire linux_x64/final sur une machine Linux 64 bits.

  3. Téléchargez le certificat de racine approuvée et enregistrez-le en local.

    Pour plus d'informations, reportez-vous à la section Exportation d'un certificat de racine approuvée ou d'un certificat de clé publique.

    Par exemple :

     nmashotpconf -h <host_name> [-p <ssl_port>] -D <login_dn> [-w <password>]
      -e <trusted_cert> -t <cert_type> [-r <resync_window>] [-y
      <user_resync_window>] [-u <hotp_dn> [-o <hotp_options>] [-d digits] [-c
      <counter>] [-s <secret> -f <secret_format>]] 
    

    Option

    Description

    host_name

    Nom ou adresse IP du serveur LDAP.

    ssl_port

    Port SSL sur le serveur LDAP. La valeur par défaut est 636.

    login_dn

    DN de l'utilisateur.

    password

    Mot de passe associé au DN utilisateur.

    trusted_cert

    Fichier de certificat de racine approuvée.

    cert_type

    Type de codage du certificat de racine approuvée. Par exemple, DER indique que le fichier est codé en der, et B64 signifie qu'il est codé en b64.

    encoded file digits

    Nombre de chiffres constituant la valeur HOTP.

    REMARQUE :ce paramètre s'applique à tous les utilisateurs de l'arborescence.

    resync_window

    Fenêtre d'anticipation de resynchronisation des compteurs.

    user_resync_window

    Fenêtre d'anticipation de resynchronisation des utilisateurs des compteurs.

    hotp_dn

    DN cible pour lequel vous configurez les attributs HOTP. Pour configurer l'HOTP au niveau de l'arborescence, activez/désactivez-le au niveau de l'arborescence ou configurez les chiffres au niveau de l'arborescence, puis spécifiez le DN au format cn=Login Policy,cn=Security.

    hotp_options

    Active ou désactive l'HOTP pour l'option hotp_dn. Spécifiez ENABLE pour activer l'HOTP ou DISABLE pour le désactiver.

    counter

    Valeur du compteur HOTP. Cette valeur doit être comprise entre 0 et 2147483647. Elle est définie via l'option hotp_dn.

    hotp_dn secret

    Secret HOTP OATH. Par exemple, la valeur du secret en octets bruts au format hexadécimal est 3132333435363738393031323334353637383930. La chaîne ASCII/ASCII étendu correspondante est 12345678901234567890.

    secret_format

    Format du secret HOTP OATH.

    • STRING : ce format est utilisé pour une chaîne ASCII/ASCII étendu. Par exemple, 12345678901234567890.

    • RAW : ce format est utilisé pour les valeurs d'octets bruts au format hexadécimal. Par exemple, 3132333435363738393031323334353637383930, la valeur hexadécimale du premier caractère étant 31, la valeur du deuxième caractère 32, et ainsi de suite.

    Exemples :

    • Pour configurer un secret et un compteur sur l'objet Utilisateur, exécutez la commande suivante :

      ./nmashotpconf -h 192.168.1.1 -p 636 -D cn=admin,o=novell -w novell   -e   /var/opt/novell/eDirectory/data/SSCert.der  -t  DER  -u cn=user1,o=novell  -c 0   -s   3132333435363738393031323334353637383930 -f  RAW
      
    • Pour activer l'OTP pour un objet Utilisateur, exécutez la commande suivante :

      ./nmashotpconf -h 192.168.1.1 -p 636 -D cn=admin,o=novell -w novell   -e   /var/opt/novell/eDirectory/data/SSCert.der  -t  DER  -u cn=user1,o=novell  -o ENABLE 
      
    • Pour désactiver l'OTP, exécutez la commande suivante :

      ./nmashotpconf -h 192.168.1.1 -p 636 -D cn=admin,o=novell -w novell   -e   /var/opt/novell/eDirectory/data/SSCert.der  -t  DER  -u cn=user1,o=novell  -o DISABLE
      
      

      De même, vous pouvez activer ou désactiver l'OTP pour un objet Conteneur/Racine de partition/Stratégie de connexion.

    • Pour configurer un chiffre d'OTP pour un objet Utilisateur, exécutez la commande suivante :

      ./nmashotpconf -h 192.168.1.1 -p 636 -D cn=admin,o=novell -w novell   -e /var/opt/novell/eDirectory/data/SSCert.der  -t  DER  -u cn=user1,o=novell  -d 6
      

      De même, vous pouvez configurer un chiffre d'OTP pour un objet Conteneur parent/Racine de partition/Stratégie de connexion.

    • Pour configurer la fenêtre de resynchronisation des utilisateurs, exécutez la commande suivante :

      ./nmashotpconf -h 192.168.1.1 -p 636 -D cn=admin,o=novell -w novell   -y 5 -e   /var/opt/novell/eDirectory/data/SSCert.der  -t  DER  -u cn=user1,o=novell  
      
    • Pour configurer la fenêtre d'anticipation de resynchronisation des compteurs, exécutez la commande suivante :

      ./nmashotpconf -h 192.168.1.1 -p 636 -D cn=admin,o=novell -w novell     -r 6          
      

24.6.5 Problèmes connus

Échec de l'ajout de ndsconfig pour un administrateur activé pour HOTP

Pour les utilisateurs activés pour HOTP, le chiffre d'OTP est utilisé à des fins d'authentification. L'utilitaire ndsconfig utilise le même chiffre d'OTP pour les authentifications suivantes, entraînant l'échec de l'ajout de ndsconfig. De même, la mise à niveau de ndsconfig échoue également.

Pour contourner ce problème, n'activez pas HOTP pour l'utilisateur avec lequel vous ajoutez/mettez à niveau ndsconfig.

Échec de la connexion à une réplique en lecture seule par le biais d'un utilisateur activé pour HOTP

Si vous procédez à une connexion LDAP par le biais d'un utilisateur activé pour HOTP en envoyant une requête à la réplique en lecture seule, le chaînage LDAP ne s'effectue pas. La réplique en lecture seule ne transfère pas la requête au serveur sur lequel réside l'utilisateur en question. La réplique échoue et un message d'erreur de type Réplique non conforme s'affiche.

24.6.6 L'utilitaire nmashotpconf ne peut pas modifier la fenêtre de resynchronisation des utilisateurs

Si la valeur de la fenêtre de resynchronisation des utilisateurs est déjà définie (par exemple, sur 2) et qu'elle est modifiée à l'aide de l'utilitaire nmashotpconf, le message d'erreur suivant s'affiche :

ldap_modify_ext_s on HOTP DN failed: error code=19: Constraint violation

Cette erreur peut être due à l'utilisation d'une combinaison des options -o (option d'activation ou de désactivation de l'OTP), -d (chiffre d'OTP), -c (otpcouter) et -y (fenêtre_resynchronisation_utilisateurs) pour modifier la valeur de resynchronisation des utilisateurs.