Überwachung von Netzwerkausrüstung über SNMPv3 in Zabbix

In diesem Artikel widmen wir uns den Besonderheiten der Überwachung von Netzwerkausrüstung mithilfe des Protokolls SNMPv3. Wir werden über SNMPv3 sprechen, ich teile meine Erfahrungen zur Erstellung von umfassenden Vorlagen in Zabbix und zeige, was bei der Organisation von verteiltem Alerting in einem großen Netzwerk erreicht werden kann. Das SNMP-Protokoll ist entscheidend für die Überwachung von Netzwerkausrüstung, und Zabbix eignet sich hervorragend zur Überwachung einer Vielzahl von Objekten und zur Aggregation erheblicher Mengen eingehender Metriken.

Einige Worte zu SNMPv3

Lassen Sie uns mit dem Zweck des SNMPv3-Protokolls und seinen Anwendungsmöglichkeiten beginnen. Die Aufgaben von SNMP sind die Überwachung von Netzwerkgeräten und die grundlegende Verwaltung durch das Senden einfacher Befehle an diese (zum Beispiel das Ein- und Ausschalten von Netzwerkschnittstellen oder das Neustarten des Geräts).

Der Hauptunterschied zwischen dem SNMPv3-Protokoll und seinen Vorgängerversionen sind die klassischen Sicherheitsfunktionen [1-3], nämlich:

  • Authentifizierung (Authentication), die bestimmt, dass die Anfrage von einer vertrauenswürdigen Quelle stammt;
  • Verschlüsselung (Encryption), um die Offenlegung übertragener Daten bei deren Abfang durch Dritte zu verhindern;
  • Integrität (Integrity), also die Gewährleistung, dass das Paket bei der Übertragung nicht manipuliert wurde.

SNMPv3 setzt ein Sicherheitsmodell voraus, bei dem die Authentifizierungsstrategie für einen bestimmten Benutzer und die Gruppe, zu der er gehört, festgelegt wird (in früheren SNMP-Versionen wurde bei Anfragen vom Server zum Überwachungsobjekt nur die „Community“, eine Textzeichenfolge mit „Passwort“, im Klartext verglichen).

SNMPv3 führt das Konzept der Sicherheitsstufen ein – zulässige Sicherheitsniveaus, die die Einstellungen der Hardware und das Verhalten des SNMP-Agenten des Überwachungsobjekts bestimmen. Die Kombination aus Sicherheitsmodell und Sicherheitsstufe definiert, welcher Sicherheitsmechanismus bei der Verarbeitung des SNMP-Pakets verwendet wird [4].

Die Tabelle beschreibt die Kombinationen von Modellen und Sicherheitsstufen in SNMPv3 (die ersten drei Spalten habe ich im Original belassen):

Überwachung von Netzwerkausrüstung über SNMPv3 in Zabbix

Dementsprechend werden wir SNMPv3 im Authentifizierungsmodus mit Verschlüsselung verwenden.

Konfiguration von SNMPv3

Die Überwachung von Netzwerkgeräte erfordert eine einheitliche Konfiguration des SNMPv3-Protokolls sowohl auf dem Überwachungsserver als auch auf dem zu überwachenden Objekt.

Beginnen wir mit der Konfiguration des Cisco-Netzwerkgeräts. Die minimal erforderliche Konfiguration sieht wie folgt aus (wir verwenden die CLI zur Konfiguration, die Namen und Passwörter habe ich vereinfacht, um Verwirrung zu vermeiden):

snmp-server group snmpv3group v3 priv read snmpv3name 
snmp-server user snmpv3user snmpv3group v3 auth md5 md5v3v3v3 priv des des56v3v3v3
snmp-server view snmpv3name iso included

Die erste Zeile der snmp-server group definiert die SNMPv3-Benutzergruppe (snmpv3group), den Lesemodus (read) und das Zugriffsrecht der Gruppe snmpv3group zum Anzeigen bestimmter Äste des MIB-Baums des überwachten Objekts (snmpv3name legt in der weiteren Konfiguration fest, auf welche Äste des MIB-Baums die Gruppe snmpv3group zugreifen kann).

