Netzwerkmanagement, Analyse und Werkzeuge - SNMP

10
Netzwerkmanagement, Analyse und Werkzeuge (Praktikum) Aufgabe 4: SNMP Sommersemester 2007 Fakultät Informatik verfasst von: Lukas Kallies Andreas Thienemann 26. Juni 2007

description

Eine kurze Einführung in SNMP mit Beispielaufgaben. Entstanden im Rahmen eines Praktikums zur Vorlesung Netzwerkmanagement.

Transcript of Netzwerkmanagement, Analyse und Werkzeuge - SNMP

Page 1: Netzwerkmanagement, Analyse und Werkzeuge - SNMP

Netzwerkmanagement, Analyse und Werkzeuge

(Praktikum)

Aufgabe 4: SNMP

Sommersemester 2007

Fakultät Informatik

verfasst von:

Lukas KalliesAndreas Thienemann

26. Juni 2007

Page 2: Netzwerkmanagement, Analyse und Werkzeuge - SNMP
Page 3: Netzwerkmanagement, Analyse und Werkzeuge - SNMP

Inhaltsverzeichnis1 Einleitung.................................................................................................................2

1.1 Was ist SNMP?...................................................................................................22 Installation und Konfiguration.................................................................................2

2.1 Anpassung des Systems...................................................................................22.2 Teil 1: Abfragen von SNMP-Informationen........................................................2

SusiDerkins (141.28.64.210).............................................................................3 Calvin (141.28.64.200)......................................................................................4 Rosalyn (141.28.64.209)...................................................................................6 Moe (141.28.64.205).........................................................................................6 TracerBullet (141.28.64.204).............................................................................6

2.3 Teil 2: Setzen von SNMP-Informationen...........................................................63 Anhang.....................................................................................................................7

3.1 Quellen..............................................................................................................7

i

Page 4: Netzwerkmanagement, Analyse und Werkzeuge - SNMP

Einleitung

1 EinleitungKauft man heute Geräte wie Switche, Router oder AccessPoints sind diese meist schon in den kleinsten Varianten SNMP-fähig. Doch welche Funktionalität bietet SNMP und wie kann man diese nutzen?

1.1 Was ist SNMP?

Aufgabenstellung: „Beschäftigen Sie sich mit SNMP. Was ist es? Wozu dient es? Vorteile/Nachteile?“

Das Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Geräte in einem Netzwerk zentral überwachen und steuern zu können. SNMP wird von vielen Geräten wie Routern, Switches, Servern, Workstations, Druckern, Modem-Racks und Unterbrechungsfreien Stromversorgungen (USV) unterstützt. SNMP kann in komplexen wie auch in einfachen Szenarien eingesetzt werden, so beispielsweise zum einfachen Überwachen von Interfaces (siehe hierzu auch die MRTG Aufgabe) oder um Änderungen an den Geräten zu tätigen. Dies kann auch automatisch durch Skripte geschehen, die Informationen auslesen und bei Änderungen reagieren.

Da SNMP sehr einfach aufgebaut und daher sehr verbreitet ist gibt es unzählige Geräte, welche SNMP-fähig sind. Um die Komplexität von SNMP gering zu halten wurde bei der Entwicklung fast gänzlich verzichtet. In der ersten Version (SNMPv1) sowie in einigen Unterversionen der zweiten Version (z.B. SNMPv2c) wurden so genannte Communitystrings verwendet um Benutzer zu Authentifizieren und zu Autorisieren. Dabei wird ein String sozusagen als Kombination aus Benutzername und Passwort verwendet. Die Kenntnis dieses Strings erlaubt lesenden und/oder schreibenden Zugriff auf Daten der SNMP-Geräte. Da bei SNMPv1 und SNMPv2c keine Verschlüsselung verwendet wird, ist es ein leichtes die Communitystrings mit zu sniffen und so Zugriff auf die Geräte zu bekommen.

2 Installation und Konfiguration

2.1 Anpassung des Systems

Am System selbst mussten von uns keine weiteren Anpassungen mehr durchgeführt werden. Dies wurde bereits bei der Konfiguration von Nagios getan.

2.2 Teil 1: Abfragen von SNMP-Informationen

Aufgabenstellung: „Die Informationen der in Aufgabe 3 aufgeführten 3COM-Switches kann man mit SNMP leicht abgerufen werden.“

Auflistung der Switches aus Aufgabe 3:

● SusiDerkins (141.28.64.210)

● Calvin (141.28.64.200)

● Rosalyn (141.28.64.209)

2

Page 5: Netzwerkmanagement, Analyse und Werkzeuge - SNMP

Installation und Konfiguration

● Moe (141.28.64.205)

● TracerBullet (141.28.64.204)

Aufgabenstellung: „Beschreiben und dokumentieren Sie, welche SNMP-Aufrufe Sie nutzen und welche Informationen Sie erhalten. Es genügt, die IP 141.28.64.210 und 141.28.64.200 näher zu untersuchen. Von den restlichen genügt es, Objekt ID, Startzeit, Kontakt, Ort und Name des Gerätes auszulesen.“

