SNMP

Aus Gude Systems GmbH
Zur Navigation springen Zur Suche springen

SNMP kann dazu verwendet werden, um Statusinformationen über UDP (Port 161) zu erhalten. Unterstützte SNMP Befehle:

  • GET
  • GETNEXT
  • GETBULK
  • SET


Um per SNMP abzufragen benötigen Sie ein Network Management System, wie z.B. HP-OpenView, OpenNMS, Nagios, etc., oder die einfachen Kommandozeilen-Tools der NET-SNMP Software. Das Gerät unterstützt die SNMP Protokolle v1, v2c und v3. Sind in der Konfiguration Traps aktiviert, werden die auf dem Gerät erzeugten Messages als Notifications (Traps) versendet. SNMP Informs werden nicht unterstützt. SNMP Requests werden mit der gleichen Version beantwortet, mit der sie verschickt wurden. Die Version der versendeten Traps lässt sich in der Konfiguration einstellen.

MIB Tabellen


Die Werte, die vom Gerät ausgelesen bzw. verändert werden können, die so genannten "Managed Objects", werden in Management Information Bases (kurz MIBs) beschrieben. Diesen Teilstrukturen sind sogenannte OIDs (Object Identifiers) untergeordnet. Eine OID-Stelle steht für den Ort eines Wertes innerhalb der MIB-Struktur. Jeder OID kann alternativ mit seinem Symbolnamen (subtree name) bezeichnet werden. Die MIB Tabelle dieses Gerätes kann aus der SNMP Konfigurationsseite mit einem Klick auf den Link "MIB table" im Browser als Textdatei angezeigt werden.

SNMP v1 und v2c


SNMP v1 und v2c authentifiziert die Netzwerkanfragen anhand sogenannter "Communities". Der SNMP-Request muss bei Abfragen (Lesezugriff) die sogenannte "public Community", und bei Zustandsänderungen (Schreibzugriff) die "private Community" mitsenden. Die SNMP-Communities sind Lese- bzw. Schreibpasswörter. Bei den SNMP Versionen v1 und v2c werden die Communities unverschlüsselt im Netzwerk übertragen und können innerhalb dieser Kollisionsdomäne also leicht mit IP-Sniffern abgehört werden. Zur Begrenzung des Zugriffs empfehlen wir den Einsatz innerhalb einer DMZ bzw. die Verwendung der IP-ACL.

SNMP v3


Da das Gerät keine Mehrbenutzerverwaltung kennt, wird auch in SNMP v3 nur ein Benutzer (default name "standard") erkannt. Aus den User-based Security Model (USM) MIB Variablen gibt es eine Unterstützung der "usmStats..." Zähler. Die "usmUser..."
Variablen werden mit der Erweiterung für weitere Nutzer in späteren Firmwareversionen hinzugefügt. Das System kennt nur einen Kontext. Das System akzeptiert den Kontext "normal" oder einen leeren Kontext.


Authentifizierung

Zur Authentifizierung werden die Algorithmen "HMAC-MD5-96" und "HMAC-SHA-96" angeboten. Zusätzlich sind die "HMAC-SHA-2" Varianten (RFC7630) "SHA-256",
"SHA-384" und "SHA-512" implementiert.
Wichtig zeichen.png "SHA-384" und "SHA-512" werden rein in Software berechnet. Werden auf der Konfigurationsseite "SHA-384" oder "SHA-512" eingestellt, können einmalig bis zu ca. 45 Sekunden für die Schlüsselerzeugung vergehen.


Verschlüsselung

Die Verfahren "DES", "3DES", "AES-128", "AES-192" und "AES-256" werden in Kombination mit "HMAC-MD5-96" und "HMAC-SHA-96" unterstützt. Für die "HMAC-SHA-2" Protokolle gibt es zur Zeit weder ein RFC noch ein Draft, das eine Zusammenarbeit mit einer Verschlüsselung ermöglicht.
Wichtig zeichen.png Während bei der Einstellung "AES-192" und "AES-256" die Schlüssel nach "draftblumenthal-aes-usm-04" berechnet werden, benutzen die Verfahren "AES-192- 3DESKey" und "AES-256-3DESKey" eine Art der Schlüsselerzeugung, die auch beim "3DES" ("draft-reeder-snmpv3-usm-3desede-00") eingesetzt wird. Ist man kein SNMP Experte, empfiehlt es sich, jeweils die Einstellungen mit und ohne "...-3DESKey" auszuprobieren.


