Skip to main content

Betriebsmodus

Development-Modus nicht in produktiven Umgebungen verwenden

Zielgruppe: Endanwender, Systemadministrator

Beschreibung: Zu Entwicklungszwecken hat die Anwendung c4-cli die Kommandozeilen-Optionen --no-window und --development-mode. Die Server-Version c4-server besitzt ebenfalls die Option --development-mode. Diese sollten nur zum Zweck der Entwicklung und Test von Extensions verwendet werden.

Maßnahme: Verwenden Sie die Kommandozeilen-Optionen --no-window und --development-mode nur in Testumgebungen, niemals in produktiven Umgebungen.

Begründung: Die Verwendung der Optionen --no-window und --development-mode schwächen die Sicherheitsmaßnahmen, die CODESYS 4 erzwingt. Bei Benutzung von --no-window wird eine Prüfung deaktiviert, die sicherstellt, dass kein anderer Benutzer mit Netzwerkzugriff auf Ihr System den Zugriff auf Ihre Sitzung kapern kann. Die Option --development-mode deaktiviert die Prüfung von installierten Extensions und ermöglicht das Nachladen arbiträrer Erweiterungen, was ein Sicherheitsrisiko darstellen kann, siehe auch: Nur vertrauenswürdige Extensions installieren/verwenden.

Serverbetrieb: Benutzerkonten und Login-Gruppe des Betriebssystems absichern

Zielgruppe: Systemadministrator

Beschreibung: CODESYS 4 führt keine eigene Benutzerverwaltung mit eigenem Anmeldespeicher. Die Anmeldung am CODESYS 4 Server erfolgt gegen die Benutzerverwaltung des Betriebssystems (beispielsweise PAM, LDAP oder IPA). Zugriff erhalten dabei nur Benutzer, die Mitglied der dafür vorgesehenen Login-Gruppe sind (standardmäßig codesys-4, konfigurierbar über die Kommandozeilen-Option --login-groups).

Maßnahme: Richten Sie die Benutzerkonten und die Login-Gruppe sorgfältig ein und pflegen Sie diese fortlaufend. Stellen Sie sicher, dass nur berechtigte Personen Mitglied der Login-Gruppe sind, und sichern Sie die Konten gemäß den in Ihrer Organisation geltenden Richtlinien ab.

Begründung: Da die Anmeldung an CODESYS 4 vollständig auf der Benutzerverwaltung des Betriebssystems basiert, hängt die Sicherheit des Zugangs direkt von der Absicherung dieser Konten ab. Kompromittierte oder falsch berechtigte Betriebssystem-Konten ermöglichen unberechtigten Zugriff auf CODESYS 4.

CODESYS 4 Server nur unter einem unprivilegierten Benutzerkonto ausführen

Zielgruppe: Systemadministrator

Beschreibung: Der CODESYS 4 Server muss unter einem unprivilegierten Benutzerkonto ausgeführt werden; die Ausführung als root wird von CODESYS 4 explizit blockiert. Empfohlen wird die Verwendung des Systemnutzers c4-server, wie in der Installationsanleitung beschrieben.

Maßnahme: Führen Sie den CODESYS 4 Server ausschließlich unter einem unprivilegierten Benutzerkonto aus. Richten Sie hierfür den Systemnutzer c4-server gemäß der Installationsanleitung ein.

Begründung: Wenn der Server mit privilegierten Rechten ausgeführt werden würde, hätte ein Angreifer bei einer Kompromittierung des Serverprozesses unmittelbar weitreichende Kontrolle über das gesamte System. Ein unprivilegiertes Konto begrenzt den möglichen Schaden auf die Rechte dieses Kontos.

Keine standardmäßig privilegierten Benutzer in die Login-Gruppe aufnehmen

Zielgruppe: Systemadministrator

Beschreibung: Zugriff auf den CODESYS 4 Server erhalten Benutzer über die Mitgliedschaft in der Login-Gruppe (standardmäßig codesys-4; siehe auch: Serverbetrieb: Benutzerkonten und Login-Gruppe des Betriebssystems absichern). Die Sitzungen der Benutzer laufen dabei mit den Rechten des jeweils angemeldeten Betriebssystemkontos.

Maßnahme: Achten Sie darauf, dass keine standardmäßig privilegierten Benutzer, also Benutzer, die bereits ohne Verwendung von sudo über erweiterte Privilegien verfügen, in die Login-Gruppe aufgenommen werden.

Begründung: Meldet sich ein standardmäßig privilegierter Benutzer an, laufen dessen CODESYS 4 Sitzungen mit diesen erweiterten Rechten. Eine Kompromittierung einer solchen Sitzung würde einem Angreifer damit unmittelbar privilegierten Zugriff auf das System verschaffen.

Logging nicht vollständig deaktivieren

Zielgruppe: Systemadministrator

Beschreibung: Das Logging von CODESYS 4 lässt sich über die Datei appsettings.json konfigurieren. Dabei kann der Logumfang für einzelne Komponenten gezielt angepasst werden.

Maßnahme: Deaktivieren Sie das Logging niemals vollständig. Wenn einzelne Komponenten zu viele Logmeldungen erzeugen, reduzieren Sie stattdessen gezielt den Log-Level dieser Komponenten in der appsettings.json.

Begründung: Bei vollständig deaktiviertem Logging werden auch sicherheitsrelevante Ereignisse nicht mehr aufgezeichnet. Angriffe und unerlaubte Aktionen am System können dann weder erkannt noch im Nachhinein nachvollzogen werden.