SNMP-Treiberkonfiguration

Bevor Sie das SNMP-Feature verwenden können, müssen Sie 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 Agent-Parametrierung. Öffnen Sie das SNMP-Parametrierpanel über System Management > Treiber > SNMP > SNMP Treiber

SNMP-Konfigurationspanel

Das Panel zeigt gibt einen Überblick über die verfügbaren SNMP-Agents. Zusätzlich können Sie neue SNMP-Agents von hier aus erstellen.

Abbildung 1. SNMP-Parametrierung

Wenn noch keine Agents erstellt wurden, so ist das Konfigurationspanel größtenteils ausgegraut. Die Combobox Agent/Entity Verbindung lässt Sie zwischen den verfügbaren Agents wechseln.

Um einen neuen Agent zu erstellen, klicken Sie auf die Erstellen-Schaltfläche.

SNMP Agents

SNMP-Agents werden von den SNMP-Managern abgefragt. Nach dem Klicken der Erstellen-Schaltfläche können die neuen Agents über das folgende Panel erstellt werden.

Abbildung 2. SNMP-Agent anlegen
SNMP Manager

Zeigt an, für welchen Manager ein Agent angelegt wird. Es können Manager mit Nummern von 1 bis 255 ausgewählt werden. Die Managernummer 1 ist der Standard.

Agent DP-Typ

Dieser Eintrag wird aus der Config-Datei gelesen und gibt den Namen für SNMP-Agent-Datenpunkt an. Soll der Standardname geändert werden, so 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. Wird V1/V2 ausgewählt, so ist V2 der Standard.

SNMP Agent ID

Die ID des SNMP-Agenten.

Abbildung 3. SNMP-Agent Parametrierung

Agent/Entity

Name, unter dem der Agent in der Agentenliste 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/Managers dem der Agent zugeordnet ist.
AgentId
Die ID des Agents.
Konfiguration

Mit der Checkbox kann ein redundanter Agent aktiviert werden (siehe Redundanter SNMP-Agent und SNMP im redundanten WinCC OA System 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
  • Bei alive/lese/schreibe Fehler, d.h. bei Timeout oder KeepAlive-Fehler
GetBulk verwenden
Standardmäßig aktiviert. Die "GetBulk verwenden" Checkbox setz das Access.Flags Bit 2 auf dem Internen DP. Die Verwendung von GetBulk hat Performance-Vorteile für das Browsen und Lesen von Bulk-Addressen.
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.

Anmerkung:
Informationen über die innerhalb der WinCC OA MIB vorhandenen OIDs finden Sie unter: MIB - WinCC OA MIB

Öffnen Sie das SNMP Live Agent-Panel über System Management > Treiber > SNMP Live Agent

SNMP Live-Agents können über die Erstellen-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 4. SNMP Live Agent-Parametrierung

Eine eindeutige Nummer (Agent-Nr.) sowie die Beschreibung 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 Standard-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 nur 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 5. 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 6. 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 folgende 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.