Passwörter
Die Passwörter für Authentifizierung und Verschlüsselung sind aus Sicherheitsgründen nur als berechnete Hashes abgespeichert. So kann, wenn überhaupt, nur sehr schwer auf das Ausgangspasswort geschlossen werden. Die Berechnung des Hashes ändert sich aber mit den eingestellten Algorithmen. Werden die Authentication oder Privacy Algorithmen geändert, müssen im Konfigurationsdialog die Passwörter wieder neu eingegeben werden.

Sicherheit


Folgende Aspekte gibt es zu beachten:

  • Sollen Verschlüsselung oder Authentifizierung zum Einsatz kommen, dann SNMP v1 und v2c ausschalten, da sonst darüber auf das Gerät zugegriffen werden kann.
  • Wird nur authentifiziert, dann sind die neuen "HMAC-SHA-2" Verfahren den MD5 oder SHA-1 Hashing Algorithmen überlegen. Da nur SHA-256 in Hardware beschleunigt wird, und SHA-384 sowie SHA-512 rein in Software berechnet werden, sollte man im Normalfall SHA-256 auswählen. Vom kryptographischen Standpunkt reicht die Sicherheit eines SHA-256 zur Zeit vollkommen aus.
  • Für SHA-1 gibt es derzeit etwas weniger Angriffsszenarien als für MD5. Im Zweifelsfall ist SHA-1 vorzuziehen.
  • Die Verschlüsselung "DES" gilt als sehr unsicher, nur im Notfall aus Kompatibilitätsgründen einsetzen!
  • Es gilt bei Kryptologen als umstritten, ob "HMAC-MD5-96" und "HMAC-SHA-96" genügend Entropie für die Schlüssellängen von "AES-192" oder "AES-256" aufbringen können.
  • Ausgehend von den vorhergehenden Betrachtungen empfehlen wir zur Zeit "HMACSHA-96" mit "AES-128" als Authentifizierung und Verschlüsselung.

Änderung im Trap-Design


Wichtig zeichen.png In älteren MIB-Tabellen wurde für jede Kombination aus einem Event und einer Portnummer ein eigener Trap definiert. Dies führt bei den Geräten zu längeren Listen von Trap-Definitionen. Z.B. von epc8221SwitchEvtPort1 bis epc8221SwitchEvtPort12. Da neue Firmwareversionen viel mehr verschiedene Events generieren können, produziert dieses Verhalten schnell mehrere hundert Trap-Definitionen. Um diese Überfülle an Trap-Definitionen einzuschränken, wurde das Trap-Design so verändert, das für jeden Event-Typ nur ein bestimmter Trap erzeugt wird. Die Port- oder Sensornummer wird jetzt im Trap als Index OID innerhalb der "variable bindings" zur Verfügung gestellt.
Damit diese Änderung direkt erkannt wird, wurde der "Notification" Bereich in der MIB Tabelle von sysObjectID.0 nach sysObjectID.3 verschoben. So werden erstmal nicht identifizierte events generiert, bis die neue MIB Tabelle eingespielt wird. Aus Kompatibilitätsgründen werden SNMP v1 Traps genauso erzeugt wie früher.

NET-SNMP


NET-SNMP bietet eine sehr weit verbreitete Sammlung von SNMP Kommandozeilen Tools (snmpget, snmpset, snmpwalk, etc.) NET-SNMP ist u.a. für Linux und Windows verfügbar. Nach der Installation von NET-SNMP sollten Sie die Gerätespezifische MIB des Geräts in das "share" Verzeichnis von NET-SNMP legen, z.B. nach

c:\usr\share\snmp\mibs

bzw.

/usr/share/snmp/mibs

So können Sie später anstatt der OIDs die 'subtree names' verwenden :

Name: snmpwalk -v2c -mALL -c public 192.168.1.232 gudeads
OID: snmpwalk -v2c -mALL -c public 192.168.1.232 1.3.6.1.4.1.28507

NET-SNMP Beispiele

Wichtig zeichen.png Diese Beispiele beziehen sich auf Gude Geräte die schaltbare Ports haben.

Power Port 1 Schaltzustand abfragen:

snmpget -v2c -mALL -c public 192.168.1.232 epc822XPortState.1

Power Port 1 einschalten:

snmpset -v2c -mALL -c private 192.168.1.232 epc822XPortState.1 integer 1

