Aller au contenu principal

11.2. Defining Users (Définition des utilisateurs)

11.2. Defining Users (Définition des utilisateurs)

Cette section fournit des conseils sur la façon de définir des utilisateurs dans le modèle de sécurité basé sur l'utilisateur.

Clone-From Template Users (Cloner à partir d'utilisateurs modèles)

L'approche recommandée pour définir des utilisateurs consiste à utiliser des utilisateurs modèles pour le clonage. Un utilisateur modèle est un utilisateur défini au moteur SNMP autorisé qui sert de source pour le clonage afin de créer de nouveaux utilisateurs.

Processus:

  1. Définir un utilisateur modèle au moteur autorisé avec:

    • Protocole d'authentification
    • Protocole de confidentialité
    • Clé d'authentification localisée
    • Clé de confidentialité localisée
  2. Utiliser l'objet usmUserCloneFrom pour cloner l'utilisateur modèle afin de créer un nouvel utilisateur sur:

    • Le même moteur autorisé, ou
    • Un moteur non autorisé
  3. Après le clonage, utiliser usmUserAuthKeyChange et usmUserPrivKeyChange pour définir des clés uniques pour le nouvel utilisateur.

Password-Based Key Derivation (Dérivation de clé basée sur mot de passe)

Lors de la création d'utilisateurs, les mots de passe peuvent être convertis en clés à l'aide de l'algorithme de mot de passe vers clé défini dans l'annexe A.2. Cet algorithme:

  1. Prend un mot de passe (OCTET STRING de longueur arbitraire)
  2. Applique une fonction de hachage (MD5 ou SHA) de manière répétée
  3. Produit une clé de longueur appropriée

Important: Des mots de passe différents peuvent produire la même clé s'ils consistent en des motifs répétitifs. Par exemple, les mots de passe "maplesyrupmaples" et "maplesyrup" peuvent produire des valeurs de hachage intermédiaires similaires. Par conséquent:

  • Éviter les motifs de mot de passe répétitifs
  • Utiliser des mots de passe d'au moins 8 caractères
  • Assurer la complexité du mot de passe

User Table Management (Gestion de la table utilisateur)

Les utilisateurs sont stockés dans la usmUserTable. Chaque entrée contient:

  • usmUserEngineID: Le snmpEngineID du moteur SNMP
  • usmUserName: Le nom d'utilisateur
  • usmUserSecurityName: Le nom de sécurité
  • usmUserCloneFrom: L'utilisateur modèle à partir duquel cloner
  • usmUserAuthProtocol: Le protocole d'authentification
  • usmUserAuthKeyChange: Objet pour changer la clé d'authentification
  • usmUserOwnAuthKeyChange: Objet pour changer sa propre clé d'authentification
  • usmUserPrivProtocol: Le protocole de confidentialité
  • usmUserPrivKeyChange: Objet pour changer la clé de confidentialité
  • usmUserOwnPrivKeyChange: Objet pour changer sa propre clé de confidentialité
  • usmUserPublic: Un objet publiquement lisible et inscriptible
  • usmUserStorageType: Le type de stockage
  • usmUserStatus: Le statut de ligne

Security Considerations for User Definition (Considérations de sécurité pour la définition d'utilisateur)

  1. Initial User (Utilisateur initial): Au moins un utilisateur DOIT être défini avec les informations d'identification de sécurité appropriées avant que le moteur SNMP puisse être utilisé pour la communication authentifiée.

  2. Key Strength (Force de la clé): Assurez-vous que les clés (qu'elles soient dérivées de mots de passe ou générées aléatoirement) ont une entropie suffisante pour résister aux attaques par force brute.

  3. User Rights (Droits utilisateur): Définir les utilisateurs avec les privilèges minimums nécessaires. Utiliser le modèle de contrôle d'accès basé sur les vues (VACM) pour restreindre ce que chaque utilisateur peut accéder.

  4. User Lifecycle (Cycle de vie utilisateur): Établir des procédures pour:

    • Créer des utilisateurs en toute sécurité
    • Mettre à jour les informations d'identification utilisateur périodiquement
    • Désactiver ou supprimer les utilisateurs lorsqu'ils ne sont plus nécessaires
    • Auditer les activités des utilisateurs