SNMPv3 konfigurieren
SNMP Version 3 (SNMPv3) erweitert die Funktionalität von SNMPv1 und SNMPv2c durch Unterstützung von Benutzerauthentifizierung und Datenverschlüsselung. SNMPv3 verwendet das benutzerbasierte Sicherheitsmodell (USM), um die sichere Kommunikation für SNMP-Nachrichten zu gewährleisten, und das view-based Access Control Model (VACM) zur Verwaltung der Benutzerzugriffssteuerung.
Zu den SNMPv3-Funktionen gehören:
-
Mit USM kann für die SNMP-Nachrichten zwischen dem SNMP-Manager und dem Agenten die Nachrichtenquelle authentifiziert und die Datenintegrität überprüft werden. USM reduziert Messaging-Verzögerungen und Nachrichtenwiederholungen durch die Erzwingung von Timeout-Limits und die Überprüfung auf doppelte Nachrichtenanforderungs-IDs.
-
VACM ergänzt USM durch die Bereitstellung von Benutzerzugriffskontrollen für SNMP-Abfragen an den Agenten. Sie definieren Zugriffsrechte, die Sie auf eine Gruppe von einem oder mehreren Benutzern ausdehnen möchten. Zugriffsberechtigungen werden durch die Parameter des Sicherheitsmodells (
usm, , oderv2) und die Parameter der Sicherheitsstufe (authentication,privacy, odernonev1) bestimmt. Für jede Sicherheitsstufe müssen Sie der Gruppe eine MIB-Ansicht zuordnen. Durch das Zuordnen einer MIB-Ansicht zu einer Gruppe wird die Lese-, Schreib- oder Benachrichtigungsberechtigung für eine Reihe von MIB-Objekten für die Gruppe erteilt. -
Sie konfigurieren Sicherheitsparameter für jeden Benutzer, einschließlich Benutzername, Authentifizierungstyp und Authentifizierungskennwort sowie Datenschutztyp und Datenschutzkennwort. Der Benutzername, der jedem Benutzer zugewiesen wird, liegt in einem Format vor, das vom für diesen Benutzer konfigurierten Sicherheitsmodell abhängt.
-
Um die Messaging-Sicherheit zu gewährleisten, ist eine andere Art von Benutzername, der so genannte Sicherheitsname, in den Messagingdaten enthalten, die zwischen dem lokalen SNMP-Server und dem SNMP-Zielserver gesendet werden. Jeder Benutzername wird einem Sicherheitsnamen zugeordnet, der Sicherheitsname hat jedoch ein Format, das vom Sicherheitsmodell unabhängig ist.
-
Trap-Einträge in SNMPv3 werden erstellt, indem die Parameter notify, notify filter, target address und target konfiguriert werden. Die
notifyAnweisung gibt den Typ der Benachrichtigung (Trap) an und enthält ein einzelnes Tag, das eine Reihe von Zieladressen definiert, die ein Trap empfangen sollen. Der Benachrichtigungsfilter definiert den Zugriff auf eine Sammlung von OIDs (Trap Object Identifiers). Die Zieladresse definiert die Adresse einer SNMP-Verwaltungsanwendung und andere Attribute, die beim Senden von Benachrichtigungen verwendet werden. Zielparameter definieren die Nachrichtenverarbeitungs- und Sicherheitsparameter, die beim Senden von Benachrichtigungen an ein bestimmtes Ziel verwendet werden.
Führen Sie die folgenden Aufgaben aus, um SNMPv3 zu konfigurieren:
SNMPv3 gewährleistet eine erhöhte Sicherheit für SNMP-Nachrichten durch die Verwendung von USM mit Authentifizierungs- und Verschlüsselungsschlüsseln. Daher müssen Sie externe Computer nicht einschränken, wenn Sie SNMPv3 verwenden, um einen Router oder Switch abzufragen. Daher unterstützt die SNMPv3-Konfiguration unter Junos OS oder Junos OS Evolved keine Clientliste für Zugriffsbeschränkungen.
SNMPv2 erfordert jedoch die Verwendung der Clientliste, damit bestimmte Clientcomputer SNMP-Abfragen senden können, da es auf Community-String-basiertem Zugriff beruht.
Erstellen von SNMPv3-Benutzern
Für jeden SNMPv3-Benutzer können Sie den Benutzernamen, den Authentifizierungstyp, das Authentifizierungskennwort, den Datenschutztyp und das Datenschutzkennwort angeben. Nachdem ein Benutzer ein Kennwort eingegeben hat, wird ein Schlüssel basierend auf der Modul-ID und dem Kennwort generiert und in die Konfigurationsdatei geschrieben. Nach der Generierung des Schlüssels können Sie das Kennwort aus dieser Konfigurationsdatei löschen.
Sie können nur einen Verschlüsselungstyp für jeden SNMPv3-Benutzer konfigurieren.
Um Benutzer anzulegen, schließen Sie die user Anweisung auf Hierarchieebene [edit snmp v3 usm local-engine] ein.
Um die Benutzerauthentifizierung und -verschlüsselung zu konfigurieren, fügen Sie die folgenden Anweisungen auf Hierarchieebene [edit snmp v3 usm local-engine user username] ein.
SNMPv3-Mindestkonfiguration auf einem Gerät mit Junos OS
Um die Mindestanforderungen für SNMPv3 zu konfigurieren, fügen Sie die folgenden Anweisungen auf der [edit snmp v3] Hierarchieebene und [edit snmp] ein.
Sie müssen mindestens eine Sicht (Benachrichtigen, Lesen oder Schreiben) auf Hierarchieebene [edit snmp view-name] konfigurieren.
Siehe auch
Beispiel: SNMPv3-Konfiguration
Definieren Sie eine SNMPv3-Konfiguration:
[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;
}
}
}
}