Aller au contenu principal

5. Identification of Management Targets in Notification Originators

Une application émetteur de notification utilise snmpTargetAddrTable et snmpTargetParamsTable pour identifier les cibles de gestion auxquelles les notifications doivent être envoyées, et pour déterminer quelle version SNMP et quels paramètres de sécurité doivent être utilisés lors de l'envoi de notifications.

Lorsqu'un événement se produit qui déclenche la génération d'une notification, l'émetteur de notification :

  1. Consulte snmpNotifyTable pour déterminer quelles étiquettes de notification doivent être utilisées pour cette notification. Chaque entrée dans snmpNotifyTable associe une valeur d'étiquette à un type de notification (trap ou inform).

  2. Sélectionne les adresses cibles depuis snmpTargetAddrTable en faisant correspondre les étiquettes de notification. Pour chaque entrée dans snmpTargetAddrTable :

    a. L'objet snmpTargetAddrTagList contient une liste de valeurs d'étiquette.

    b. Si l'une des valeurs d'étiquette dans snmpTargetAddrTagList correspond à une étiquette spécifiée dans snmpNotifyTable, cette adresse cible est sélectionnée.

  3. Récupère les paramètres de transport pour chaque adresse cible sélectionnée :

    a. snmpTargetAddrTDomain spécifie le domaine de transport (par ex. snmpUDPDomain, snmpTCPDomain).

    b. snmpTargetAddrTAddress spécifie l'adresse de transport (par ex. adresse IP et port).

  4. Récupère les paramètres SNMP pour chaque adresse cible sélectionnée :

    a. L'objet snmpTargetAddrParams référence une entrée dans snmpTargetParamsTable.

    b. À partir de l'entrée snmpTargetParamsTable référencée, l'émetteur de notification récupère :

    • snmpTargetParamsMPModel (modèle de traitement de message)
    • snmpTargetParamsSecurityModel (modèle de sécurité)
    • snmpTargetParamsSecurityName (nom de sécurité)
    • snmpTargetParamsSecurityLevel (niveau de sécurité)
  5. Génère et envoie la notification pour chaque cible de gestion sélectionnée en utilisant les paramètres récupérés.

Exemple de configuration

Considérons un émetteur de notification qui doit envoyer une notification linkDown. La configuration pourrait inclure :

Entrée snmpNotifyTable :

  • snmpNotifyName: "linkDownNotify"
  • snmpNotifyTag: "criticalDevices"
  • snmpNotifyType: trap(1)

Entrées snmpTargetAddrTable :

Entrée 1 :

  • snmpTargetAddrName: "mgmtStation1"
  • snmpTargetAddrTDomain: snmpUDPDomain
  • snmpTargetAddrTAddress: 192.0.2.1:162
  • snmpTargetAddrTagList: "criticalDevices monitoring"
  • snmpTargetAddrParams: "snmpv3Params"

Entrée 2 :

  • snmpTargetAddrName: "mgmtStation2"
  • snmpTargetAddrTDomain: snmpUDPDomain
  • snmpTargetAddrTAddress: 192.0.2.2:162
  • snmpTargetAddrTagList: "criticalDevices"
  • snmpTargetAddrParams: "snmpv2cParams"

Entrées snmpTargetParamsTable :

Entrée snmpv3Params :

  • snmpTargetParamsMPModel: 3 (SNMPv3)
  • snmpTargetParamsSecurityModel: 3 (USM)
  • snmpTargetParamsSecurityName: "operator"
  • snmpTargetParamsSecurityLevel: authPriv(3)

Entrée snmpv2cParams :

  • snmpTargetParamsMPModel: 1 (SNMPv2c)
  • snmpTargetParamsSecurityModel: 2 (SNMPv2c)
  • snmpTargetParamsSecurityName: "public"
  • snmpTargetParamsSecurityLevel: noAuthNoPriv(1)

Lorsqu'un événement linkDown se produit :

  1. L'émetteur de notification consulte snmpNotifyTable et constate que les notifications avec l'étiquette "criticalDevices" doivent être envoyées en tant que traps.

  2. Il parcourt snmpTargetAddrTable et trouve deux entrées avec "criticalDevices" dans leurs listes d'étiquettes : "mgmtStation1" et "mgmtStation2".

  3. Pour mgmtStation1, il envoie un trap SNMPv3 à 192.0.2.1:162 en utilisant la sécurité USM avec niveau authPriv et nom de sécurité "operator".

  4. Pour mgmtStation2, il envoie un trap SNMPv2c à 192.0.2.2:162 avec la chaîne de communauté "public".

Timeout et nouvelle tentative pour les requêtes inform

Lorsque le type de notification est inform (InformRequest-PDU), snmpTargetAddrTable fournit également des paramètres de timeout et de nouvelle tentative :

  • snmpTargetAddrTimeout : Spécifie le temps (en centièmes de seconde) à attendre pour une réponse avant de considérer la requête comme expirée.

  • snmpTargetAddrRetryCount : Spécifie le nombre de fois à réessayer d'envoyer la requête inform si aucune réponse n'est reçue.

L'émetteur de notification utilise ces paramètres pour implémenter une livraison de notification fiable pour les requêtes inform.

Par exemple, si snmpTargetAddrTimeout est 1500 (15 secondes) et snmpTargetAddrRetryCount est 3, l'émetteur de notification va :

  1. Envoyer la requête inform.
  2. Attendre jusqu'à 15 secondes pour une réponse.
  3. Si aucune réponse n'est reçue, réessayer jusqu'à 3 fois supplémentaires.
  4. Abandonner après 4 tentatives totales (initiale + 3 nouvelles tentatives) ou 60 secondes (4 × 15 secondes), selon ce qui arrive en premier.

Considérations de sécurité pour l'identification des cibles de gestion

Lors de l'identification des cibles de gestion pour les notifications :

  1. Authentification de la configuration : La configuration des cibles de gestion (snmpTargetAddrTable, snmpTargetParamsTable et snmpNotifyTable) devrait être protégée par un contrôle d'accès pour empêcher toute modification non autorisée.

  2. Informations sensibles : Les noms de sécurité, en particulier lorsqu'ils sont utilisés avec SNMPv1 ou SNMPv2c (chaînes de communauté), devraient être protégés contre la divulgation. snmpTargetParamsTable ne devrait être accessible qu'aux utilisateurs autorisés.

  3. Filtrage de notification : Sans filtrage de notification approprié (décrit dans la section suivante), toutes les cibles de gestion configurées recevront toutes les notifications, exposant potentiellement des informations sensibles à des destinataires non autorisés.

  4. Sélection d'étiquette : L'utilisation d'étiquettes permet un regroupement flexible des cibles de gestion, mais il faut veiller à ce que les étiquettes soient appliquées correctement pour éviter les notifications mal dirigées.