MBI Tabelle


Es folgt eine Tabelle aller gerätespezifischen OID's die über SNMP angesprochen werden können. Bei der numerischen OID Darstellung wurde der Präfix "1.3.6.1.4.1.28507" zur Gude Enterprise OID aus Platzgründen bei jedem Eintrag in der Tabelle weggelassen.
Die komplette OID würde daher z.B. "1.3.6.1.4.1.28507.85.1.1.1.1" lauten. Man unterscheidet in SNMP bei OID's zwischen Tabellen und Skalaren. OID Skalare haben die Endung ".0" und spezifizieren nur einen Wert. Bei SNMP Tabellen wird das "x" durch einen Index (1 oder größer) ersetzt, um einen Wert aus der Tabelle zu adressieren.
Gut zu wissen: Im Webserver auf jedem Gerät finden Sie die MIB Tabelle unter dem Reiter SNMP. Zusätzlich können Sie die MIB Tabellen auch auf unserer Website unter Downloads herunterladen.

Name Description OID Type Acc.
epc8045TrapCtrl 0 = off 1 = Ver. 1 2 = Ver. 2c 3 = Ver. 3 87.1.1.1.1.0 Integer32 RW
epc8045TrapIPIndex A unique value, greater than zero, for each receiver slot. .87.1.1.1.2.1.1.x Integer32 RO
epc8045TrapAddr DNS name or IP address specifying one Trap receiver slot. A port can

optionally be specified: 'name:port' An empty string disables this slot.

.87.1.1.1.2.1.2.x OCTETS RW
epc8045portNumber The number of Relay Ports .87.1.3.1.1.0 Integer32 RO
epc8045PortIndex A unique value, greater than zero, for each Relay Port. .87.1.3.1.2.1.1.x Integer32 RO
epc8045PortName A textual string containing name of a Relay Port. OCTETS RW
epc8045PortState current state of a Relay Port .87.1.3.1.2.1.3.x INTEGER RW
epc8045PortSwitchCount The total number of switch actions ocurred on a Relay Port. Does not

count switch commands which will not switch the ralay state, so just real relay switches are displayed here.

.87.1.3.1.2.1.4.x Integer32 RO
epc8045PortStartupMode set Mode of startup sequence (off, on , remember last state) .87.1.3.1.2.1.5.x INTEGER RW
epc8045PortStartupDelay Delay in sec for startup action .87.1.3.1.2.1.7.x Integer32 RW
epc8045PortRepowerTime Delay in sec for repower port after switching off .87.1.3.1.2.1.7.x Integer32 RW
epc8045PortResetDuration Delay in sec for turning Port on again after Reset action .87.1.3.1.2.1.8.x Integer32 RW
epc8045Buzzer turn Buzzer on and off .87.1.3.10.0 Integer32 RW
epc8045ActivePowerChan Number of suppported Power Channels. .87.1.5.1.1.0 Unsigned32 RO
epc8045PowerIndex Index of Power Channel entries .87.1.5.1.2.1.1.x Integer32 RO
epc8045ChanStatus 0 = data not active, 1 = data valid .87.1.5.1.2.1.2.x Integer32 RO
epc8045AbsEnergyActive Absolute Active Energy counter. .87.1.5.1.2.1.3.x Gauge32 RO
epc8045PowerActive Active Power .87.1.5.1.2.1.4.x Integer32 RO
epc8045Current Actual Curent on Power Channel. .87.1.5.1.2.1.5.x Gauge32 RO
epc8045Voltage Actual Voltage on Power Channel .87.1.5.1.2.1.6.x Gauge32 RO
epc8045Frequency Frequency of Power Channel .87.1.5.1.2.1.7.x Gauge32 RO
epc8045PowerFactor Power Factor of Channel between -1.0 and 1.00 .87.1.5.1.2.1.8.x Integer32 RO
epc8045Pangle Phase Angle between Voltage and L Line Current between -180.0 and 180.0 .87.1.5.1.2.1.9.x Integer32 RO
epc8045PowerApparent L Line Mean Apparent Power .87.1.5.1.2.1.10.x Integer32 RO
epc8045PowerReactive L Line Mean Reactive Power .87.1.5.1.2.1.11.x Integer32 RO
epc8045AbsEnergyReactive Absolute Reactive Energy counter. .87.1.5.1.2.1.12.x Gauge32 RO
epc8045AbsEnergyActiveResettable Resettable Absolute Active Energy counter. Writing '0' resets all

