Skip to main content

Sicherheitsmechanismen

Die Extension-API bietet umfangreiche Möglichkeiten, auf das Laufzeitsystem einzuwirken. Deshalb sind Sicherheitsmaßnahmen notwendig, die der Anwender beachten muss.

Seit CODESYS Control Extension Package 4.4.0.0 wird mit der Installation des Packages die Gruppe codesysuser angelegt. Einige Funktionen der Extension-API setzen voraus, dass der Linux-Benutzer, der sie verwendet, Mitglied der Gruppe codesysuser ist. Sie können mit Administratorrechten einen Benutzer mit beispielsweise folgendem Befehl dieser Gruppe hinzufügen:

$ sudo adduser $USER codesysuser

Hintergrund dieser Vorgehensweise ist, dass die Mechanismen die Arbeitsverzeichnisse /var/run/codesysextension/ sowie /var/opt/codesysextension/ verwenden. Diese sind mit dem Recht 770 versehen und der Gruppe codesysuser zugeordnet. Damit wird erreicht, dass unbefugte Benutzer keinen Einfluss auf das Laufzeitsystem nehmen können.

Wichtig

Alle Mitglieder der Gruppe codesysuser können auf das Laufzeitsystem einwirken.

Wichtig

Die folgenden Mechanismen basieren auf einem Unix Domain Socket (UDS):

Es ist für den IEC-Programmierer notwendig, dass er bei diesen Mechanismen gegebenfalls Fehlercodes des jeweiligen Funktionsbausteins abfragt und geeignet reagiert (zum Beispiel: Verbindungsaufbau/Verbindungsabbruch).

Wichtig

Um einen Systemlastangriff zu verhindern, müssen die UDS-Gegenstellen (Unix Domain Sockets) mindestens die gleiche Priorität oder eine höhere Priorität als die IEC-Task selbst haben. Die UDS-Gegenstellen sind die mitgelieferten Beispiele oder die vom Anwender erstellten Programme, die die Funktionen der Extension-API verwenden.

Diese Priorität ist nicht die in der Taskkonfiguration von CODESYS angezeigte Priorität. Sie lässt sich auf dem Linux-System mit htop ermitteln. Es handelt sich dabei um eine Task, die denselben Namen hat wie die in CODESYS vergebene IEC-Task.

Wichtig

Die SPS-Shell benötigt den „anonymen Benutzer“. Ist dieser aktiviert, kann nicht nachvollzogen werden, welcher Linux-Benutzer die SPS-Shell verwendet hat.

Wichtig

Die neuen Schnittstellen des CODESYS Control Extension Package bieten durch die Prozesstrennung keine Möglichkeit der Benutzerauthentifizierung (aus Sicht des CODESYS Development System). Es kann einem IEC-Anwender nicht ein entsprechender Linux-Anwender/Benutzername zugeordnet werden.

Daraus resultiert, dass bei der Sicherheitsbetrachtung der IEC-Applikation nicht nur die IEC-Anwender sondern auch die Linux-Anwender betrachtet und entsprechend administriert werden müssen!

Es dürfen nur berechtigte Benutzer administrativen Zugang auf das Linux-System des Laufzeitsystems haben.

Wichtig

Bei den Schnittstellen, die Prozesstrennung nutzen, kann nicht ausgeschlossen werden, dass Daten unverschlüsselt auf dem System weitergereicht werden. Das bedeutet, ein Angreifer mit administrativen Rechten auf dem System könnte diese mitschneiden.