Die zweite Zeile des snmp-server-Befehls definiert den Benutzer snmpv3user, seine Zugehörigkeit zur Gruppe snmpv3group sowie die Verwendung der Authentifizierung md5 (das Passwort für md5 ist md5v3v3v3) und der Verschlüsselung des (das Passwort für des ist des56v3v3v3). Natürlich sollte statt des besser aes verwendet werden; hier führe ich es nur als Beispiel an. Außerdem kann beim Definieren des Benutzers eine Zugangsliste (ACL) hinzugefügt werden, die die IP-Adressen der Überwachungsserver regelt, die berechtigt sind, dieses Gerät zu überwachen – das ist auch eine Best Practice, aber ich möchte unser Beispiel nicht komplizieren.

Die dritte Zeile des snmp-server view-Befehls definiert den Code, der die Zweige des MIB-Baums snmpv3name festlegt, damit sie von der Benutzergruppe snmpv3group angefordert werden können. ISO ermöglicht es der Benutzergruppe snmpv3group, auf alle Objekte im MIB-Baum des Überwachungsobjekts zuzugreifen, anstatt eine strikte Definition eines bestimmten Zweigs vorzunehmen.

Eine ähnliche Konfiguration des Huawei-Geräts (ebenfalls im CLI) sieht folgendermaßen aus:

snmp-agent mib-view included snmpv3name iso
snmp-agent group v3 snmpv3group privacy read-view snmpv3name
snmp-agent usm-user v3 snmpv3user group snmpv3group
snmp-agent usm-user v3 snmpv3user authentication-mode md5 
            md5v3v3v3
snmp-agent usm-user v3 snmpv3user privacy-mode des56
            des56v3v3v3

Nachdem die Netzwerkgeräte konfiguriert sind, müssen wir den Zugriff vom Überwachungsserver über das SNMPv3-Protokoll überprüfen. Ich werde dafür snmpwalk verwenden:

snmpwalk -v 3 -u snmpv3user -l authPriv -A md5v3v3v3 -a md5 -x des -X des56v3v3v3 10.10.10.252

Überwachung von Netzwerkausrüstung über SNMPv3 in Zabbix

Ein anschaulicheres Werkzeug für die Abfrage bestimmter OID-Objekte mit MIB-Dateien ist snmpget:

Überwachung von Netzwerkausrüstung über SNMPv3 in Zabbix

Lassen Sie uns nun zur Konfiguration eines Standard-Datenpunkts für SNMPv3 im Rahmen des Zabbix-Templates übergehen. Zur Vereinfachung und Unabhängigkeit von MIB verwende ich numerische OIDs:

Überwachung von Netzwerkausrüstung über SNMPv3 in Zabbix

Ich verwende in den Hauptfeldern benutzerdefinierte Makros, da diese für alle Datenelemente im Template gleich sein werden. Sie können diese im Template einstellen, wenn in Ihrem Netzwerk alle Netzwerkgeräte identische SNMPv3-Einstellungen haben, oder auf Knotenebene, wenn die SNMPv3-Einstellungen für verschiedene Überwachungsobjekte unterschiedlich sind:

Überwachung von Netzwerkausrüstung über SNMPv3 in Zabbix

Bitte beachten Sie, dass das Überwachungssystem nur den Benutzernamen und die Passwörter für Authentifizierung und Verschlüsselung hat. Die Benutzergruppe und der Bereich der MIB-Objekte, auf die zugegriffen werden kann, werden im Überwachungsobjekt festgelegt.
Nun wenden wir uns der Ausfüllung des Templates zu.

Zabbix-Abfragetemplate

Eine einfache Regel bei der Erstellung von Umfragevorlagen ist, sie so detailliert wie möglich zu gestalten:

Überwachung von Netzwerkausrüstung über SNMPv3 in Zabbix

Ich lege großen Wert auf die Inventarisierung, um die Arbeit mit einem großen Netzwerk zu erleichtern. Dazu später mehr, aber zunächst die Trigger:

Überwachung von Netzwerkausrüstung über SNMPv3 in Zabbix

Zur besseren Visualisierung sind in den Titeln der Trigger systemische Makros {HOST.CONN} integriert, damit im Dashboard im Bereich der Alarmierung nicht nur die Gerätenamen, sondern auch die IP-Adressen angezeigt werden. Dies ist mehr eine Frage des Komforts als der Notwendigkeit. Um die Unerreichbarkeit eines Geräts zu bestimmen, verwende ich neben dem normalen Echo-Request auch eine Überprüfung der Unerreichbarkeit des Knotens über das SNMP-Protokoll, wenn das Objekt über ICMP erreichbar ist, aber nicht auf SNMP-Anfragen reagiert – eine solche Situation kann beispielsweise bei doppelten IP-Adressen auf verschiedenen Geräten, durch falsch konfigurierte Firewalls oder fehlerhafte SNMP-Einstellungen an den Überwachungsobjekten auftreten. Wenn die Überprüfung der Knotenerreichbarkeit nur über ICMP erfolgt, könnten während der Untersuchung von Vorfällen im Netzwerk möglicherweise keine Überwachungsdaten vorliegen, daher muss deren Eingabe kontrolliert werden.