Der Befehl „snmpwalk“ eignet sich um einen schnellen Überblick über die SNMP Variablen und Werte eines Gerätes zu bekommen. Will man allerdings spezifische Werte eines Gerätes abfragen eignet sich der Befehl „snmpget“.

SusiDerkins (141.28.64.210)

Eintrag Wert

Name Susi Derkins

Ort C214

Kontakt Prof. H. Frank

Objekt ID SNMPv2-SMI::enterprises.43.1.8.39

Startzeit (Uptime) (97668268) 11 days, 7:18:02.68

Kennt man den genauen Aufbau der MIB eines Gerätes nicht und will Informationen auslesen, ist es am einfachsten sich per „snmpwalk“ einen Überblick zu verschaffen und per „grep“ oder durch umleiten in eine Datei nach den gewünschten Informationen zu suchen. Später ist es dann sinnvoller mit gezielten Abfragen wie „snmpget“ an die Informationen zu kommen.

3

snmpwalk -v 1 -c public %IP% | grep -i %VALUE%# ## snmpget -v 1 -c public %IP% SNMPv2-MIB::sysContact.0# snmpget -v 1 -c public %IP% SNMPv2-MIB::sysObjectID.0# snmpget -v 1 -c public %IP% SNMPv2-MIB::sysName.0# snmpget -v 1 -c public %IP% SNMPv2-MIB::sysLocation.0# snmpget -v 1 -c public %IP% DISMAN-EVENT-MIB::sysUpTimeInstance

# snmpwalk -v 1 -c public 141.28.64.210 > 141.28.64.210.snmpwalk# ls -lh 141.28.64.210.snmpwalk-rw-r--r-- 1 kallies users 535K 2007-06-22 15:15 141.28.64.210.snmpwalk

Abbildung 1: Switch (SusiDerkins.foo.fh-furtwangen.de), Screenshot der Weboberfläche

Page 6: Netzwerkmanagement, Analyse und Werkzeuge - SNMP

Installation und Konfiguration

Aus den Werten der SNMP Variablen „IF-MIB::ifAlias“ geht hervor welche Ports für was verwendet werden (sofern diese ausgefüllt sind). Hierbei sind die physikalischen Ports 21 und 23 besonders interessant, da dies einerseits zum Switch Rosalyn in das AI-Lab (Port 21) und Port 23 zur Firewall führt. Zudem kann man an dieser Stelle die konfigurierten VLANs sehen:

● DefaultVlan

● ai

● projekt

● stud-dosen

● DMZ

● WLAN

● VoIP

● VPN

Calvin (141.28.64.200)

Eintrag Wert

Name calvin

Ort C 2.14

Kontakt Prof. H. Frank

Objekt ID SNMPv2-SMI::enterprises.43.10.27.4.1.2.11

Startzeit (Uptime) (335885222) 38 days, 21:00:52.22

Um an alle per SNMP auslesbaren Informationen zu kommen verwendeten wir auch hier den Befehl „snmpwalk“. Die Ausgabe haben wir in eine Datei umleiten lassen, welche auf 19717182 Byte (19MB, 336293 Zeilen) anwuchs. Da es sich bei der Ausgabe um reinen Text handelt und man bedenkt, dass lediglich Konfigurationsinformationen hinterlegt sind, ist diese Datenmenge enorm.

Der Switch besteht aus vier 3COM SuperStack 4200 Switches, welche über die Up/Down Ports (Ports 25 und 26, schwarze Kabel) zu einem Stack zusammengeführt sind. Dies erklärt auch die Menge an Daten die unser Befehl zurück geliefert hat.

4

# snmpwalk -v 1 -c public 141.28.64.200 > 141.28.64.200.snmpwalk# ls -lh 141.28.64.200.snmpwalk-rw-r--r-- 1 kallies users 19M 2007-06-22 17:14 141.28.64.200.snmpwalk

Page 7: Netzwerkmanagement, Analyse und Werkzeuge - SNMP

Installation und Konfiguration

Über die Angabe „Management Ports“ konnten wir bestimmen welche IPs den einzelnen Einheiten zugeordnet sind. Über die Verwendung von „host“ konnten wir nun auch deren Namen bestimmen.

Unit IP Name

1 141.28.64.200 calvin.foo.fh-furtwangen.de

2 141.28.64.201 hobbes.foo.fh-furtwangen.de

3 141.28.64.202 spiff.foo.fh-furtwangen.de

4 141.28.64.205 moe.foo.fh-furtwangen.de

Abbildung 2: Stacked Switch (calvin.foo.fh-furtwangen.de), Screenshots der Weboberfläche

5