resettable counter.

.87.1.5.1.2.1.13.x Gauge32 RW
epc8045AbsEnergyReactiveResettable Resettable Absolute Reactive Energy counter. .87.1.5.1.2.1.14.x Gauge32 RO
epc8045ResetTime Time in seconds since last Energy Counter reset. Gauge32 RO
epc8045ForwEnergyActive Forward Active Energy counter. .87.1.5.1.2.1.16.x Gauge32 RO
epc8045ForwEnergyReactive Forward Reactive Energy counter. .87.1.5.1.2.1.17.x Gauge32 RO
epc8045ForwEnergyActiveResettable Resettable Forward Active Energy counter. .87.1.5.1.2.1.18.x Gauge32 RO
epc8045ForwEnergyReactiveResettable Resettable Forward Reactive Energy counter. .87.1.5.1.2.1.19.x Gauge32 RO
epc8045RevEnergyActive Reverse Active Energy counter. .87.1.5.1.2.1.20.x Gauge32 RO
epc8045RevEnergyReactive Reverse Reactive Energy counter. .87.1.5.1.2.1.21.x Gauge32 RO
epc8045RevEnergyActiveResettable Resettable Reverse Active Energy counter. .87.1.5.1.2.1.21.x Gauge32 RO
epc8045RevEnergyActiveResettable Resettable Reverse Active Energy counter. .87.1.5.1.2.1.22.x Gauge32 RO
epc8045RevEnergyReactiveResettable Resettable Reverse Reactive Energy counter. .87.1.5.1.2.1.23.x Gauge32 RO
epc8045ResidualCurrent Actual Residual Current on Power Channel. According Type A IEC

60755. Only visible on models that support this feature.

.87.1.5.1.2.1.24.x Unsigned32 RO
epc8045LineSensorName A textual string containing name of a Line Sensor .87.1.5.1.2.1.100.x OCTETS RW
epc8045OVPIndex None .87.1.5.2.1.1.x Integer32 RO
epc8045OVPStatus shows the status of the built-in Overvoltage Protection .87.1.5.2.1.2.x INTEGER RO
epc8045spActivePowerChan Number of Single Port Power Channels. Value is zero on EPC 8220 series. .87.1.5.5.1.0 Unsigned32 RO
epc8045spPowerIndex Index of Single Port Power Channel entries. Indices 0-5 mean Ports A1

to A6, 6-11 are Ports B1 to B6.

.87.1.5.5.2.1.1.x Integer32 RO
epc8045spChanStatus 0 = data not active, 1 = data valid .87.1.5.5.2.1.2.x Integer32 RO
epc8045spAbsEnergyActive Absolute Active Energy counter. .87.1.5.5.2.1.3.x Gauge32 RO
epc8045spPowerActive Active Power .87.1.5.5.2.1.4.x Integer32 RO
epc8045spCurrent Actual Curent on Power Channel. .87.1.5.5.2.1.5.x Gauge32 RO
epc8045spVoltage Actual Voltage on Power Channel .87.1.5.5.2.1.6.x Gauge32 RO
epc8045spFrequency Frequency of Power Channel .87.1.5.5.2.1.7.x Gauge32 RO
epc8045spPowerFactor Power Factor of Channel between -1.0 and 1.00 .87.1.5.5.2.1.8.x Integer32 RO
epc8045spPangle Phase Angle between Voltage and L Line Current between -180.0 and 180.0 .87.1.5.5.2.1.9.x Integer32 RO
epc8045spPowerApparent L Line Mean Apparent Power .87.1.5.5.2.1.10.x Integer32 RO
epc8045spPowerReactive L Line Mean Reactive Power .87.1.5.5.2.1.11.x Integer32 RO
epc8045spAbsEnergyReactive Absolute Reactive Energy counter. .87.1.5.5.2.1.12.x Gauge32 RO
epc8045spAbsEnergyActiveResettable Resettable Absolute Active Energy counter. Writing '0' resets all resettable counter. .87.1.5.5.2.1.13.x Gauge32 RW
epc8045spAbsEnergyReactiveResettable Resettable Absolute Reactive Energy counter. .87.1.5.5.2.1.14.x Gauge32 RO
epc8045spResetTime Time in seconds since last Energy Counter reset. .87.1.5.5.2.1.15.x Gauge32 RO
epc8045spForwEnergyActive Forward Active Energy counter. .87.1.5.5.2.1.16.x Gauge32 RO
epc8045spForwEnergyReactive Forward Reactive Energy counter. .87.1.5.5.2.1.17.x Gauge32 RO
epc8045spForwEnergyActiveResettable Resettable Forward Active Energy counter. .87.1.5.5.2.1.18.x Gauge32 RO
epc8045spForwEnergyReactiveResettable Resettable Forward Reactive Energy counter. .87.1.5.5.2.1.19.x Gauge32 RO
epc8045spRevEnergyActive Reverse Active Energy counter. .87.1.5.5.2.1.20.x Gauge32 RO
epc8045spRevEnergyReactive Reverse Reactive Energy counter. .87.1.5.5.2.1.21.x Gauge32 RO
epc8045spRevEnergyActiveResettable Resettable Reverse Active Energy counter. .87.1.5.5.2.1.22.x Gauge32 RO
epc8045spRevEnergyReactiveResettable Resettable Reverse Reactive Energy counter. .87.1.5.5.2.1.23.x Gauge32 RO
epc8045CPUSensorVsystem System Voltage on CPU Board .87.1.5.14.1.0 Gauge32 RO
epc8045CPUSensorVaux Auxiliary Voltage on CPU Board .87.1.5.14.2.0 Gauge32 RO
epc8045CPUSensorVmain Main Voltage on CPU Board .87.1.5.14.3.0 Gauge32 RO
epc8045CPUSensorTcpu Temperature on CPU Board .87.1.5.14.4.0 Integer32 RO
epc8045NTPTimeValid Show if valid Time is received .87.1.5.15.1.0 INTEGER RO
epc8045NTPUnixTime show received NTP time as unixtime (secs since 1 January 1970) .87.1.5.15.2.0 Unsigned32 RO
epc8045NTPLastValidTimestamp show seconds since last valid NTP timestamp received .87.1.5.15.3.0 Unsigned32 RO
epc8045RCMBInfoIndex Index of RCMB Info entries .87.1.5.16.1.1.x Integer32 RO
epc8045RCMBCurrentRMS Actual Residual Current RMS on Power Channel. According Type B IEC 60755. Only visible on models that support this feature. .87.1.5.16.1.2.x Unsigned32 RO
epc8045RCMBlCurrentDC Actual Residual Current DC on Power Channel. According Type B IEC

60755. Only visible on models that support this feature.

.87.1.5.16.1.3.x Unsigned32 RO
epc8045RCMBOutputRMS shows the output S1 of the RCMB module .87.1.5.16.1.4.x INTEGER RO
epc8045RCMBOutputDC shows the output S2 of the RCMB module .87.1.5.16.1.5.x INTEGER RO
epc8045RCMBModuleStatus RCMB Module Status Word .87.1.5.16.1.6.x Unsigned32 RO
epc8045SensorIndex None .87.1.6.1.1.1.x Integer32 RO
epc8045TempSensor actual temperature .87.1.6.1.1.2.x Integer32 RO
epc8045HygroSensor actual humidity .87.1.6.1.1.3.x Integer32 RO
epc8045AirPressure actual air pressure .87.1.6.1.1.5.x Integer32 RO
epc8045DewPoint dew point for actual temperature and humidity .87.1.6.1.1.6.x Integer32 RO
epc8045DewPointDiff difference between dew point and actual temperature (Temp -

DewPoint)

.87.1.6.1.1.7.x Integer32 RO
epc8045ExtSensorName A textual string containing name of a external Sensor .87.1.6.1.1.32.x OCTETS RW
epc8045ExtActiveInputs Number of suppported Input Channels. .87.1.6.2.1.0 Unsigned32 RO
epc8045ExtInputIndex None .87.1.6.2.2.1.1.x Unsigned32 RO
epc8045ExtInput Input state of device .87.1.6.2.2.1.2.x INTEGER RO
epc8045ExtInputName A textual string containing name of the Input .87.1.6.2.2.1.32.x OCTETS RW
epc8045ExtInputPortNum Number of external Sensor Port when value greater zero, else device built-in Input. .87.1.6.2.2.1.33.x Integer32 RO
epc8045ExtInputBlockIndex Either index of device built-in Input, or index of Input in external sensor. .87.1.6.2.2.1.34.x Integer32 RO