Die größte Schwäche von SNMP war immer die mangelnde Sicherheit des Protokolls. So gab es für den Zugriffsschutz auf die Ressourcen eines SNMP-fähigen Geräts nur den sogenannten Community-String, ein einfaches unverschlüsseltes Passwort ohne Benutzernamen. Ohne weiteren Schutz waren damit selbst Brute-Force-Angriffe ein Kinderspiel, etwa mit Onesixtyone [2]. SNMPv2 führte einige Maßnahmen für mehr Sicherheit ein, die sich aber in der Praxis kaum durchsetzten.
Erst SNMPv3, das im Jahr 2003 standardisiert wurde, erweiterte den Zugriffsschutz so, dass er einerseits umfassend und andererseits so einfach war, dass ihn die Anwender auch einsetzen wollten. Mit dem neuen Protokoll gibt es nun Authentifizierung mit Benutzernamen und einem verschlüsselten Passwort. Gleichzeitig stellt das Protokoll sicher, dass SNMP-Pakete nicht unterwegs abgehört oder modifiziert werden. Wer besonders sicher gehen will, verschlüsselt die SNMP-Verbindungen zwischen Management-System und Agent zusätzlich mit TLS.
SNMP ist weit verbreitet und das dominante Protokoll beim Netzwerk- und System-Management. Trotzdem gibt es einige Kritikpunkte. So erlaubt es die MIB-Spezifikation nicht, Beziehungen und Abhängigkeiten zwischen Objekten untereinander auszudrücken. Auch ist das Management (im Gegensatz zur reinen Überwachung) etwas unzuverlässig, denn es bietet beim Einstellen komplexer Konfigurationen keine Transaktionen. Also kann leicht ein inkonsistenter Zustand eintreten, wenn Teile der Konfigurationsanfragen umgesetzt werden und andere nicht.
Und natürlich gibt es auch mehr als genug Industriekonsortien, die immer neue Standards ins Leben rufen. In diesem Fall ist es die Distributed Management Task Force (DMTF), die aus den großen Namen der Industrie wie AMD, Cisco, EMC, Intel, Microsoft, Oracle und VMware besteht. Ihr jüngstes Produkt ist das Cloud Infrastructure Management Interface (CIMI), das ein standardisiertes Modell für das Management von Clouds werden soll. Darum soll es aber jetzt nicht gehen, sondern um ein älteres Produkt der DMTF-Standardisierung, nämlich das Common Information Model (CIM, [3]) und das Web-Based Enterprise Management (WBEM, [4]), die zusammen eine ähnliche Funktion erfüllen wie SNMP (siehe Abbildung 2).
Das CIM übernimmt dabei die Funktion der SNMP-MIB und definiert die gemanageten Objekte einer IT-Umgebung. CIM orientiert sich dabei an der Unified Modeling Language (UML) und erlaubt es, auch Klassen und Vererbung zu repräsentieren. Protokolle zur Übertragung übers Netz (etwa HTTP), Abfragesprache, Discovery und Ähnliches übernimmt das WBEM. In Dateien sind die CIM-Daten wiederum im MOF-Format abgelegt (Managed Object Format). Auch an die Sicherheit wurde bei der Spezifikation von WBEM gedacht: Der Zugriff lässt sich rollenbasiert oder über ACLs (Access Control Lists) regeln.
Wie bereits erwähnt, setzen die Windows-Server-Produkte seit Server 2012 statt auf SNMP von Haus aus auf CIM (beziehungsweise ihre spezielle Variante WMI). Tatsächlich hat Microsoft sogar einen "CIM/WBEM Manageability Services Broker" geschrieben und unter einer freien Lizenz verfügbar gemacht, der auf Linux- und Unix-Systemen läuft und jetzt bei der Opengroup sein Zuhause hat [5]. Er findet allerdings in Linux-Distributionen keinen Einsatz.
Aber natürlich müssen Linux-Admins auf die standardisierten Management-Protokolle nicht verzichten. Ubuntu setzt wie Red Hat Enterprise Linux und Suse Linux Enterprise Server auf den Small Footprint CIM Broker »sfcb
«
des SBLIM-Projekts, das WBEM für Linux implementiert [6]. In älteren Versionen der Enterprise-Distributionen fanden noch die Alternativen OpenWBEM (SLES 10) und OpenPegasus (RHEL 5) Verwendung, von denen letzter immer noch in Fedora zu finden ist. Über einen Kommandozeilen-Client lassen sich die WBEM-/CIM-Informationen dann beispielsweise nach folgendem Schema abrufen: »wbemcli ecn https://root@localhost/root/cimv2
«
. Dieser Befehl zeigt – bei erfolgreicher Authentifizierung – alle CIM-Klassen an.