# cat 141.28.64.200.snmpwalk | grep "Management Port"IF-MIB::ifDescr.199 = STRING: Management Port 141.28.64.200 on unit 1IF-MIB::ifDescr.299 = STRING: Management Port 141.28.64.201 on unit 2IF-MIB::ifDescr.399 = STRING: Management Port 141.28.64.202 on unit 3IF-MIB::ifDescr.499 = STRING: Management Port 141.28.64.205 on unit 4# host 141.28.64.200200.64.28.141.in-addr.arpa domain name pointer calvin.foo.fh-furtwangen.de.# host 141.28.64.201201.64.28.141.in-addr.arpa domain name pointer hobbes.foo.fh-furtwangen.de.# host 141.28.64.202202.64.28.141.in-addr.arpa domain name pointer spiff.foo.fh-furtwangen.de.# host 141.28.64.205205.64.28.141.in-addr.arpa domain name pointer moe.foo.fh-furtwangen.de.

Page 8: Netzwerkmanagement, Analyse und Werkzeuge - SNMP

Installation und Konfiguration

Rosalyn (141.28.64.209)

Eintrag Wert

Name Rosalyn

Ort B255 AI-LAB

Kontakt Prof. H. Frank

Objekt ID SNMPv2-SMI::enterprises.43.1.8.39

Startzeit (Uptime) (1029175447) 119 days, 2:49:14.47

Moe (141.28.64.205)

Eintrag Wert

Name calvin

Ort C 2.14

Kontakt Prof. H. Frank

Objekt ID SNMPv2-SMI::enterprises.43.10.27.4.1.2.11

Startzeit (Uptime) (1398715050) 161 days, 21:19:10.50

TracerBullet (141.28.64.204)

Eintrag Wert

Name Tracer Bullet

Ort -

Kontakt -

Objekt ID SNMPv2-SMI::enterprises.43.10.27.4.1.2.2

Startzeit (Uptime) (337647718) 39 days, 1:54:37.18

2.3 Teil 2: Setzen von SNMP-Informationen

Aufgabenstellung: „Modifizieren Sie den Ihnen zur Verfügung gestellten Host so, dass Sie SNMP-Felder setzen bzw. verändern können.

Beschreiben und dokumentieren Sie Ihr Vorgehen. Welche SNMP-Aufrufe benutzen Sie?“

6

# aptitude install snmpd# /etc/init.d/snmpd restart# snmpwalk -v 1 -c public localhost

Page 9: Netzwerkmanagement, Analyse und Werkzeuge - SNMP

Installation und Konfiguration

Da der SNMP Daemon noch nicht installiert war, wurde dieser nachträglich mit aptitude hinzugefügt. Nach dem Ändern der Konfiguration wurde der Dienst neu gestartet (ein einfaches reload hat wohl aufgrund eines Fehlers nicht funktioniert). Danach sind bereits SNMP Abfragen auf localhost möglich.

/etc/snmp/snmpd.conf

com2sec paranoid default publiccom2sec readonly default publiccom2sec readwrite default private

group MyROSystem v1 paranoidgroup MyROSystem v2c paranoidgroup MyROSystem usm paranoidgroup MyROGroup v1 readonlygroup MyROGroup v2c readonlygroup MyROGroup usm readonlygroup MyRWGroup v1 readwritegroup MyRWGroup v2c readwritegroup MyRWGroup usm readwrite

view all included .1 80view system included .iso.org.dod.internet.mgmt.mib-2.system

access MyROSystem "" any noauth exact system none noneaccess MyROGroup "" any noauth exact all none noneaccess MyRWGroup "" any noauth exact all all none

syslocation C2.14syscontact Lukas Kallies, Andreas Thienemann

Kommentiert man die Zeilen aus, in denen „paranoid“ vorkommt, kann man über den Community-String public die selben Werte wie die readwrite Community private abfragen. Aus Sicherheitsgründen können und sollten die Einträge aber bestehen bleiben.

Nun ist es bereits möglich Werte per SNMP zu setzen. So kann der Eintrag „sysName.0“ mit folgendem Kommando verändert werden:

Obiges Beispiel zeigt, wie der Wert von „Default“ auf „Testserver“ geändert wurde.

7

# snmpget -v 1 -c public localhost SNMPv2-MIB::sysName.0SNMPv2-MIB::sysName.0 = STRING: Default# snmpset -v 1 -c private localhost SNMPv2-MIB::sysName.0 s "Testserver"SNMPv2-MIB::sysName.0 = STRING: Testserver# snmpget -v 1 -c public localhost SNMPv2-MIB::sysName.0SNMPv2-MIB::sysName.0 = STRING: Testserver

Page 10: Netzwerkmanagement, Analyse und Werkzeuge - SNMP

Anhang

3 Anhang

3.1 Quellen

● Essential SNMP, Second Edition, Douglas R. Mauro and Kevin J. Schmidt, O'Reilly Media, Sebastopol

● http://de.wikipedia.org/wiki/Simple_Network_Management_Protocol Zugriff am 20.06.2007

● man 5 snmpd.conf (Version 08 Feb 2002)

8