Die digitale Transformation hat auch vor der Fertigungsindustrie nicht Halt gemacht. Moderne CNC-Maschinen sind oft in Netzwerke integriert und tauschen Daten mit anderen Systemen aus, sei es für die Produktionsplanung, Prozessüberwachung oder Datenanalyse. Ein entscheidender Bestandteil dieser Kommunikation ist oft DCOM (Distributed Component Object Model). Doch eine Reihe von Sicherheitsupdates von Microsoft hat die Art und Weise, wie DCOM-Kommunikation authentifiziert wird, grundlegend verändert. Dies stellt insbesondere ältere Windows 7 Systeme, die häufig auf CNC-Bedienrechnern zu finden sind, vor erhebliche Herausforderungen.
Dieser Artikel beleuchtet die Hintergründe der DCOM-Authentifizierungshärtung, erklärt die damit verbundenen Probleme für Ihre Anwendungssoftware auf Windows 7 CNC-PCs und bietet detaillierte Lösungsansätze und Fehlerbehebungsschritte. Unser Ziel ist es, Ihnen dabei zu helfen, die Funktion Ihrer kritischen Systeme wiederherzustellen, während Sie gleichzeitig ein Auge auf die Systemsicherheit haben.
1. Was ist DCOM und warum ist es für CNC-Systeme wichtig?
DCOM ist eine proprietäre Microsoft-Technologie, die es Softwarekomponenten ermöglicht, über Netzwerkgrenzen hinweg miteinander zu kommunizieren. Es ist eine Erweiterung des Component Object Model (COM) und ermöglicht die Interaktion zwischen Objekten, die auf verschiedenen Computern in einem Netzwerk ausgeführt werden. In industriellen Umgebungen spielt DCOM oft eine zentrale Rolle:
* SPS-Kommunikation: Viele ältere SCADA-Systeme oder Visualisierungssoftware nutzen DCOM, um mit speicherprogrammierbaren Steuerungen (SPS) oder anderen Feldbus-Geräten zu kommunizieren.
* Datenlogging: Anwendungen, die Produktionsdaten, Maschinenzustände oder Qualitätskontrollwerte von der CNC-Maschine erfassen und an zentrale Datenbanken senden, verwenden häufig DCOM.
* MES-Integration: Manufacturing Execution Systems (MES) oder ERP-Systeme können DCOM nutzen, um Auftragsdaten an die CNC-Maschinen zu senden oder Statusinformationen von diesen abzurufen.
* Spezifische CNC-Software: Manche herstellerspezifische CNC-Software oder Module verwenden DCOM für die interne Kommunikation zwischen verschiedenen Komponenten oder für die Anbindung an externe Dienste.
Die Bedeutung von DCOM in diesen Szenarien macht seine korrekte Funktion unerlässlich für den reibungslosen Betriebsablauf Ihrer Fertigung.
2. Die DCOM-Authentifizierungshärtung: Hintergrund und Auswirkungen
Im März 2021 begann Microsoft mit der Veröffentlichung einer Reihe von Sicherheitsupdates (angekündigt unter CVE-2021-26414), die darauf abzielen, eine kritische Sicherheitslücke im Microsoft DCOM Remote Protocol zu schließen. Diese Lücke hätte es Angreifern ermöglicht, die volle Kontrolle über ein System zu erlangen. Die Lösung bestand darin, die standardmäßigen Authentifizierungsstufen für DCOM-Verbindungen zu erhöhen.
Die Härtung wurde in mehreren Phasen eingeführt, um Unternehmen Zeit für die Anpassung ihrer Systeme zu geben:
* März 2021: Erste Updates zur Protokollierung von Fehlern, wenn eine niedrigere Authentifizierungsstufe verwendet wurde. DCOM-Kommunikation funktionierte noch.
* Juni 2021: Weitere Protokollierung, aber auch die Möglichkeit, die neue, höhere Authentifizierungsstufe testweise zu erzwingen.
* Oktober 2021, März 2022, Juni 2022: Schrittweise Erhöhung der standardmäßigen Mindestauthentifizierungsstufe auf RPC_C_AUTHN_LEVEL_PKT_INTEGRITY und schließlich deren vollständige Erzwingung.
Das Kernproblem für Legacy-Systeme wie Windows 7 ist, dass viele ältere Anwendungen oder DCOM-Komponenten explizit oder implizit niedrigere Authentifizierungsstufen verwenden. Wenn nun ein Windows 7 PC (als DCOM-Client) versucht, mit einem *gehärteten* System (z.B. einem Windows Server 2019 oder Windows 10 PC als DCOM-Server) zu kommunizieren, welches die höhere Authentifizierungsstufe erzwingt, schlägt die Verbindung fehl. Umgekehrt können auch Probleme auftreten, wenn ein Windows 7 PC als DCOM-Server agiert und ein moderner, gehärteter Client versucht, darauf zuzugreifen.
Obwohl Windows 7 den regulären Support und die Extended Security Updates (ESU) weitgehend abgeschlossen hat, können die Auswirkungen dieser Härtung dennoch spürbar sein. Selbst wenn der Windows 7 PC die Updates nicht direkt empfängt, scheitert die Kommunikation, sobald er mit einem *anderen* System interagiert, das diese Härtung bereits implementiert hat.
3. Symptome von DCOM-Authentifizierungsproblemen
Die Symptome von DCOM-Authentifizierungsfehlern können vielfältig sein und reichen von offensichtlichen Fehlermeldungen bis hin zu subtilen Funktionsstörungen:
* Anwendungsabstürze oder Nichtreagieren: Eine Anwendung, die auf DCOM angewiesen ist, startet möglicherweise nicht mehr, stürzt ab oder friert ein, wenn sie versucht, eine Verbindung herzustellen.
* Fehlermeldungen: Sie sehen möglicherweise spezifische Fehlermeldungen in der Anwendungssoftware, wie z.B. „Zugriff verweigert”, „Der RPC-Server ist nicht verfügbar”, „Kommunikationsfehler” oder „Fehler bei der Initialisierung der Komponente”.
* Einträge in der Ereignisanzeige: Dies ist einer der wichtigsten Indikatoren. Im Windows Ereignisprotokoll (insbesondere „System” oder „Anwendung”) finden Sie möglicherweise Einträge mit den Event IDs 10036, 10037, 10038 oder 10039. Diese deuten oft auf fehlgeschlagene DCOM-Aktivierungen oder Authentifizierungsfehler hin. Typische Meldungen können lauten: „Der DCOM-Server konnte nicht gestartet werden, da die Authentifizierungsstufe unzureichend war. Die Aktivierung wurde verweigert.”
* Funktionsstörungen: Bestimmte Funktionen Ihrer CNC-Software oder der angeschlossenen Systeme funktionieren nicht mehr. Daten werden nicht mehr erfasst, Prozesswerte nicht aktualisiert oder Befehle nicht ausgeführt.
* Verzögerungen: Die Kommunikation ist extrem langsam, da das System immer wieder versucht, eine Verbindung herzustellen, bevor es schließlich aufgibt.
4. Detaillierte Fehlerbehebung und Lösungsansätze
Die Fehlerbehebung erfordert einen systematischen Ansatz. Beginnen Sie mit der Identifizierung der betroffenen Komponenten und arbeiten Sie sich durch die möglichen Lösungen.
4.1. Analyse der Ereignisanzeige (Event Viewer)
Dies ist der erste und wichtigste Schritt. Öffnen Sie die Ereignisanzeige (Start > Ausführen > `eventvwr.msc`). Überprüfen Sie die Protokolle unter „Windows-Protokolle” > „System” und „Anwendung”. Suchen Sie nach Fehlern oder Warnungen, die zeitlich mit dem Auftreten der Probleme zusammenfallen. Achten Sie insbesondere auf die bereits genannten Event IDs 10036, 10037, 10038 und 10039. Die Details dieser Ereignisse geben oft Aufschluss darüber, welche DCOM-Komponente betroffen ist und welche Authentifizierungsstufe erwartet wurde. Notieren Sie sich die „Anwendungs-ID (CLSID)” und „Protokoll-ID (APPID)” der betroffenen DCOM-Server.
4.2. Überprüfung der DCOM-Konfiguration mit DCOMCNFG
Das Dienstprogramm „Komponentendienste” (`dcomcnfg.exe`) ermöglicht die Verwaltung von DCOM-Komponenten.
1. Öffnen Sie `dcomcnfg.exe` (Start > Ausführen > `dcomcnfg`).
2. Navigieren Sie zu „Konsolenstamm” > „Komponentendienste” > „Computer” > „Arbeitsplatz”.
3. Klicken Sie mit der rechten Maustaste auf „Arbeitsplatz” und wählen Sie „Eigenschaften”. Im Reiter „Standardeigenschaften” finden Sie die „Standardauthentifizierungsstufe” und „Standardidentifizierungsstufe”.
* Die „Standardauthentifizierungsstufe” sollte idealerweise auf `Verbinden` oder höher eingestellt sein. Für die Problembehebung können Sie sie vorübergehend auf `Keine` setzen, aber dies ist ein erhebliches Sicherheitsrisiko und nur für Testzwecke zu empfehlen.
* Für Windows 7 Systeme, die als DCOM-Client agieren, kann es hilfreich sein, hier eine niedrigere Stufe einzustellen, um zu sehen, ob die Verbindung zum *gehärteten* DCOM-Server dann klappt.
4. Überprüfen Sie auch die Sicherheitseinstellungen: Gehen Sie zum Reiter „COM-Sicherheit”. Überprüfen Sie die „Zugriffsberechtigungen” und „Start- und Aktivierungsberechtigungen” für die „Standardwerte”. Stellen Sie sicher, dass die Benutzerkonten, unter denen Ihre Anwendungen laufen, die erforderlichen Berechtigungen besitzen (z.B. „Jeder”, „ANONYMOUS-ANMELDUNG”, „INTERAKTIV”, „SYSTEM”).
5. **Anwendungsspezifische DCOM-Komponenten:**
* Navigieren Sie zu „Konsolenstamm” > „Komponentendienste” > „Computer” > „Arbeitsplatz” > „DCOM-Konfiguration”.
* Suchen Sie die DCOM-Komponente, die in den Ereignisprotokollen als Fehlerursache genannt wurde (anhand der APPID oder CLSID).
* Klicken Sie mit der rechten Maustaste auf die Komponente und wählen Sie „Eigenschaften”.
* Im Reiter „Sicherheit” können Sie „Start- und Aktivierungsberechtigungen” sowie „Zugriffsberechtigungen” für diese spezifische Komponente anpassen. Stellen Sie sicher, dass die notwendigen Benutzer und Gruppen (z.B. „Administratoren”, „SYSTEM”, „Jeder”) die entsprechenden Berechtigungen haben.
* Im Reiter „Identität” können Sie festlegen, unter welchem Benutzerkonto die DCOM-Komponente ausgeführt wird.
* Im Reiter „Endpunkte” können Sie die verwendeten Protokolle und Ports überprüfen.
* **Wichtig:** Im Reiter „Allgemein” können Sie die „Authentifizierungsstufe” für diese spezifische Komponente einstellen. Falls das Problem an dieser Komponente liegt, können Sie versuchen, diese auf `Keine` oder `Verbinden` zu setzen. Dies ist oft eine praktikablere Lösung als das Absenken der globalen Einstellung.
4.3. Anpassungen in der Registrierung (Registry)
Die Registrierung bietet tiefgreifendere Kontrollmöglichkeiten, sollte aber mit größter Vorsicht bearbeitet werden. **Erstellen Sie unbedingt ein Backup der Registrierung oder einen Systemwiederherstellungspunkt, bevor Sie Änderungen vornehmen!**
Das entscheidende Registry-Setting für die DCOM-Härtung betrifft den Schlüssel `RequireIntegrityActivationAuthenticationLevel`. Dieser Schlüssel erzwingt die Verwendung von `PKT_INTEGRITY`.
1. Öffnen Sie den Registrierungs-Editor (Start > Ausführen > `regedit`).
2. Navigieren Sie zu `HKEY_LOCAL_MACHINESOFTWAREMicrosoftOleAppCompat`.
3. Suchen Sie den REG_DWORD-Wert `RequireIntegrityActivationAuthenticationLevel`.
* **Wichtiger Hinweis:** Dieser Schlüssel existiert primär auf Systemen, die die DCOM-Härtungsupdates erhalten haben (z.B. Windows 10, Windows Server). Ein Windows 7 PC, der keine ESU-Updates erhalten hat, besitzt diesen Schlüssel möglicherweise nicht.
* **Szenario A: Der Windows 7 PC agiert als DCOM-Client und scheitert beim Zugriff auf einen *gehärteten* Server (z.B. Windows 10/Server):**
* Die Lösung liegt in diesem Fall *nicht* auf dem Windows 7 PC selbst, sondern auf dem *entfernten, gehärteten Server*. Dort müssen Sie den Wert `RequireIntegrityActivationAuthenticationLevel` auf `0` (REG_DWORD) setzen, um die Anforderung an die Authentifizierungsstufe temporär zu deaktivieren. Dies erlaubt dem Windows 7 Client, sich mit seiner niedrigeren Authentifizierungsstufe zu verbinden.
* Beachten Sie, dass dies ein globales Rollback der Härtung auf dem Server darstellt und ein Sicherheitsrisiko ist. Microsoft empfiehlt dies nur als temporäre Lösung, bis die Client-Anwendung aktualisiert oder ersetzt wurde.
* **Szenario B: Der Windows 7 PC agiert als DCOM-Server (oder hat ESU-Updates erhalten und die Härtung aktiv):**
* Wenn Sie auf Ihrem Windows 7 CNC-Rechner diesen Schlüssel finden oder explizit anlegen möchten, um die Härtung zu deaktivieren, setzen Sie ihn ebenfalls auf `0`.
* Sie können auch versuchen, diesen Schlüssel applikationsspezifisch zu steuern, indem Sie unter dem APPID-Schlüssel der betroffenen Anwendung in `HKEY_LOCAL_MACHINESOFTWAREClassesAppID{Ihre_APPID}` einen `RequireIntegrityActivationAuthenticationLevel` REG_DWORD Wert mit `0` erstellen. Dies ist die bevorzugte Methode, da sie weniger global eingreift.
4. Überprüfen Sie auch den Schlüssel `HKEY_LOCAL_MACHINESOFTWAREMicrosoftOleRpcAuthnLevelPrivacyEnabled`. Auch dieser kann mit `0` deaktiviert werden, falls die Probleme mit der `PKT_PRIVACY`-Stufe zusammenhängen. In den meisten Fällen ist jedoch `RequireIntegrityActivationAuthenticationLevel` der relevantere Schlüssel für die aktuellen Probleme.
**Nach jeder Registrierungsänderung ist ein Neustart des Systems erforderlich.**
4.4. Netzwerk- und Firewall-Konfiguration
Stellen Sie sicher, dass keine Firewall-Regeln die DCOM-Kommunikation blockieren.
* DCOM verwendet standardmäßig Port 135 (RPC Endpoint Mapper) und dann dynamische Ports im Bereich 49152-65535.
* Überprüfen Sie die Windows-Firewall-Einstellungen auf dem CNC-Rechner und auf allen beteiligten Servern. Ggf. müssen Sie eingehende Regeln für Port 135 und den dynamischen Portbereich zulassen.
* In industriellen Netzwerken ist eine Segmentierung üblich. Stellen Sie sicher, dass die Netzwerkinfrastruktur (Router, Switches, Firewalls) die DCOM-Kommunikation zwischen den betroffenen Maschinen nicht blockiert.
4.5. Benutzerkonten und Berechtigungen
Überprüfen Sie, unter welchen Benutzerkonten die DCOM-Komponenten und die Anwendungssoftware laufen.
* Stellen Sie sicher, dass die verwendeten Benutzerkonten über ausreichende Berechtigungen auf allen beteiligten Systemen verfügen.
* Vermeiden Sie die Verwendung von „LocalSystem” oder „NetworkService” für DCOM-Komponenten, die auf andere Systeme zugreifen müssen, es sei denn, dies ist explizit vom Softwarehersteller vorgesehen. Erstellen Sie stattdessen dedizierte Dienstkonten mit den minimal erforderlichen Berechtigungen.
* Bei Domänenumgebungen müssen die Dienstkonten im Active Directory korrekt konfiguriert und synchronisiert sein.
5. Best Practices und langfristige Strategien
Während die oben genannten Schritte helfen können, akute Probleme zu lösen, ist es wichtig, auch langfristige Strategien zu entwickeln, insbesondere für Legacy-Systeme.
* Netzwerksegmentierung: Isolieren Sie Ihre CNC-Bedienrechner und andere OT-Systeme in separaten Netzwerksegmenten. Dies minimiert das Risiko, das von der (temporären) Absenkung der DCOM-Sicherheit ausgeht. Verwenden Sie Firewalls, um den Datenverkehr streng zu kontrollieren.
* Anwendungsupdates: Kontaktieren Sie den Hersteller Ihrer CNC-Software. Erkundigen Sie sich, ob es Updates gibt, die die neueren DCOM-Authentifizierungsstufen unterstützen. Dies ist die sicherste und langfristig beste Lösung.
* System-Upgrades: Planen Sie, Ihre Windows 7 Systeme auf ein aktuelleres und unterstütztes Betriebssystem (z.B. Windows 10 IoT Enterprise LTSC) zu aktualisieren, sobald dies mit Ihrer CNC-Maschine und -Software kompatibel ist. Dies erfordert oft umfangreiche Tests und Migrationsstrategien.
* Regelmäßige Backups: Erstellen Sie regelmäßig vollständige System-Backups Ihrer CNC-Bedienrechner, bevor Sie tiefgreifende Konfigurationsänderungen vornehmen.
* Dokumentation: Dokumentieren Sie alle vorgenommenen Änderungen an der DCOM-Konfiguration und der Registrierung. Dies ist unerlässlich für die zukünftige Wartung und Fehlerbehebung.
Fazit
Die DCOM-Authentifizierungshärtung ist eine notwendige Sicherheitsmaßnahme von Microsoft, die jedoch erhebliche Auswirkungen auf Legacy-Systeme wie Windows 7 CNC-Bedienrechner haben kann. Das Verständnis der Ursachen, die systematische Fehlerbehebung mittels Ereignisanzeige, DCOMCNFG und gezielten Registrierungsänderungen ist entscheidend, um die Funktionsfähigkeit Ihrer Anwendungssoftware wiederherzustellen. Während kurzfristige Lösungen oft das Absenken von Sicherheitsstandards beinhalten, ist es von größter Bedeutung, diese nur temporär einzusetzen und parallel an langfristigen, sicheren Strategien wie Anwendungsupdates und System-Upgrades zu arbeiten. Eine ausgewogene Herangehensweise zwischen operativer Stabilität und IT-Sicherheit ist in industriellen Umgebungen unerlässlich.