Configurer SNMPv3
Le commutateur QFX3500 prend en charge SNMP version 3 (SNMPv3). SNMPv3 améliore les fonctionnalités de SNMPv1 et SNMPv2c en prenant en charge l’authentification des utilisateurs et le chiffrement des données. SNMPv3 utilise le modèle de sécurité basé sur l’utilisateur (USM) pour assurer la sécurité des messages SNMP, et le modèle de contrôle d’accès basé sur la vue (VACM) pour le contrôle d’accès utilisateur.
Les fonctionnalités de SNMPv3 sont les suivantes :
-
Avec USM, la source du message peut être authentifiée et l’intégrité des données peut être vérifiée dans les messages SNMP échangés entre le gestionnaire SNMP et l’agent. USM réduit les retards de messagerie et les relectures de messages en appliquant des limites de délai d’expiration et en vérifiant les ID de demande de message en double.
-
VACM complète USM en fournissant un contrôle d’accès utilisateur pour les requêtes SNMP adressées à l’agent. Vous définissez les privilèges d’accès que vous souhaitez étendre à un groupe d’un ou plusieurs utilisateurs. Les privilèges d’accès sont déterminés par les paramètres du modèle de sécurité (
usm
, , ouv2
) et les paramètres de niveau de sécurité (authentication
,privacy
, ounone
v1
). Pour chaque niveau de sécurité, vous devez associer une vue MIB au groupe. L’association d’une vue MIB à un groupe accorde l’autorisation de lecture, d’écriture ou de notification à un ensemble d’objets MIB pour le groupe. -
Vous configurez les paramètres de sécurité pour chaque utilisateur, notamment le nom d’utilisateur, le type d’authentification et le mot de passe d’authentification, ainsi que le type de confidentialité et le mot de passe de confidentialité. Le nom d’utilisateur attribué à chaque utilisateur est dans un format qui dépend du modèle de sécurité configuré pour cet utilisateur.
-
Pour garantir la sécurité de la messagerie, un autre type de nom d’utilisateur, appelé nom de sécurité, est inclus dans les données de messagerie envoyées entre le serveur SNMP local et le serveur SNMP de destination. Chaque nom d’utilisateur est mappé à un nom de sécurité, mais le nom de sécurité est dans un format indépendant du modèle de sécurité.
-
Les entrées d’interruption dans SNMPv3 sont créées en configurant les paramètres notify, notify filter, target address et target. L’instruction
notify
spécifie le type de notification (interruption) et contient une balise unique qui définit un ensemble d’adresses cibles devant recevoir une interruption. Le filtre notify définit l’accès à un ensemble d’identificateurs d’objets d’interruption (OID). L’adresse cible définit l’adresse d’une application de gestion SNMP et d’autres attributs utilisés pour l’envoi de notifications. Les paramètres de cible définissent les paramètres de traitement et de sécurité des messages utilisés pour envoyer des notifications à une cible particulière.
Pour configurer SNMPv3, effectuez les tâches suivantes :
SNMPv3 assure une sécurité renforcée des messages SNMP en utilisant USM avec des clés d’authentification et de chiffrement. Par conséquent, vous n’avez pas besoin de restreindre les machines externes lorsque vous utilisez SNMPv3 pour interroger un routeur ou un commutateur. Par conséquent, la configuration SNMPv3 sur Junos OS ou Junos OS Evolved ne prend pas en charge la liste des clients pour la restriction d’accès.
Toutefois, SNMPv2 nécessite l’utilisation d’une liste de clients pour permettre à des machines clientes spécifiques d’envoyer des requêtes SNMP, car il repose sur un accès basé sur des chaînes communautaires.
Créer des utilisateurs SNMPv3
Pour chaque utilisateur SNMPv3, vous pouvez spécifier le nom d’utilisateur, le type d’authentification, le mot de passe d’authentification, le type de confidentialité et le mot de passe de confidentialité. Une fois qu’un utilisateur a entré un mot de passe, une clé basée sur l’ID du moteur et le mot de passe est générée et écrite dans le fichier de configuration. Après la génération de la clé, vous pouvez supprimer le mot de passe de ce fichier de configuration.
Vous ne pouvez configurer qu’un seul type de chiffrement pour chaque utilisateur SNMPv3.
Pour créer des utilisateurs, incluez l’instruction user
au niveau de la [edit snmp v3 usm local-engine]
hiérarchie.
Pour configurer l’authentification et le chiffrement des utilisateurs, incluez les instructions suivantes au niveau de la [edit snmp v3 usm local-engine user username]
hiérarchie.
Configuration minimale de SNMPv3 sur un périphérique exécutant Junos OS
Pour configurer la configuration minimale requise pour SNMPv3, incluez les instructions suivantes aux niveaux de la [edit snmp v3]
hiérarchie et [edit snmp]
.
Vous devez configurer au moins une vue (notifier, lire ou écrire) au niveau de la [edit snmp view-name]
hiérarchie.
Voir également
Exemple : SNMPv3 Configuration
Définissez une configuration SNMPv3 :
[edit snmp] engine-id { use-mac-address; } view jnxAlarms { oid 1.3.6.1.4.1.2636.3.4 include; } view interfaces { oid 1.3.6.1.2.1.2 include; } view ping-mib { oid 1.3.6.1.2.1.80 include; } [edit snmp v3] notify n1 { tag router1; # Identifies a set of target addresses type trap;# Defines type of notification } notify n2 { tag host1; type trap; } notify-filter nf1 { oid .1 include; # Defines which traps to send } # In this case, includes all traps notify-filter nf2 { oid 1.3.6.1.4.1 include; # Sends enterprise-specific traps only } notify-filter nf3 { oid 1.3.6.1.2.1.1.5 include; # Sends BGP traps only } snmp-community index1 { community-name "$9$JOZi.QF/AtOz3"; # SECRET-DATA security-name john; # Matches the security name at the target parameters tag host1; # Finds the addresses that are allowed to be used with } target-address ta1 {# Associates the target address with the group # san-francisco. address 10.1.1.1; address-mask 255.255.255.0; # Defines the range of addresses port 162; tag-list router1; target-parameters tp1; # Applies configured target parameters } target-address ta2 { address 10.1.1.2; address-mask 255.255.255.0; port 162; tag-list host1; target-parameters tp2; } target-address ta3 { address 10.1.1.3; address-mask 255.255.255.0; port 162; tag-list “router1 host1”; target-parameters tp3; } target-parameters tp1 { # Defines the target parameters notify-filter nf1; # Specifies which notify filter to apply parameters { message-processing-model v1; security-model v1; security-level none; security-name john; # Matches the security name configured at the } # [edit snmp v3 snmp-community community-index hierarchy level. } target-parameters tp2 { notify-filter nf2; parameters { message-processing-model v1; security-model v1; security-level none; security-name john; } } target-parameters tp3 { notify-filter nf3; parameters { message-processing-model v1; security-model v1; security-level none; security-name john; } } usm { local-engine { # Defines authentication and encryption for SNMPv3 users user john { # security-name john is defined here authentication-md5 { authentication-password authentication-password; } privacy-des { privacy-password privacy-password; } } user bob { # security-name bob is defined here authentication-sha { authentication-password authentication-password; } privacy-none; } user julia { # security-name julia is defined here authentication-none; privacy-none; } user lauren { # security-name lauren is defined here authentication-sha { authentication-password authentication-password; } privacy-aes128 { privacy-password privacy-password; } } user richard { # security-name richard is defined here authentication-sha { authentication-password authentication-password; } privacy-none; } } } vacm { access { group san-francisco { #Defines the access privileges for the group default-context-prefix { # called san-francisco security-model v1 { security-level none { notify-view ping-mib; read-view interfaces; write-view jnxAlarms; } } } } } security-to-group { security-model v1 { security-name john { # Assigns john to security group san-fancisco group san-francisco; } security-name bob { # Assigns bob to security group new-york group new-york; } security-name julia {# Assigns julia to security group chicago group chicago; } security-name lauren {# Assigns lauren to security group paris group paris; } security-name richard {# Assigns richard to security group geneva group geneva; } } } }