Konfiguration der Sicherheitsereignisprotokollierung
Um eine kontinuierliche Überwachung Ihrer WinCC OA-Umgebung mit externen Tools (z.B. What is a SIEM Tool?) zu ermöglichen, kann innerhalb von WinCC OA eine spezifische Protokollierung von sicherheitsrelevanten Ereignissen aktiviert werden.
Aktivieren der Externen Fehlerbehandlung
externErrHdl
Mit Hilfe des Config-Eintrags [general] externErrHdl kann das
Plug-in zur externen Fehlerbehandlung konfiguriert werden. Für die spezifische
Handhabung von Zertifikaten stehen die Plug-ins SE_File
sowie
SE_Syslog
zur Verfügung. Diese Plug-ins schreiben die Meldungen
der Sicherheitsereignisse wahlweise in eine Datei oder in den Fehlerlog des
Betriebssystems.
Dieser Config-Eintrag muss gesetzt werden, um die externe Behandlung von Sicherheitsereignissen zu ermöglichen!
[general]
externErrHdl = "SE_Syslog"
Panel für Sicherheitsereignisse
Das Konfigurationspanel für Sicherheitsereignisse, mit dem der Benutzer festlegen kann, welche Sicherheitsereignisse in das Systemprotokoll geschrieben werden sollen.
Die Sicherheitsereignisse befindet sich in
Sec. Events
In der Sec. Events Registerkarte kann der Benutzer festlegen, welche Ereignisse an das Systemprotokoll gesendet werden sollen. Standardmäßig werden alle verfügbaren Ereignisse in das Systemprotokoll geschrieben, aber wenn Sie die entsprechende Checkbox deaktivieren, können Sie die spezifische Protokollmeldung nicht einbeziehen. Diese werden dann nur in das WinCC OA log geschrieben.
In diesem Bereich werden sowohl die IDs als auch die Namen der Ereignisse angezeigt. Weitere Details zu jedem Ereignis finden Sie in der Security Events in WinCC OA Liste.
Log Handler
Durch Aktivieren des externen Error Handlers können nicht nur die speziellen Sicherheitsereignisse, sondern alle WinCC OA Logmeldungen in das externe Log geschrieben werden, siehe Konfiguration der Sicherheitsereignisprotokollierung
SecurityEvents_initList.json
Die Datei SecurityEvents_initList.json ist eine JSON-Datei, die sicherheitsbezogene Ereignismeldungen enthält, die von WinCC OA generiert wurden und derzeit zur Beobachtung aktiviert sind.
Die Datei befindet sich im Verzeichnis . \data\ContinuousMonitoring Unterordner der WinCC OA Installation. Eine abgeleitete Version dieser Datei kann sich im Projektordner befinden und die projektspezifische Konfiguration von Sicherheitsereignissen enthalten.
Diese Dateien sind eine Ressource für die Konfiguration einer Schnittstelle zu einem SIEM-Tool zur effektiven Überwachung von WinCC OA-bezogenen Meldungen. Das SIEM-Tool muss so konfiguriert werden, dass es Sicherheitsereignisse entsprechend den projektspezifischen Anforderungen überwacht und darauf reagiert.
SecurityEvents_initList.json
{
"GlobalSettings":{"Severity": "None"},
"SecurityEvents":[
{
"Name": "Start Manager",
"ID": "SE_MANAGER_START",
"EventID": "1",
"SiemensID": "401",
"SecurityLog": "TRUE"
},
{
"Name": "Stop Manager",
"ID": "SE_MANAGER_STOP",
"EventID": "2",
"SiemensID": "402",
"SecurityLog": "TRUE"
},
...
}]
Felder eines Sicherheitereignisses | Beschreibung |
---|---|
"Name" | Beschreibung. |
"ID" | Kurzbezeichnung. |
"EventID" | Der ETM-Schlüssel für die Identifizierung. |
"SiemensID" | Siemens-Schlüssel für die gemeinsame Nutzung von mehreren Siemens-Produkten |
"SecurityLog" | Legt fest, ob das Ereignis in das SecurityLog ausgegeben werden
soll.
TRUE = das Ereignis wird in das SecurityLog ausgegeben. |
Benutzerdefinierte Sicherheitsereignisse
Um projektspezifische neue Sicherheitsereignisse hinzuzufügen, kann die
SecurityEvents_initList.json
mit projektspezifischen
Ereignissen erweitert werden. Hierfür muss eine neue
SecurityEvents_initList.json
innerhalb des
\data\ContinuousMonitoring-Verzeichnisses des Projektes
erstellt werden, in dem, ähnlich wie in der Datei im Versionsverzeichnis, die
benutzerdefinierten Ereignisse hinzugefügt werden können.
Benutzerdefiniertes Sicherheitsereignis
{
"GlobalSettings":{"Severity": "None"},
"SecurityEvents":[
{
"Name": "My Custom Security Event",
"ID": "SE_CUSTOM_EVENT",
"EventID": "99",
"SiemensID": "0",
"SecurityLog": "TRUE"
}]
Sicherheitsereignisse innerhalb des Codes
Die folgenden Beispiele zeigen, wie man ein Sicherheitsereignis aus dem Code heraus richtig auslöst.
Die notwendigen Funktionen sind sowohl für Control als auch für die C++-API verfügbar.
Control
errClass err = makeError("pmon" , PRIO_INFO, ERR_SYSTEM, 35);
securityEvent(err, TRUE);
C++-API
const ErrClass err(ErrClass::PRIO_INFO, ErrClass::ERR_SYSTEM; ErrClass::MANAGER_STOP);
ErrHdl::securityEvent(err, true);
Abgesetzter MxProxy
Dieses Kapitel beschreibt die Konfiguration der kontinuierlichen Überwachung auf einem Remote-Rechner am Beispiel des MxProxy.
- Aktivieren Sie den externen Error-Handler entsprechend den Projektanforderungen. Um den externen Error-Handler zu aktivieren, verwenden Sie den Konfigurationseintrag ../../cfg_doku/all_config_entries.html#auth__externErrHdl.
- Kopieren Sie manuell die json-Datei SecurityEvents_initList.json (entweder aus der Installation oder, falls Sie sie bereits geändert haben, aus Ihrem Projekt) auf den Client: <project>/data/ContinuousMonitoring.
- Für Änderungen zur Laufzeit: Kopieren Sie die Datei SecurityEvents_initList.json erneut und rufen Sie die CTRL-Funktion reloadSecurityEventConfig() auf dem Remote-Rechner auf.