Lassen Sie uns mit der Erkennung von Netzwerkinterfaces beginnen – dies ist die wichtigste Überwachungsfunktion für Netzwerkgeräte. Da auf einem Netzwerkgerät Hunderte von Interfaces vorhanden sein können, ist es notwendig, unerwünschte zu filtern, um die Visualisierung nicht zu überladen und die Datenbank nicht zu verstopfen.

Ich verwende die Standard-SNMP-Entdeckungsfunktion mit vielen erkennbaren Parametern für eine flexiblere Filterung:

discovery[{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7]

Überwachung von Netzwerkausrüstung über SNMPv3 in Zabbix

Mit dieser Erkennung können Netzwerkinterfaces nach ihren Typen, benutzerdefinierten Beschreibungen und administrativen Portstatus gefiltert werden. Die Filter und regulären Ausdrücke zur Filterung sehen in meinem Fall wie folgt aus:

Überwachung von Netzwerkausrüstung über SNMPv3 in Zabbix

Überwachung von Netzwerkausrüstung über SNMPv3 in Zabbix

Bei der Erkennung werden folgende Interfaces ausgeschlossen:

  • manuell deaktivierte (adminstatus<>1), dank IFADMINSTATUS;
  • die keine textuelle Beschreibung haben, dank IFALIAS;
  • die ein Symbol * in der textlichen Beschreibung haben, dank IFALIAS;
  • die Dienst- oder technische Interfaces sind, dank IFDESCR (in meinem Fall werden die regulären Ausdrücke IFALIAS und IFDESCR mit einem einzigen regulären Ausdruck alias überprüft).

Die Vorlage zur Datenerfassung über das SNMPv3-Protokoll ist fast fertig. Lassen Sie uns nicht näher auf die Prototypen der Datenelemente für Netzwerkschnittstellen eingehen und stattdessen zu den Ergebnissen übergehen.

Überblick der Überwachung

Zunächst – die Inventarisierung eines kleinen Netzwerks:

Überwachung von Netzwerkausrüstung über SNMPv3 in Zabbix

Wenn Vorlagen für jede Serie von Netzgeräten vorbereitet werden, lässt sich eine benutzerfreundliche Anordnung der zusammengefassten Daten zu aktueller Software, Seriennummern und Benachrichtigung über das Eintreffen von Reinigungspersonal im Serverraum (aufgrund geringer Uptime) erzielen. Eine Zusammenstellung meiner Vorlagenliste finden Sie unten:

Überwachung von Netzwerkausrüstung über SNMPv3 in Zabbix

Und nun – das Hauptüberwachungs-Dashboard, mit nach Dringlichkeit sortierten Triggern:

Überwachung von Netzwerkausrüstung über SNMPv3 in Zabbix

Dank eines ganzheitlichen Ansatzes zur Vorlagenentwicklung für jedes Gerätemodell im Netzwerk kann innerhalb eines Monitoring-Systems ein Instrument zur Vorhersage von Störungen und Ausfällen eingerichtet werden (vorausgesetzt, die entsprechenden Sensoren und Metriken sind vorhanden). Zabbix eignet sich hervorragend zur Überwachung von Netzwerk-, Server- und Dienstinfrastrukturen, und die Aufgabe der Wartung von Netzwerkgeräten veranschaulicht eindrucksvoll ihre Möglichkeiten.

Verwendete Quellen:1. Hucaby D. CCNP Routing and Switching SWITCH 300-115 Official Cert Guide. Cisco Press, 2014. S. 325-329.
2. RFC 3410. tools.ietf.org/html/rfc3410
3. RFC 3415. tools.ietf.org/html/rfc3415
4. SNMP-Konfigurationshandbuch, Cisco IOS XE Release 3SE. Kapitel: SNMP Version 3. www.cisco.com/c/en/us/td/docs/ios-xml/ios/snmp/configuration/xe-3se/3850/snmp-xe-3se-3850-book/nm-snmp-snmpv3.html

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster