Skip to content
Encyklopedia protokołów | | 8 min czytania

OPC Classic/DA - protokół DCOM w automatyce przemysłowej. Bezpieczeństwo i segmentacja

OPC Classic (OPC DA) oparty na DCOM - port 135 i porty dynamiczne, słabe bezpieczeństwo, problemy z firewallami. Dlaczego jest zastępowany przez OPC UA i jak zabezpieczyć istniejące wdrożenia.

OPC ClassicDCOMport 135
OPC Classic/DA - protokół DCOM w automatyce przemysłowej. Bezpieczeństwo i segmentacja

OPC Classic (Open Platform Communications, dawniej OLE for Process Control) to rodzina protokołów komunikacji przemysłowej opracowana w latach 90. przez OPC Foundation. Najszerzej stosowaną specyfikacją jest OPC DA (Data Access) - służąca do wymiany danych procesowych w czasie rzeczywistym między systemami SCADA, HMI, historiami procesowymi i sterownikami PLC. OPC Classic zbudowano na technologii Microsoft DCOM (Distributed Component Object Model), co w momencie powstania było pragmatycznym wyborem, ale z perspektywy bezpieczeństwa okazało się decyzją o długotrwałych konsekwencjach.

Mimo oficjalnego zastąpienia przez OPC UA (Unified Architecture) w 2008 roku, OPC Classic pozostaje szeroko wdrożony w instalacjach przemysłowych na całym świecie. Migracja do OPC UA wymaga wymiany oprogramowania i często sprzętu - proces, który w wielu zakładach potrwa jeszcze lata.

Architektura i mechanizm DCOM

Czym jest DCOM

DCOM to rozszerzenie modelu COM (Component Object Model) firmy Microsoft, umożliwiające komunikację między obiektami na różnych komputerach w sieci Windows. W kontekście OPC Classic:

  • Serwer OPC - aplikacja Windows uruchomiona na komputerze podłączonym do sterowników PLC (przez sterownik komunikacyjny producenta). Udostępnia dane procesowe jako obiekty COM.
  • Klient OPC - aplikacja SCADA, HMI lub historian, która łączy się ze zdalnym serwerem OPC przez DCOM.

Mechanizm połączenia

Nawiązanie sesji OPC Classic/DCOM przebiega następująco:

  1. Klient kontaktuje się z usługą RPC Endpoint Mapper na serwerze (port TCP 135)
  2. Endpoint Mapper zwraca dynamicznie przydzielony port TCP, na którym nasłuchuje żądany serwer OPC
  3. Klient nawiązuje połączenie na porcie dynamicznym (domyślny zakres: 1024-65535)
  4. Dalsze wywołania DCOM (odczyt/zapis wartości, subskrypcje) odbywają się przez ten port

Problem jest oczywisty: każda sesja DCOM może używać innego portu z zakresu tysięcy portów. To sprawia, że konfiguracja firewalla staje się poważnym wyzwaniem.

Parametry techniczne

ParametrWartość
Warstwa modelu OSI4-7 (TCP/IP + DCOM/RPC)
Port - Endpoint MapperTCP 135
Porty - sesje DCOMDynamiczne (domyślnie 1024-65535, konfigurowalny zakres)
Protokół transportowyMicrosoft RPC over TCP
UwierzytelnianieNTLM / Kerberos (konfiguracja DCOM Security)
SzyfrowanieOpcjonalne (RPC Packet Privacy), rzadko włączane
System operacyjnyWyłącznie Windows
Organizacja standaryzującaOPC Foundation
StatusZastąpiony przez OPC UA (2008), ale nadal szeroko stosowany

Ocena bezpieczeństwa

OPC Classic/DCOM jest powszechnie uznawany za jeden z najtrudniejszych do zabezpieczenia protokołów w środowiskach OT. Problemy wynikają zarówno z architektury DCOM, jak i z praktyki wdrożeniowej.

Dynamiczne porty - koszmar firewalla

Domyślna konfiguracja DCOM używa portów z zakresu 1024-65535. W praktyce oznacza to, że administratorzy albo otwierają cały zakres na firewallu (przekreślając sens segmentacji), albo konfigurują ograniczony zakres portów w rejestrze Windows - co wymaga zmian na każdym serwerze OPC i każdym kliencie.

TIP

Jeśli musisz utrzymywać OPC Classic, skonfiguruj stały zakres portów DCOM w rejestrze Windows (klucz HKLM\Software\Microsoft\Rpc\Internet). Zalecany zakres: 100-200 portów (np. 49152-49352). Następnie otwórz na firewallu wyłącznie TCP 135 + ten zakres. To nie rozwiązuje problemu bezpieczeństwa DCOM, ale ogranicza powierzchnię ataku.

Uwierzytelnianie DCOM - teoria vs. praktyka

DCOM obsługuje uwierzytelnianie NTLM i Kerberos oraz różne poziomy ochrony pakietów (od braku ochrony po szyfrowanie). W teorii można skonfigurować OPC Classic tak, aby wymagał silnego uwierzytelniania i szyfrowania.

W praktyce wygląda to inaczej:

  • Wielu producentów serwerów OPC zalecało obniżenie poziomu bezpieczeństwa DCOM, aby “rozwiązać problemy z połączeniem”
  • Konfiguracja DCOM Security wymaga precyzyjnego ustawienia uprawnień na poziomie systemu operacyjnego, komponentów COM i aplikacji - co jest skomplikowane i podatne na błędy
  • W środowiskach wielovendorowych (klient OPC jednego producenta, serwer OPC innego) problemy z uwierzytelnianiem DCOM są tak częste, że wielu integratorów ustawia minimalne zabezpieczenia
  • Starsze systemy Windows (XP, Server 2003), wciąż obecne w instalacjach OT, mają ograniczone możliwości konfiguracji DCOM Security

DCOM jako wektor ataku

Port TCP 135 (RPC Endpoint Mapper) jest jednym z najczęściej atakowanych portów w systemach Windows. Liczne exploity historyczne (MS03-026 “Blaster”, MS08-067 “Conficker”) wykorzystywały usługę RPC. Nawet jeśli współczesne systemy Windows są odporne na te konkretne exploity, otwarty port 135 pozostaje cennym celem rozpoznania - pozwala enumować usługi RPC, obiekty COM i potencjalne wektory ataku.

TIP

Skaner OPC Expert (dawniej OPC Analyzer) oraz narzędzia takie jak Wireshark z disektorem OPC DA pozwalają na audyt ruchu OPC Classic w sieci. Warto przeprowadzić taki audyt, aby zidentyfikować wszystkie aktywne sesje DCOM i zweryfikować, czy uwierzytelnianie jest faktycznie wymagane.

Brak obsługi poza Windows

OPC Classic działa wyłącznie na platformie Windows, ponieważ DCOM jest technologią Microsoft. Oznacza to, że każdy serwer i klient OPC Classic to maszyna Windows ze wszystkimi konsekwencjami - aktualizacje OS, zarządzanie kontami, ekspozycja na malware targetujący Windows.

Segmentacja sieci z OPC Classic

Segmentacja sieci zawierającej OPC Classic wymaga szczególnej uwagi ze względu na dynamiczne porty i zależność od infrastruktury Windows.

