SNMP Treiber Konfiguration

Bevor Sie das SNMP-Feature verwenden können, müssen Sie den SNMP-Manager und die SNMP-Agents über die SNMP-Parametrierpanels parametrieren (Manager DP und Agent DP, der zu dem Manager DP gehört, erstellen).

Das Kapitel beschreibt die SNMP-Parametrierpanels für die Manager und Agent-Parametrierung. Öffnen Sie das SNMP-Parametrierpanel über System Management > Treiber > SNMP.

Das Panel zeigt die Agents für jeden SNMP-Manager. Zusätzlich können Sie neue SNMP-Manager und Agents erstellen.

Abbildung 1. SNMP-Parametrierung

SNMP-Manager

Die Agents "SNMPAgent1" und "SNMPAgent2" (siehe Abbildung oberhalb) gehören zu dem Manager mit der Nummer 1.

Ein SNMP-Manager kann aus der Combobox ausgewählt werden und die zu dem ausgewählten Manager gehörenden Agents, werden in der Tabelle angezeigt. Neue Manager können über die Neu-Schaltfläche erstellt werden. Es können Managers mit der Nummer im Bereich von 1 bis 255 erstellt werden. Die Managernummer 1 existiert standardmäßig.

Der ausgewählte Manager kann über Löschen-Schaltfläche gelöscht werden.

Anmerkung: Beachten Sie beim Löschen eines Managers, dass die bereits parametrierten Agents für diesen Manager nicht gelöscht werden!

SNMP Agents

SNMP-Agents werden von den SNMP-Managern abgefragt. Neue SNMP-Agents können über Neu-Schaltfläche erstellt werden. Die neuen Agents werden über das folgende Panel erstellt.

Abbildung 2. SNMP-Agent anlegen
SNMP Manager

Zeigt an, für welchen Manager ein Agent angelegt wird.

Agent DP-Typ

Dieser Eintrag wird aus der Config-Datei gelesen und gibt den Namen für SNMP-Agent-Datenpunkt an. Es muss der Config-Eintrag "agentDPName" oder im Falle von SNMPv3 der Eintrag "v3entityDPName" gesetzt werden. Siehe [snmpdrv].

Version

Definiert die SNMP-Version. Zur Auswahl stehen V1/V2 und V3.

SNMP Agent ID

Kann zwischen 1 und 255 ausgewählt werden, d.h. ein Manager kann maximal 255 Agents abfragen. Dieses Limit kann mit Hilfe des Config-Eintrages [snmpdrv] maxAgents neu gesetzt werden.

Um einen Agent zu löschen, selektieren Sie einen Agent aus der Tabelle und klicken Sie mit der rechten Maustaste auf die Tabelle. Der Manager kann über das Kontextmenü gelöscht werden.

Das SNMP-Parametrierungspanel wird über das Kontextmenü (Rechtsklick auf die Tabelle) oder über einen Doppelklick auf einen Agent in der Tabelle geöffnet.

Abbildung 3. SNMP-Agent Parametrierung

Agent/Entity

Name unter dem der Agent in der Agent Liste aufgelistet wird.

Erstellen:
Erstellt einen neuen SNMP-Agent.
Entfernen:
Löscht den ausgewählten SNMP-Agent.

Einstellungen

SNMP-Version
Zeigt welches SNMP-Protokoll verwendet wird.
Treibernummer
Die Nummer des Treibers dem der Agent zugeordnet ist.
AgentId
Die ID des Agents.
Konfiguration

Mit der Checkbox kann ein redundanter Agent aktiviert werden (siehe Redundanter SNMP-Agent für eine nähere Beschreibung). Wird ein redundanter Agent aktiviert, erscheint unten eine zusätzliche Registerkarte "Zweiter Agent/Entity". Über Wechsel bei wird das Redundanzumschaltverhalten definiert.

  • bei keepAlive-Fehler (KeepAlive-Überprüfung schlägt fehl)

  • bei lese/schreibe Fehler, d.h. wenn bei einem Read- oder Write-Request der TIMEOUT Status zurückgeliefert wird

  • alive/lese/schreibe Fehler, d.h. bei Timeout oder KeepAlive-Fehler

