Voraussetzungen und Konfiguration

Voraussetzungen

  • Korrekt installierte WinCC OA Version.

  • Kerberos Infrastruktur (nicht Teil von WinCC OA ); z.B. Windows Domain

  • Funktionierende Uhrensynchronisation

  • Funktionierende Namensauflösung für Hostnamen

  • Gültige Lizenz für Kerberos in WinCC OA ist erforderlich. Verschiedene Lizenzoptionen sind verfügbar für die verschiedenen Authentifikationsoptionen (-stufen):

    kerberos = 0 - 3

    0 (default) = keine Lizenz, 1 = Authentifikation, 2 = Integrität, 3 = Verschlüsselung

Betrieb von Kerberos mit WinCC OA

Für die Nutzung der Kerberos-basierten Authentifikation reicht eine Standard-Installation von WinCC OA. Um Kerberos zu verwenden, fügen Sie den Config-Eintrag "kerberosSecurity" (definiert, ob Kerberos verwendet werden soll) zu der Config-Datei des Projektes hinzu (siehe Kapitel Config-Einträge für mehr Informationen). Neben dem Config-Eintrag "kerberosSecurity" ist der Eintrag "kerberosRootGroup" erforderlich.

[general}
...
kerberosSecurity = "enc"
kerberosRootGroup = "WCCOA_Root"

Server - Konfiguration

Um Kerberos zu verwenden, gehen Sie wie folgt vor:

Active Directory Benutzergruppen

Es wird empfohlen, im Active Directory (AD) drei Organisationseinheiten (Organizational Unit - OU) zu erstellen (z.B.: WCCOA_ADMINS, WCCOA_ROOT und WCCOA_USER). Benutzergruppen und Benutzer sollten je nach Berechtigung in diesen OUs angelegt werden.

In der OU WCCOA_ADMINS wird die Gruppe WCCOA_Admins angelegt und zumindest ein Benutzer (z.B.: WCCOA_Aministrator) angelegt. Die gleiche Vorgangsweise gilt für die anderen OUs (WCCOA_ROOT - WCCOA_Root - root_kerberos und WCCOA_USER - WCCOA_Bediener).

Abbildung 1. Active Directory ( WinCC OA Gruppen: WCCOA_Admins, WCCOA_Root, WCCOA_Bediener)

Service Principal Name

Für die Verwendung von WinCC OA mit Kerberos ist es erforderlich, einen Service Principal Name (SPN) zu konfigurieren.

WinCC OA verwendet zwei SPNs "PVSS/<Vollständig qualifizierter Hostname für Managerkommunikation>" und "HTTP" /<Vollständig qualifizierter Hostname für Browser-Kommunikation>. Der Process-Monitor WCCILpmon muss auf dem angegebenen Host laufen. Der SPN darf nur für einen Computer ( WinCC OA Server) eingetragen sein. Der "PVSS/<Vollständig qualifizierter Hostname>" ist der Hostname inklusive Domain. Die Namen, die im SPN benutzt werden, müssen über einen Namensdienst aufgelöst werden können. Wenn Sie redundante LAN-Verbindungen verwenden, muss der SPN für alle beteiligten Hostnamen angelegt sein:

WinCC_OA/host-1.domain.com und WinCC_OA/host-2.domain.com

Fügen Sie diese Adressen hinzu.

Abbildung 2. Service Principle Name

Der SPN muss in jenem Benutzerkonto eingetragen werden, in dessen Kontext der PMON-Dienst läuft.

Unter Linux müssen Sie die SPN selbst erstellen. Tragen Sie den SPN des Servers "PVSS/<Vollständig qualifizierter Hostname>" in die Kerberos-Datenbank ein. Beachten Sie, dass unter Linux bei SPN zwischen Groß- und Kleinschreibug unterschieden wird. Für detaillierte Informationen, wie Sie Kerberos unter Linux installieren, siehe externe Anleitung im Internet Installing and Configuration