Zalecenia praktyczne

  1. Ograniczenie zakresu portów DCOM - skonfiguruj stały zakres portów w rejestrze Windows na każdym serwerze i kliencie OPC. Dokumentuj te zakresy centralnie.

  2. Reguły firewalla: TCP 135 + zakres dynamiczny - zezwalaj na TCP 135 i skonfigurowany zakres portów wyłącznie między konkretnymi parami adresów IP (klient-serwer). Blokuj ruch OPC z/do każdego innego źródła.

  3. OPC tunneling jako alternatywa - produkty takie jak Matrikon OPC Tunneller, Kepware LinkMaster czy Softing dataFEED enkapsulują ruch OPC Classic w pojedynczym tunelu TCP na ustalonym porcie. Eliminuje to problem dynamicznych portów i upraszcza konfigurację firewalla. To zalecane podejście przejściowe.

  4. Strefa DMZ dla serwerów OPC - serwer OPC, który udostępnia dane z sieci OT do systemów IT (historian, MES), powinien znajdować się w strefie DMZ. Klient OPC w IT łączy się z serwerem w DMZ, a nie bezpośrednio z serwerem w strefie OT.

  5. Hardening Windows - minimalizacja usług, blokada zbędnych portów, GPO ograniczające zdalny dostęp DCOM, wyłączenie anonimowego dostępu do RPC Endpoint Mapper.

  6. Plan migracji do OPC UA - OPC UA rozwiązuje fundamentalne problemy OPC Classic: działa na jednym konfigurowalnym porcie (domyślnie TCP 4840), obsługuje TLS, uwierzytelnianie certyfikatami X.509 i jest wieloplatformowy. Dla każdego istniejącego wdrożenia OPC Classic warto przygotować harmonogram migracji.

  7. Monitoring sesji DCOM - logowanie połączeń DCOM na poziomie systemu Windows (Event Log, DCOM audit) w połączeniu z systemem SIEM pozwala wykrywać nieautoryzowane próby połączenia.

Więcej o projektowaniu stref i korytarzy w środowiskach OT znajdziesz w artykule Segmentacja sieci OT - jak chronić systemy przemysłowe.

OPC UA - następca rozwiązujący problemy bezpieczeństwa

OPC UA (Unified Architecture) został zaprojektowany od podstaw z uwzględnieniem bezpieczeństwa:

CechaOPC ClassicOPC UA
TransportDCOM (port 135 + dynamiczne)TCP (domyślnie 4840, konfigurowalny)
UwierzytelnianieNTLM/Kerberos (konfiguracja DCOM)Certyfikaty X.509, username/password, Kerberos
SzyfrowanieOpcjonalne (RPC Packet Privacy)TLS, AES-256, RSA-2048+
System operacyjnyWyłącznie WindowsWieloplatformowy (Windows, Linux, embedded)
FirewallTrudna konfiguracja (wiele portów)Jeden port
StatusLegacy, brak rozwojuAktywny rozwój, nowe specyfikacje

Migracja do OPC UA nie zawsze jest natychmiastowa - wymaga aktualizacji oprogramowania serwera OPC, klientów i często sterowników. Ale dla każdego nowego projektu OPC UA powinien być jedynym rozważanym wyborem.

Podsumowanie

OPC Classic to protokół, który przez dwie dekady umożliwiał interoperacyjność systemów przemysłowych, ale jego architektura oparta na DCOM stanowi dziś poważne obciążenie bezpieczeństwa. Dynamiczne porty utrudniają segmentację, konfiguracja uwierzytelniania DCOM jest skomplikowana i często pomijana, a zależność od Windows Windows ogranicza opcje hardeningu. Tam, gdzie OPC Classic musi pozostać, kluczowe jest ograniczenie portów, tunelowanie i DMZ. Tam, gdzie to możliwe - migracja do OPC UA.

Narzędzia open source

NarzędzieJęzykOpisLink
OPC ExpertGUI (Windows)Darmowe narzędzie Softing do przeglądania i diagnostyki serwerów OPC Classicsofting.com
Matrikon OPC ExplorerGUI (Windows)Darmowy klient OPC Classic do przeglądania, odczytu i zapisu danych z serwerów OPC DAmatrikonopc.com
WiresharkCDisektor DCOM/OPC - analiza sesji RPC, identyfikacja serwerów OPC i operacji DCOMwireshark.org

TIP

Serwery OPC Classic udostępniają interfejsy DCOM - usługa OpcEnum na porcie 135 pozwala wylistować wszystkie zarejestrowane serwery OPC na danej maszynie Windows.

Źródła

Omówimy zakres, metodykę i harmonogram.