SNMP unter Windows

Gerade in umfangreicheren Umgebungen wird ein Netzwerkmanagement auf Basis von SNMP erfolgen. SNMP dient nicht nur dazu, Router, Hubs und Switche zu überwachen, sondern kann auch dazu genutzt werden, Server und Dienste zu kontrollieren. Und genau das ist mit Windows möglich und damit auch mit Exchange.

SNMP einrichten

Windows NT bzw. Windows 200x kann schon von den ersten Tagen per SNMP abgefragt und auch beschrieben werden. Allerdings ist der Dienst nicht in der Standardinstallation enthalten. Sie müssen SNMP explizit über das Windows Setup nachinstallieren.

Der Dienst WMI SNMP-Anbieter erlaubt es, dass Programme über die WMI-Schnittstelle Anfragen an SNMP-Geräte weiter leiten können. Der umgekehrte Weg, dass per SNMP auch WMI-Befehle ausgeführt werden können, ist nicht möglich.

SNMP absichern

Durch die Installation des Dienstes ist prinzipiell der Zugriff auf SNMP des Servers möglich. Aber wie steht es mit der Sicherheit ?. Hier hat Microsoft mit jeder Version von Windows nachgebessert.

Betriebssystem Lesen Schreiben

WindowsNT4

Public von jeder IP-Adresse

private von jeder IP-Adresse

Windows 2000

Public von jeder IP-Adresse

kein

Windows 2003

Public nur localhost

kein

Bei Windows NT4 war dann der Zugriff von jedem anderen System mit der Community "Public" möglich. Das ist bei Windows 2000 noch eingeschränkt wurden und bei Windows 2003 noch weiter abgesichert. Schließlich kann per SNMP auch geschrieben werden, d.h. Sie können per SNMP z.B. eine Netzwerkkarte "Administrativ Down" setzen. Daher müssen Sie SNMP über die Eigenschaften des Dienstes konfigurieren:

Sie sollten die Liste der SNMP-Hosts pflegen, die den Server abfragen dürfen. Per Default darf niemand den SNMP-Dienst bei Windows 2003 abfragen und es ist auch keine Community gepflegt.

Die Community ist quasi der Benutzernamen, der bei einer Anfrage zu übermitteln ist und der SNMP-Dienst daran erkennt, was der Anfragende darf. Es gibt aber kein Kennwort !!. Sie können nun eine eigene SNMP-Community eingehen, die kaum zu erraten ist, aber leider geht eben diese Community in Klartext über das Netzwerk. Daher ist SNMP in der Basisversion nicht als sicher zu betrachten.  Nutzen Sie daher wirklich die Möglichkeit, IP-Adressen der anfragenden Systeme zu beschränken.

SNMP mit Regedit und GPOs steuern

Nun werden Sie natürlich sich fragen, Wie man auf vielen Servern die Einstellungen synchronisiert. Hierzu kennt Windows 2003 mittlerweile auch die Funktion, diese Einstellungen per Gruppenrichtlinien einzutragen. Aber auch für Windows NT4 und Windows 2000 können Sie ähnliche Lösungen schaffen. Die Einstellungen von SNMP liegen in der Registrierung:

Entsprechend können Sie einen bestehenden Server konfigurieren und die Einstellungen mit REGEDIT exportieren und auf allen anderen Systemen importieren.

Für Windows 2003 können diese Einstellungen auch über Gruppenrichtlinien durchgeführt werden. Dazu sind aber zuerst die SNMP Erweiterungen zu aktivieren unter

User Configuration\Administrative Templates\Windows Components\Microsoft Management Console\Restricted/Permitted snap-ins\Extension snap-ins

Und Sie müssen die aktuelle system.adm eventuell erst noch importieren, damit Sie die Einstellung für SNMP angezeigt bekommen.

Administrative Templates\Network\SNMP

Trügerische Sicherheit

Die Einstellung von eigenen Community Strings und die Beschränkung der Zugriffe von bestimmten IP-Adressen ist nur ein kleiner Schutz, der aber leicht zum umgehen ist.

So sind die beiden Schutzmechanismen "Community" und "Hostliste" einfach zu umgehen:

  • Community String
    Diese werden meist per Klartext übertragen und sind damit von anderen Personen abhörbar.
  • Allowed Hosts
    Absendende IP-Adressen können einfach gefälscht werden
    Der Rückweg zum Angreifer kann über ARP-Spoofing ermöglicht werden

Wenn Sie daher zuverlässig verhindern wollen, dass unerlaubte Systeme auf SNMP zugreifen, dann müssen Sie diese auf ein eigenes Subnetz, VLAN oder z.B. per IPSEC absichern. Wenn Sie per SNMP aber nur einen lesenden Zugriff zulassen, dann müssen Sie selbst überlegen, wie schwerwiegend es ist, wenn ein fremdes System bestimmte Betriebsdaten per SNMP abfragt.

Weitere Links

Folgende Links sollen Ihnen als Hinweis zu SNMP und Performance Monitor dienen. Bitte beachten Sie, dass SNMP prinzipiell sehr einfach funktioniert, aber die Implementation und Umsetzung nicht mehr "mausgestützt" ist, sondern Sie eventuell mit MIB-Compilern (MIBCC) und anderen kommandozeilengestützten Werkzeugen arbeiten müssen und in der Registrierung von Windows NT Einträge pflegen müssen. Das Risiko eines Fehlers ist recht hoch. Lassen sie daher die notwendige Vorsicht walten, oder nutzen sie externe Hilfe.