VORSICHT: Ein SPN darf immer nur EINMAL existieren!
Anmerkung: Unter Windows kann das "setspn"-Tool verwendet werden. Dies ist ein Teil des Microsoft's Resource Toolkit. Sie benötigen Administratorrechte für das Tool. Verwenden Sie diese Befehle nur dann, wenn Sie ein erfahrener Benutzer sind.

setspn -l <name> : liefert den definierten SPN für den angegebenen Account. Das Konto kann ein Benutzerkonto oder ein Maschinenkonto sein.

setspn -a PVSS/<host> <name>: fügt den SPN PVSS/<full qualified hostname> zu dem angegebenen Account hinzu. Die Angabe eines Maschinenkontos (<HOST>$) ist zulässig.

Anmerkung: Bitte beachten Sie, dass der Service Principal Name von WinCC OA nach Groß- und Kleinschreibung unterschieden wird. Tragen Sie für WinCC OA nur SPN in Großbuchstaben ein.

WinCC OA - Konfiguration

Öffnen Sie die WinCC OA Benutzerverwaltung über System Management > Berechtigung > Benutzerverwaltung.

Abbildung 3. Systemmanagement - Berechtigung

Wechseln Sie zu der Windows-Benutzerverwaltung als aktueller Benutzer über die Windows-Benutzerverwaltung Schaltfläche.

Abbildung 4. Benutzerverwaltung

Geben Sie das Windows-Passwort ein, um zu der Windows-Benutzerverwaltung zu wechseln:

Abbildung 5. Panel für die Eingabe des Windows-Passworts

Im darauffolgenden Dialog die Zugangsdaten eines gültigen Domain Users eingeben.

Anmerkung: Beachten Sie, dass, wenn Sie von der WinCC OA zu der Windows-Benutzerverwaltung wechseln, alle WinCC OA Benutzer (außer ROOT) gelöscht werden.

Fügen Sie die WinCC OA relevanten Benutzergruppen zu der Windows-Benutzerverwaltung über das Gruppenverwaltungspanel hinzu. Beachten Sie, dass, wenn Windows-Benutzerverwaltung verwendet wird, nur Gruppen, die in der Windows Benutzerverwaltung (z.B.: Active Directory) definiert sind, hinzugefügt werden können. Die Windows-Gruppen können aus der Combobox, die durch die Selektion der Windows-Benutzerverwaltung angezeigt wird, selektiert werden. Ein Benutzer muss in mindestens einer Gruppe, die im Active Directory angegeben wurde, eingetragen sein.

Abbildung 6. Neue Gruppe hinzufügen

Setzen Sie die Berechtigungsbits für die Gruppe(n) über die "..." Schaltfläche des Gruppenverwaltungspanels. Die Mitglieder der Gruppen erben die Gruppenrechte.

Abbildung 7. Panel für das Setzen der Berechtigungsstufen
Anmerkung:
  • Die Gruppe, die im Config-File als kerberosRootGroup eingetragen ist, darf nicht übernommen werden oder mit Berechtigungsbits ausgestattet werden.
  • Mindestens eine Gruppe muss die ersten fünf Berechtigungsbits erhalten, da Sie andernfalls nach der Umstellung auf Kerberos WinCC OA nicht mehr verwalten können. Benutzen Sie dafür z.B. die Gruppe WinCC OA _Admins.
  • Der Default-Benutzer im Config-File muss entfernt werden.
  • Die erforderlichen Schritte für den Einsatz der gesicherten Authentifikation sind abgeschlossen.
VORSICHT: Nicht autorisierte Verbindungsversuche werden in der WinCC_OA_II.log-Datei im Log-Verzeichnis gespeichert.

PMON als Dienst starten

Für die Benutzung der Kerberos Authentifizierung in WinCC OA muss ein Projekt als Dienst ausgeführt werden. Dazu muss der PMON als Dienst in Windows eingetragen werden. Der PMON Dienst muss mit ausreichend Rechten versehen sein. Es wird empfohlen, die Rechte des Dienstes so gering als möglich einzustellen. Die folgende Liste ist nach Berechtigungen für den Zugriff auf Windows sortiert.

  1. Netzwerkdienst

  2. Lokaler Dienst

  3. Lokales System

  4. Spezieller Benutzer

Anmerkung: Das Konto, in dessen Kontext PMON als Dienst läuft, muss Mitglied der kerberosRootGroup sein. Falls der PMON eines der Windows-Dienstkonten benutzt, dann muss das Maschinenkonto als Mitglied in dieser Gruppe eingetragen sein.
VORSICHT: Bei der Verwendung des Pmons als Service ist zu beachten, dass der Start mittels eines definierten Benutzers erfolgen muss. Die Verwendung des lokalen Systemkontos ist nicht zulässig, da hier Berechtigungs- und Zugriffsprobleme entstehen können.
VORSICHT: Starten Sie den PMON-Dienst erst wenn alle Konfigurationsschritte abgeschlossen sind.
Abbildung 8. PMON als Dienst mit Benutzerkonto registriert

User Interface starten

Der Start eines User Interface ist am Server durch den PMON Dienst nur eingeschränkt möglich. Windows erlaubt aus Sicherheitsgründen keinen vollständigen Zugriff aus einem Dienst auf eine interaktive Sitzung.

Es ist daher erforderlich, ein UI separat zu starten. Dazu kann man entweder ein eigenes UI-Projekt (abgesetztes User Interface auf einem eigenen PC) mit eigenem Pmon oder ein lokales UI mit einem zusätzlichen Parameter, der das aktuelle Projekt angibt, starten. Z.B.: Kann dafür ein Link angelegt werden, der den notwendigen Parameter ergänzt (siehe WCCOAui).

Zum Start des GEDI:
"WCCOAui.exe -m gedi -currentproj"
Zum Aufruf eines UI mit Startpanel panel.pnl:
"WCCOAui.exe -currentproj -p panel.pnl"
Abbildung 9. Beispiel zum Starten vom Gedi
VORSICHT: Benutzer, die Mitglied der kerberosRootGroup sind, dürfen unter keinen Umständen an einem UI von WinCC OA angemeldet werden, ohne dass dabei der Parameter -user root:<password> angegeben wird. Um eine versehentliche Anmeldung als solcher Benutzer an WinCC OA zu vermeiden, sollte ein Benutzer der kerberosRootGroup sich auch nicht an Windows anmelden. Falls Sie versehentlich einen Benutzer der kerberosRootGroup in WinCC OA angemeldet haben, nehmen Sie bitte Kontakt mit dem Support auf.

Die Benutzer der kerberosRootGroup sind ausschließlich für die interne Verwendung von WinCC OA erforderlich (z.B.: als Dienstkonto für PMON) und dürfen nicht in die Benutzerverwaltung eines Projektes eingebunden werden.

Checkliste zur Inbetriebnahme von Kerberos in WinCC OA

  1. DNS funktionsfähig / alle IP Adressen für WinCC OA können aufgelöst werden

  2. Datum und Uhrzeit haben nur eine geringe Abweichung gegenüber dem Domain Controller

  3. Benutzerverwaltung der Domain enthält typischerweise 3 Gruppen und 3 Benutzer:

    1. Admin Gruppe

    2. Kerberos Root Gruppe

    3. Bediener Gruppe

    4. Einen Admin User und einen Kerberos Root User und einen Bediener

  4. Umstellung von WinCC OA auf Windows Benutzerverwaltng

  5. Eintragen der Berechtigungsbits 1-5 für die Admin Gruppe

  6. Eintragen der Berechtigung für weitere User nach Bedarf (kann auch später erfolgen)

  7. Eintragen des SPN für alle Verbindungen (Auswahl eines geeigneten Benutzer)

  8. Projekt stoppen

  9. Registrieren des PMON als Dienst (Benutzer aus SPN wählen)

  10. Config File anpassen

    1. kerberosRootGroup

    2. kerberosSecurity

    3. Default user und password löschen

  11. Projekt starten