In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
In diesem Dokument wird beschrieben, wie Sie das Simple Network Management Protocol (SNMP) schützen.
Es gibt keine spezifischen Anforderungen für dieses Dokument.
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
SNMP View - Cisco IOS® Software Version 10.3 oder höher
SNMP-Version 3 - Einführung in Version 12.0(3)T der Cisco IOS-Software.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps von Cisco zu Konventionen).
Es ist wichtig, Ihr SNMP zu schützen, insbesondere wenn die Schwachstellen von SNMP wiederholt ausgenutzt werden können, um einen Denial of Service (DoS) zu erzeugen.
Es ist nicht empfehlenswert, public als schreibgeschützte und private als Community-Strings mit Lese- und Schreibzugriff zu verwenden.
Der Setup SNMP view Befehl kann den Benutzer blockieren, indem er nur auf die Management Information Base (MIB) zugreift. Standardmäßig gibt es keine
SNMP view entry exists . Dieser Befehl wird im globalen Konfigurationsmodus konfiguriert und zuerst in Version 10.3 der Cisco IOS-Software eingeführt. Es funktioniert ähnlich wie
access-list in, dass, wenn Sie
SNMP View irgendeinen bestimmten MIB-Trees haben, jeder andere Tree unerklärlich abgelehnt wird. Die Sequenz ist jedoch nicht wichtig, und sie durchläuft die gesamte Liste für eine Übereinstimmung, bevor sie beendet wird.
Um einen Ansichtseintrag zu erstellen oder zu aktualisieren, verwenden Sie den
snmp-server view global configuration Befehl. Um den angegebenen SNMP-Serveransichtseintrag zu entfernen, verwenden Sie die
no Form dieses Befehls.
Syntax:
snmp-server view view-name oid-tree {included | excluded}
no snmp-server view view-name
Syntaxbeschreibung:
-
view-name- Beschriftung für den Ansichtsdatensatz, den Sie aktualisieren oder erstellen. Der Name wird für den Verweis auf den Datensatz verwendet.
-
oid-tree — Objekt-ID der ASN.1-Unterstruktur (Abstract Syntax Notation One), die in die Ansicht eingeschlossen oder aus ihr ausgeschlossen werden soll. Um die Unterstruktur zu identifizieren, geben Sie eine Textzeichenfolge an, die aus Zahlen besteht, z. B. 1.3.6.2.4, oder ein Wort, z. B. system. Ersetzen einer einzelnen Unterkennung durch den Platzhalter Sternchen (*), um eine Unterstrukturfamilie anzugeben, z. B. 1.3.*.4.
-
included | excluded— Ansichtstyp. Sie müssen entweder eingeschlossen oder ausgeschlossen angeben.
Wenn eine Ansicht erforderlich ist, können anstelle einer Ansicht, die definiert werden muss, zwei vordefinierte Standardansichten verwendet werden. Eins ist alles, was anzeigt, dass der Benutzer alle Objekte sehen kann. Die andere ist eingeschränkt, was darauf hinweist, dass dem Benutzer drei Gruppen angezeigt werden:
system,
snmpStats, und
snmpParties. Die vordefinierten Ansichten werden in RFC 1447 beschrieben.
Hinweis: Der erste eingegebene
snmp-server Befehl aktiviert beide SNMP-Versionen.
In diesem Beispiel wird eine Ansicht erstellt, die alle Objekte in der MIB-II-Systemgruppe mit Ausnahme von (
sysServices System 7) und alle Objekte für Schnittstelle 1 in der MIB-II-Schnittstellengruppe enthält:
snmp-server view agon system included
snmp-server view agon system.7 excluded
snmp-server view agon ifEntry.*.1 included
Dies ist ein vollständiges Beispiel für die Anwendung von MIB mit Community-String und der Ausgabe von
snmpwalk with
view in place. Mit dieser Konfiguration wird eine Ansicht definiert, die den SNMP-Zugriff für die Address Resolution Protocol (ARP)-Tabelle (
atEntry ) verweigert und MIB-II und Cisco Private MIB ermöglicht:
snmp-server view myview mib-2 included
snmp-server view myview atEntry excluded
snmp-server view myview cisco included
snmp-server community public view myview RO 11
snmp-server community private view myview RW 11
snmp-server contact pvanderv@cisco.com
Dies ist der Befehl und die Ausgabe für die MIB-II-Systemgruppe:
NMSPrompt 82 % snmpwalk cough system
system.sysDescr.0 : DISPLAY STRING- (ascii):Cisco Internetwork Operating System Software
Cisco IOS (tm) 2500 Software (C2500-JS-L), Version 12.0(1)T,RELEASE SOFTWARE (fc2)
Copyright (c) 1986-1998 by cisco Systems, Inc.
Compiled Wed 04-Nov-98 20:37 by dschwart
system.sysObjectID.0 : OBJECT IDENTIFIER:
.iso.org.dod.internet.private.enterprises.cisco.ciscoProducts.cisco2520
system.sysUpTime.0 : Timeticks: (306588588) 35 days, 11:38:05.88
system.sysContact.0 : DISPLAY STRING- (ASCII):pvanderv@cisco.com
system.sysName.0 : DISPLAY STRING- (ASCII):cough
system.sysLocation.0 : DISPLAY STRING- (ASCII):
system.sysServices.0 : INTEGER: 78
system.sysORLastChange.0 : Timeticks: (0) 0:00:00.00
NMSPrompt 83 %
Dies ist der Befehl und die Ausgabe für die lokale Cisco System-Gruppe:
NMSPrompt 83 % snmpwalk cough lsystem
cisco.local.lsystem.romId.0 : DISPLAY STRING- (ASCII):
System Bootstrap, Version 11.0(10c), SOFTWARE
Copyright (c) 1986-1996 by cisco Systems
cisco.local.lsystem.whyReload.0 : DISPLAY STRING- (ASCII):power-on
cisco.local.lsystem.hostName.0 : DISPLAY STRING- (ASCII):cough
Dies ist der Befehl und die Ausgabe für die MIB-II-ARP-Tabelle:
NMSPrompt 84 % snmpwalk cough atTable
no MIB objects contained under subtree.
NMSPrompt 85 %
Einrichtung der SNMP-Community mit Zugriffsliste
Nach den aktuellen Best Practices sollten Sie Zugriffskontrolllisten (ACLs) auf Community-Strings anwenden und sicherstellen, dass die Anforderungen-Community-Strings nicht mit den Benachrichtigungen-Community-Strings identisch sind. Zugriffslisten bieten zusätzlichen Schutz, wenn sie in Kombination mit anderen Schutzmaßnahmen verwendet werden.
In diesem Beispiel wird die ACL auf einen Community-String eingerichtet:
access-list 1 permit 10.1.1.1
snmp-server community string1 ro 1
Wenn Sie verschiedene Community-Strings für Anfragen und Trap-Nachrichten verwenden, verringert dies die Wahrscheinlichkeit weiterer Angriffe oder Kompromisse, wenn der Community-String von einem Angreifer entdeckt wird. Andernfalls könnte ein Angreifer ein Remote-Gerät kompromittieren oder ohne Autorisierung eine Trap-Nachricht aus dem Netzwerk abhören.
Wenn Sie Trap mit einem Community-String aktivieren, kann dieser String in einigen Cisco IOS-Programmen für den SNMP-Zugriff aktiviert werden. Sie müssen diese Community explizit deaktivieren. Beispiele:
access-list 10 deny any
snmp-server host 10.1.1.1 mystring1
snmp-server community mystring1 RO 10
SNMP-Version 3 einrichten
Gehen Sie folgendermaßen vor, um die SNMP-Version 3 zu konfigurieren:
-
Weisen Sie der SNMP-Einheit eine Modul-ID zu (optional).
-
Definieren Sie einen Benutzer, einen Benutzer, der zur Gruppe gehört, und wenden Sie noAuthentication (kein Kennwort) und noPrivacy (keine Verschlüsselung) auf diesen Benutzer an.
-
Definieren Sie einen Benutzer, userTwo  ;der zur Gruppe groupTwo gehört, und wenden Sie noAuthentication (kein Kennwort) und noPrivacy (keine Verschlüsselung) auf diesen Benutzer an.
-
Definieren Sie einen Benutzer, BenutzerDrei, der zur Gruppe GruppeDrei gehört, und wenden Sie Authentication (password is user3passwd) und noPrivacy (no encryption) auf diesen Benutzer an.
-
Definieren Sie einen Benutzer, userFour, der zur Gruppe group gehört, und wenden Sie Authentication (password is user4passwd) und Privacy (des56 encryption) auf diesen Benutzer an.
-
Definieren Sie mithilfe des Benutzersicherheitsmodells (USM) V3 eine Gruppe (group), und aktivieren Sie den Lesezugriff in der v1-Standardansicht (der Standardansicht).
-
Definieren Sie eine Gruppe, groupTwo, mithilfe von USM V3 und aktivieren Sie den Lesezugriff in der Ansicht myview .
-
Definieren Sie eine Gruppe (Gruppe drei) mithilfe von USM V3, und aktivieren Sie den Lesezugriff in der v1-Standardansicht (der Standardansicht) mittels Authentifizierung.
-
Definieren Sie eine Gruppe, eine Gruppe mithilfe von USM V3, und aktivieren Sie den Lesezugriff in der v1default-Ansicht (die Standardansicht) mithilfe von Authentifizierung und Datenschutz .
-
Definieren Sie eine Ansicht (myview), die Lesezugriff auf die MIB-II gewährt und Lesezugriff auf die private Cisco MIB verweigert.
Die show running Ausgabe enthält zusätzliche Zeilen für die Gruppe public, da ein Community String Read-Only public definiert wurde.
Die show running Ausgabe zeigt nicht den Benutzer drei.
Beispiel:
snmp-server engineID local 111100000000000000000000
snmp-server user userone groupone v3
snmp-server user usertwo grouptwo v3
snmp-server user userthree groupthree v3 auth md5 user3passwd
snmp-server user userfour groupfour v3 auth md5 user4passwd priv des56
user4priv
snmp-server group groupone v3 noauth
snmp-server group grouptwo v3 noauth read myview
snmp-server group groupthree v3 auth
snmp-server group groupfour v3 priv
snmp-server view myview mib-2 included
snmp-server view myview cisco excluded
snmp-server community public RO
Dies ist der Befehl und die Ausgabe für die MIB-II-Systemgruppe mit userOne:
NMSPrompt 94 % snmpwalk -v3 -n "" -u userone -l noAuthNoPriv clumsy system
Module SNMPV2-TC not found
system.sysDescr.0 = Cisco Internetwork Operating System Software
Cisco IOS (TM) 4500 Software (C4500-IS-M), Version 12.0(3)T,RELEASE SOFTWARE (fc1)
Copyright (c) 1986-1999 by cisco Systems, Inc.
Compiled Tue 23-Feb-99 03:59 by ccai
system.sysObjectID.0 = OID: enterprises.9.1.14
system.sysUpTime.0 = Timeticks: (28208096) 3 days, 6:21:20.96
system.sysContact.0 =
system.sysName.0 = clumsy.cisco.com
system.sysLocation.0 =
system.sysServices.0 = 78
system.sysORLastChange.0 = Timeticks: (0) 0:00:00.00
NMSPrompt 95 %
Dies ist der Befehl und die Ausgabe für die MIB-II-Systemgruppe mit Benutzer2:
NMSPrompt 95 % snmpwalk -v3 -n "" -u usertwo -l noAuthNoPriv clumsy system
Module SNMPV2-TC not found
system.sysDescr.0 = Cisco Internetwork Operating System Software
Cisco IOS (TM) 4500 Software (C4500-IS-M), Version 12.0(3)T,RELEASE SOFTWARE (fc1)
Copyright (c) 1986-1999 by cisco Systems, Inc.
Compiled Tue 23-Feb-99 03:59 by ccai
system.sysObjectID.0 = OID: enterprises.9.1.14
system.sysUpTime.0 = Timeticks: (28214761) 3 days, 6:22:27.61
system.sysContact.0 =
system.sysName.0 = clumsy.cisco.com
system.sysLocation.0 =
system.sysServices.0 = 78
system.sysORLastChange.0 = Timeticks: (0) 0:00:00.00
Dies ist der Befehl und die Ausgabe für die Cisco Local System-Gruppe mit dem Benutzer userone:
NMSPrompt 98 % snmpwalk -v3 -n "" -u userone -l noAuthNoPriv clumsy .1.3.6.1.4.1.9.2.1
Module SNMPV2-TC not found
enterprises.9.2.1.1.0 = "..System Bootstrap, Version 5.2(7b) [mkamson 7b],
RELEASE SOFTWARE (fc1)..Copyright (c) 1995 by cisco Systems,
Inc..."
enterprises.9.2.1.2.0 = "reload"
enterprises.9.2.1.3.0 = "clumsy"
enterprises.9.2.1.4.0 = "cisco.com"
Mit diesem Befehl und dieser Ausgabe wird angezeigt, dass Sie die Cisco Local System-Gruppe mit Benutzer2 nicht abrufen können:
NMSPrompt 99 % snmpwalk -v3 -n "" -u usertwo -l noAuthNoPriv clumsy .1.3.6.1.4.1.9.2.1
Module SNMPV2-TC not found
enterprises.9.2.1 = No more variables left in this MIB View
NMSPrompt 100 %
Dieser Befehl und das Ausgabeergebnis sind für einen benutzerdefinierten
tcpdump (Patch für SNMP-Unterstützung der Version 3 und Addendum von printf):
NMSPrompt 102 % snmpget -v3 -n "" -u userone -l noAuthNoPriv clumsy system.sysName.0
Module SNMPV2-TC not found
system.sysName.0 = clumsy.cisco.com
Einrichten von ACL auf Schnittstellen
Die ACL-Funktion stellt Sicherheitsmaßnahmen bereit, die Angriffe wie IP-Spoofing verhindern. Die ACL kann auf eingehende oder ausgehende Schnittstellen auf Routern angewendet werden.
Auf Plattformen, die keine Empfangszugriffskontrolllisten (rACLs) verwenden können, ist es möglich, UDP-Datenverkehr (User Datagram Protocol) von vertrauenswürdigen IP-Adressen mit Schnittstellenzugriffskontrolllisten zum Router zuzulassen.
Die nächste erweiterte Zugriffsliste kann an Ihr Netzwerk angepasst werden. In diesem Beispiel wird davon ausgegangen, dass für die Schnittstellen des Routers die IP-Adressen 192.168.10.1 und 172.16.1.1 konfiguriert sind, dass der gesamte SNMP-Zugriff auf eine Verwaltungsstation mit der IP-Adresse 10.1.1.1 beschränkt sein muss und dass die Verwaltungsstation nur mit der IP-Adresse 192.168.10.1 kommunizieren muss :
access-list 101 permit udp host 10.1.1.1 host 192.168.10.1
Das
access-listmuss dann mit den folgenden Konfigurationsbefehlen auf alle Schnittstellen angewendet werden:
interface ethernet 0/0
ip access-group 101 in
Alle Geräte, die über UDP-Ports direkt mit dem Router kommunizieren, müssen in der vorherigen Zugriffsliste speziell aufgeführt werden. Die Cisco IOS-Software verwendet Ports zwischen 49152 und 65535 als Quellport für ausgehende Sitzungen wie DNS-Abfragen (Domain Name System).
Bei Geräten mit vielen konfigurierten IP-Adressen oder vielen Hosts, die mit dem Router kommunizieren müssen, ist dies nicht immer eine skalierbare Lösung.
Zugriffskontrolllisten
Für verteilte Plattformen können rACLs eine Option sein, die in der Cisco IOS Software-Version 12.0(21)S2 für den Cisco Gigabit Switch Router der Serie 12000 (GSR) und in der Version 12.0(24)S für die Cisco Serie 7500 beginnt. Die Empfangs-Zugriffslisten schützen das Gerät vor schädlichem Datenverkehr, bevor dieser den Routing-Prozessor beeinträchtigen kann. Empfangspfad-ACLs gelten ebenfalls als Best Practice in Bezug auf die Netzwerksicherheit und müssen als langfristige Ergänzung zu guter Netzwerksicherheit sowie als Problemumgehung für diese spezifische Schwachstelle angesehen werden. Die CPU-Last wird auf die Linecard-Prozessoren verteilt und trägt dazu bei, die Last auf dem Hauptroutenprozessor zu reduzieren. Das Whitepaper GSR: Receive Access Control Lists unterstützt Sie bei der Identifizierung von legitimem Datenverkehr. In diesem Whitepaper erfahren Sie, wie Sie legitimen Datenverkehr an Ihr Gerät senden und unerwünschte Pakete blockieren können.
Infrastruktur ACLs
Obwohl es oft schwierig ist, Datenverkehr zu blockieren, der durch Ihr Netzwerk fließt, ist es möglich, Datenverkehr zu identifizieren, der niemals Ihre Infrastrukturgeräte erreichen darf, und diesen Datenverkehr an der Grenze Ihres Netzwerks zu blockieren. Infrastruktur-ACLs (iACLs) gelten als Best Practice für die Netzwerksicherheit und müssen als langfristige Ergänzung zu guter Netzwerksicherheit sowie als Workaround für diese spezifische Schwachstelle betrachtet werden. Das Whitepaper Protecting Your Core: Infrastructure Protection Access Control Lists enthält Richtlinien und empfohlene Implementierungsverfahren für iACLs.
Sicherheitsfunktion für Cisco Catalyst LAN-Switches
Die Funktion "IP Permit List" (IP-Genehmigungsliste) schränkt den eingehenden Telnet- und SNMP-Zugriff von nicht autorisierten Quell-IP-Adressen auf den Switch ein. Syslog-Meldungen und SNMP-Traps werden unterstützt, um ein Managementsystem zu benachrichtigen, wenn eine Verletzung oder ein nicht autorisierter Zugriff auftritt.
Eine Kombination der Sicherheitsfunktionen der Cisco IOS Software kann zur Verwaltung von Routern und Cisco Catalyst Switches verwendet werden. Es muss eine Sicherheitsrichtlinie erstellt werden, die die Anzahl der Verwaltungsstationen begrenzt, die auf die Switches und Router zugreifen können.
Weitere Informationen zur Erhöhung der Sicherheit in IP-Netzwerken finden Sie unter Erhöhte Sicherheit in IP-Netzwerken .
Überprüfen von SNMP-Fehlern
Konfigurieren Sie die SNMP Community ACLs mit dem
log Schlüsselwort. Überwachung
syslog auf fehlgeschlagene Versuche, wie unten gezeigt.
access-list 10 deny any log
snmp-server community public RO 10
Wenn jemand versucht, über die Community auf den Router zuzugreifen, wird
syslog ähnlich wie hier eine angezeigt:
%SEC-6-IPACCESSLOGS: list 10 denied 172.16.1.15packet
Diese Ausgabe bedeutet, dass Zugriffsliste 10 fünf SNMP-Pakete vom Host 172.16.1.1 verweigert hat.
Überprüfen Sie SNMP mithilfe des
show snmp Befehls regelmäßig auf Fehler, wie hier gezeigt:
router#show snmp Chassis: 21350479 17005 SNMP packets input
37 Bad SNMP version errors**
15420 Unknown community name**
0 Illegal operation for community name supplied
1548 Encoding errors**
0 Number of requested variables
0 Number of altered variables
0 Get-request PDUs
0 Get-next PDUs
0 Set-request PDUs 0 SNMP packets output
0 Too big errors (Maximum packet size 1500)
0 No such name errors
0 Bad values errors
0 General errors
0 Response PDUs
0 Trap PDUs
Achten Sie auf die mit ** gekennzeichneten Zähler auf unerwartete Erhöhungen der Fehlerquoten, die auf eine versuchte Ausnutzung dieser Schwachstellen hinweisen können. Informationen zum Melden von Sicherheitsproblemen finden Sie unter Cisco Product Security Incident Response.
Zugehörige Informationen
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
3.0 |
14-Mar-2024 |
Rezertifizierung |
2.0 |
16-Jan-2023 |
Richtige Nutzung. Korrigieren Sie CCW-Warnungen. Rezertifizierung. |
1.0 |
22-Feb-2002 |
Erstveröffentlichung |