Timeout
Das Timeout in 1/100s, bis ein SNMP-Telegramm beantwortet werden muss. Der Defaultwert ist 100, was bei längeren Strecken oder langsameren Netzen/Agents evt. erhöht werden muss. Gültige Werte sind 100 - 1000 (entspricht 1 - 10s).
Retries
Wiederholungen, bevor ein SNMP-Protokoll Fehler ausgegeben wird. Im Falle eines Timeouts (s.o.) wird das Telegramm wiederholt. Der Standardwert ist 1, maximal 10 Wiederholungen sind parametrierbar.

Erster Agent/Entity / Zweiter Agent/Entity

IP-Adresse

Die IP-Adresse des Agents, z.B. 192.168.1.13, oder ein Rechnername, z.B. eiwrk068. Wenn keine IP-Adresse eingetragen wird bzw. diese wieder gelöscht wird (Leerstring), wird der Agent automatisch deaktiviert und der interne DPE Status.Timeout (siehe interne Datenpunkte) auf FALSE gesetzt, unabhängig davon in welchem Status sich dieser vorher befand.

Port

Definiert die Portnummer über die der SNMP-Manager sich zu dem hier parametrierten Agent verbindet. Der default WinCC OA Pmon Agent-Port ist 4700. Die Portnummern für den SNMP Pmon- Agent und für den Live Agent können auch über Config-Einträge festgelegt werden.

Read/Write Community String

Erlaubt den Lese/Schreib-Zugriff auf den Agent. Die Community Strings sind wie ein Passwort. Die CommunityStrings werden mit der SNMP-Anforderung gesendet. Wenn der String richtig ist, sendet der SNMP-Agent eine Antwort (die angeforderte Information) an den Manager. Wird für die Agents verwendet, mit welchen sich das WinCC OA System verbindet.

Anmerkung: Um die Zugriffsparameter des SNMP Treibers zu verschlüsseln bzw. entschlüsseln kann die Funktion snmpcrypt_setAccessPassPhrase() verwendet werden. Hierbei wird auch die Anzeige der Werte innerhalb des Konfigurationspanels verschlüsselt.

SNMP Live Agents

Der Live Agent stellt Datenpunktspezifische Daten aus der DP-Tabelle der ETM MIB zur Verfügung. Der SNMP Pmon-Agent dient als Proxy für den SNMP Live-Agent. Dadurch stehen Daten den externen SNMP-Managern zur Verfügung. Die Registerkarte Live Agents zeigt die Live Agents, die für das WinCC OA Projekt parametriert sind.

Anmerkung: Informationen über die innerhalb der WinCC OA MIB vorhandenen OIDs finden Sie unter: MIB - WinCC OA MIB
Abbildung 4. SNMP-Parametrierung

SNMP Live-Agents können über die Neu-Schaltfläche angelegt werden. Es wird ein Subpanel zum Anlegen geöffnet:

Es können Agents vom 1 bis 10 erstellt werden. Die Nummer kann aus der Combobox ausgewählt werden.

Das Panel SNMP Live Agent Parametrierung dient zur Parametrierung der WinCC OA DP-Elemente, die über SNMP abgefragt werden können (die DPEs werden vom SNMP Live-Agent zur Verfügung gestellt). Durch markieren des angelegten Agents in der Tabelle, dann mit der rechten Maustaste ein Kontextmenü öffnen und ”Param” auswählen bzw. Doppelklick auf den Agent öffnet sich das Parametrierpanel für den Agent. Hier kann man mittels Datenpunktselektor die DPE auswählen, die der Live-Agent SNMP-Managern zur Verfügung stellen soll.

Anmerkung: Programmtechnisch wäre es durchaus möglich, auf diese DPE auch schreibend zuzugreifen. Da es auf diesem Weg jedoch nicht möglich ist, die WinCC OA Benutzerberechtigung zu überprüfen, wurde diese Möglichkeit unterbunden.
Abbildung 5. SNMP Live Agent-Parametrierung

Eine eindeutige Nummer (Agent Nr.) sowie der Name werden im oberen Teil des Panels angezeigt.

Die DP-Tabelle zeigt die Datenpunkte, die über SNMP abgefragt werden. Die Datenpunkte werden über die bekannten WinCC OA Schaltflächen selektiert und über die Übernehmen Schaltfläche zu der Tabelle hinzugefügt. Die Datenpunkte enthalten einen Index, der verwendet wird um mit den Datenpunkten über MIB (z.B. (1.3.6.1.4.1.13828.2.1.20.1.2.idx)) zu kommunizieren. Die abgefragte Datenpunkt-Information wird auf den anderen Datenpunkten, zu denen eine Peripherieadresse hinzugefügt wurde, präsentiert.

Ein Traptext kann im unteren Teil des Panels festgelegt werden. Der Traptext wird auf dem DPE _LiveAgentNr_SNMPLiveAgent.specificTrap (Text) abgebildet. Der Trap wird an alle konfigurierten Managern gesendet, wenn auf die Schaltfläche geklickt wird. Um Traps zu senden, muss der Config-Eintrag enableUserTraps = "Yes" gesetzt werden.

Da der Pmon Agent als Proxy für den Live-Agent dient, werden die Traps über den Pmon-Agent gesendet. Der default SNMP Live Agent-Port ist 4701.

SNMPv3 Entities

WinCC OA unterstützt SNMPv3. Das bedeutet, dass über den WinCC OA Manager (WCCOAsnmp) auf eine Einheit, die SNMPv3 unterstützt, mittels GET und SET Services zugegriffen werden kann. Zudem können SNMPv3 Traps empfangen werden. In SNMPv3 gibt es keine Unterscheidung zwischen Manager und Agent mehr. Es gibt nun mehr SNMP-Entities.

SNMPv3 bietet jetzt wichtige Sicherheitsfunktionen:

  • Nachrichtenintegrität um sicherzustellen, dass ein Paket nicht während der Übermittlung verfälscht worden ist

  • Authentifikation um zu prüfen, dass die Nachricht von einer sicheren Quelle stammt

  • Verschlüsselung von Paketen um das Spionieren durch unbefugten Personen zu verhindern

Für die SNMPv3 gibt es einige zusätzliche optionale Config-Einträge. Zudem wurde das SNMP-Parametrierpanel sowie das _address-Konfig-Panel für den SNMP-Treiber modifiziert. Es können jetzt SNMPv3-Entities parametriert und der Agenttyp im Address-Panel gesetzt werden. Die Config-Einträge und die Parametrier- und address-Panels werden im Folgenden beschrieben.

Einschränkung: Momentan gibt es keine SNMPv3-Unterstützung im WinCC OA SNMP Live Agent (WCCOAsnmpa) und im Pmon.
Abbildung 6. Eine v3-Entity (Agent) erstellen
VORSICHT: Wenn der Datenpunktname (siehe Abbildung oberhalb) im Panel beim Anlegen des Agents/der Entity geändert wird (Default SNMPAgent bzw. SNMPV3Entity für V3), dann muss der entsprechende Config-File-Eintrag (siehe die SNMP-Config-Einträge dieses Dokuments) für den Mittelteil des Datenpunktnamens (agentDPName bzw. v3entityDPName) auch gesetzt sein. Der Mittelteil des Datenpunktnamens muss dann für alle angelegten Datenpunkte gleich sein.
Abbildung 7. SNMPv3 Entity-Parametrierung

Im obigen Panel findet die Parametrierung der V3-Entity statt.

Erster Agent/Entity / Zweiter Agent/Entity

IP-Adresse

Die IP-Adresse der Entity, z.B. 192.168.1.13, oder ein Rechnername, z.B. eiwrk068. Wenn keine IP-Adresse eingetragen wird bzw. diese wieder gelöscht wird (Leerstring), wird die Entity automatisch deaktiviert und der interne DPE Status.Timeout (siehe interne Datenpunkte) auf FALSE gesetzt, unabhängig in welchem Status sich dieser vorher befand.

Port

Definiert die Portnummer über die der SNMP-Manager sich zu der hier parametrierten Entity verbindet.

SecurityName

Der SecurityName bezeichnet den User/das Programm, das Zugriff auf Daten fordert. Der SecurityName muss pro SNMP-Manager eindeutig sein.

ContextName

Der anzusprechende Kontextname auf dem Zielrechner. Der Kontext beinhaltet bestimmte MIB-Objekte.

Pro Entity kann nur ein Kontextname angegeben werden. Sollen auf einer Entity mehrere Kontext-Bereiche abgefragt werden, so müssen mehrere Datenpunkte angelegt werden.

Die Management Information Base ist der Baum, an dessen Blätter die eigentlichen Daten vorhanden sind. Sie können jetzt in SNMP V3 den Benutzerzugriff auf einen Bereich der MIB einschränken z.B. alles unter dem Knoten 1.3.6.2.1.1. Dann hat der entsprechende Benutzer z.B. keinen Zugriff auf alles andere.

SecurityLevel

Das SecurityLevel beschreibt, welche Sicherungsmaßnahmen beim Datenaustausch zu ergreifen sind.

  • noAuthNoPriv (1) keine Authentifizierung und keine Datenverschlüsselung

  • authNoPriv (2) Authentifizierung, aber keine Datenverschlüsselung

  • authPriv (3) Authentifizierung und Datenverschlüsselung

Defaultwert ist (1).

ContextEngineID

Die EngineID des Zielrechners. Wird diese nicht angegeben, dann wird sie im Zuge der Datenabfrage bestimmt.

AuthProtocol

Für die Authentifizierung der SNMP User stehen zwei Protokolle zur Verfügung.

  • none (1) kein Authentifizierungsprotokoll

  • HMAC_MD5 (2) MD5 Authentifizierung

  • HMAC_SHA (3) SHA Authentifizierung

  • HMAC_SHA2_224 (4) SHA2 Authentifizierung

  • HMAC_SHA2_256 (5) SHA2 Authentifizierung

  • HMAC_SHA2_384 (6) SHA2 Authentifizierung

  • HMAC_SHA2_512 (7) SHA2 Authentifizierung

Defaultwert ist (1).

Ein Authentifizierungsprotokoll kann nur ausgewählt werden, wenn das SecurityLevel "authNoPriv" oder "authPriv" ausgewählt wurde.

AuthPasswd

Das Passwort, das für die Authentifizierung zu verwenden ist. Dieses kann nur dann definiert werden, wenn das SecurityLevel "authNoPriv" oder "authPriv" ausgewählt wurde.

PrivProtocol

Die verschickten Daten können zur Erhöhung der Sicherheit auch verschlüsselt werden. Für diese Verschlüsselung muss ein Protokoll ausgewählt werden.

  • none (1) keine Verschlüsselung

  • DES (2) Data Encryption Standard Verschlüsselung (wird nicht empfohlen, stattdessen sollte AES-Verschlüsselung verwendet werden)

  • IDEA (9) IDEA-Verschlüsselung (International Data Encryption Algorithm)
  • AES128 (4) Advanced Encryption Standard Verschlüsselung mit 128 bit Schlüssel.

  • AES192 (20) Advanced Encryption Standard Verschlüsselung mit 192 bit Schlüssel

  • AES256 (21) Advanced Encryption Standard Verschlüsselung mit 256 bit Schlüssel

Default ist (1).

Ein Verschlüsselungsprotokoll kann nur ausgewählt werden, wenn das SecurityLevel "authPriv" ausgewählt wurde.

PrivPasswd

Das Passwort, das für die Verschlüsselung zu verwenden ist. Dieses kann nur dann definiert werden, wenn das SecurityLevel "authPriv" ausgewählt wurde.

Anmerkung: Um die Zugriffsparameter des SNMP Treibers zu verschlüsseln bzw. entschlüsseln kann die Funktion snmpcrypt_setAccessPassPhrase() verwendet werden. Hierbei wird auch die Anzeige der Werte innerhalb des Konfigurationspanels verschlüsselt.