Schritt für Schritt Security mit CODESYS
Das installierte CODESYS Development System ist insofern durch "Hacker" gefährdet, als zusätzliche Installationen und verwendete Bibliotheken manipuliert/ausgetauscht werden könnten. Dagegen hilft die Signierung von Add-on-Packages (im CODESYS Package Designer), Bibliotheken (beim Speichern in CODESYS) und HTML5-Steuerelementen (im Visualisierungselemente-Repository).
Erstellen Sie ein Projekt für das Programmieren Ihrer Applikation(en) in CODESYS.
Legen Sie eine Projekt-Benutzerverwaltung an. Konfigurieren Sie Zugangsdaten für Benutzer, sowie deren Zugriffsrechte. Sie können für jedes Objekt in seinen Eigenschaften die Zugriffskontrolle individuell konfigurieren.
Verschlüsseln Sie das Projekt über die Projekteinstellungen, Kategorie Sicherheit mindestens mit einem Passwort, besser noch mit einem Zertifikat.
Für weitere Informationen siehe: Sichere Entwicklung / Quellcode schützen
Wenn Sie eine Bibliothek erstellen, die zur Verwendung in anderen Projekten installiert werden soll, schützen Sie diese durch eine Signatur. Jede Komponente, die zusätzlich installiert werden kann, bietet Hackern Angriffsmöglichkeit auf das Programmiersystem.
Für weitere Informationen siehe: Übersetzte Bibliotheken schützen und signieren
Als Bibliotheksentwickler können Sie mit Hilfe der Bibliothek
CmpX509Cert.library
für bestimmte Bausteine Zertifikate auf der SPS anlegen.Für weitere Informationen siehe: Bibliothek
CmpX509Cert.library
für ZertifikatserzeugungVerwalten Sie das Projekt in einem Versionsverwaltungssystem wie CODESYS Git, zum Zweck der Datensicherheit und des gesicherten Austauschs mit anderen.
Für weitere Informationen siehe: Projekt in CODESYS Git oder CODESYS SVN verwalten
Vor dem Download der erstellten Applikation:
Verschlüsseln und/oder signieren Sie die Applikation mit einem Zertifikat. Die nötigen Aktionen starten Sie am Besten im Dialog Eigenschaften der Applikation, Registerkarte Security.
Für weitere Informationen siehe: Bootapplikation verschlüsseln und/oder signieren
Sie können mit Hilfe der Bibliothek
CmpX509Cert.library
Zertifikate gezielt für eine bestimmte IEC-Applikation oder eine Einheit daraus anlegen.Für weitere Informationen siehe: Bibliothek
CmpX509Cert.library
für ZertifikatserzeugungKonfigurieren Sie die Verbindung zur SPS und schützen Sie diese:
Stellen Sie sicher, dass im Geräteeditor die Security-Einstellung Verschlüsselte Kommunikation aktiviert ist. Suchen Sie im Netzwerk nach der SPS.
Nach der Auswahl der SPS werden Sie angeleitet, ein zumindest begrenzt gültiges Zertifikat für die verschlüsselte Kommunikation zu erstellen und zu installieren.
Aktivieren Sie auf die Nachfrage hin die Gerätebenutzerverwaltung. Konfigurieren Sie auf die nächste Aufforderung hin einen Gerätebenutzer. Loggen Sie sich mit den dafür vergebenen Zugangsdaten auf der SPS ein.
Für weitere Informationen siehe: Kommunikation mit Zertifikat verschlüsseln, Sicherheitsrichtlinie ändern
Sie können nun die Applikation auf der SPS ausführen.
Überlegen Sie, ob Sie nicht unmittelbar ein längerfristig gültiges Zertifikat für die verschlüsselte Kommunikation installieren wollen. Prüfen Sie die Laufzeitsystem-Sicherheitsrichtlinie und passen Sie diese bei Bedarf an.
Für weitere Informationen siehe: Kommunikation mit Zertifikat verschlüsseln, Sicherheitsrichtlinie ändern
Die Applikation läuft auf der Steuerung. Folgendes können Sie noch für verbesserte Security tun: Audit-Log, Bestimmte kritische Benutzeraktionen über Applikation ausschließen, SPS-Betriebsarten verwenden, Interaktiven Login konfigurieren.
Verwenden Sie einen OPC UA-Server und Symbolgruppen für den Austausch mit der SPS?
Verschlüsseln Sie die Kommunikation zwischen OPC UA-Server und Client mit einem Zertifikat, das beim ersten Verbindungsaufbau mit Hilfe des Security-Screens eingerichtet werden kann. Konfigurieren Sie die CODESYS Benutzer- und Rechteverwaltung auch für Aktionen auf dem OPC UA-Server. Schränken Sie den Zugriff auf Symbole für bestimmte Gerätebenutzergruppen ein.
Für weitere Informationen siehe: Sicheren OPC UA Server verwenden, Symbolgruppen konfigurieren
Verwenden Sie eine WebVisu oder TargetVisu?
Für eine Visualisierung sollten Sie die "Laufzeitbasierte Benutzerverwaltung" verwenden, die mit der Benutzerverwaltung auf der Steuerung gekoppelt wird. Für eine WebVisu muss die Kommunikation mit dem WebServer zertifikatsverschlüsselt laufen. Außerdem sollten Sie die verwendeten HTML5-Steuerelemente immer signieren, da sie zusätzlich installiert werden können und damit eine Angriffsfläche für Hacker bieten.
Auch für eine Remote TargetVisu sollten Sie die Kommunikation mit der betreffenden SPS verschlüsseln.
Für weitere Informationen siehe: HTML5-Steuerelement signieren, Kommunikation WebVisu - Browser schützen, Kommunikation mit Remote TargetVisu verschlüsseln
Verwenden Sie den Automation Server (CAS)?
Sie haben bereits beim Kauf ein Server-Passwort vergeben. Nutzen Sie die Multi-Faktor-Authentifizierung (MFA) beim Anmelden. Konfigurieren Sie die CAS-eigene Benutzerverwaltung und vergeben Sie gezielt Zugriffsrechte für Aktionen auf dem Server und auf Server-Objekten. Konfigurieren Sie die zertifikatsverschlüsselte Verbindung zwischen Automation Server und Edge Gateway. Ein "Quick Setup" erleichtert dies. Setzen Sie die Funktion "Audit-Trail" zur Nachvollziehbarkeit von vorgenommenen Aktionen und Zugriffen ein.
Für weitere Informationen siehe: Security für den CODESYS Automation Server
Verwenden Sie CODESYS Git
Verwenden Sie beim Einsatz der Scripting-Schnittstelle möglichst SecureString-Passwörter.
Für weitere Informationen siehe: Projekt in CODESYS Git oder CODESYS SVN verwalten
Denken Sie rechtzeitig an Backup-Aktionen. Mögliches Wiederherstellen verlorener Daten gehört ebenfalls zu den Security-Massnahmen.
Für weitere Informationen siehe: Backup/Restore